Tutorial: Creating a Baseline Server Model (with...

Post on 06-Nov-2020

4 views 0 download

Transcript of Tutorial: Creating a Baseline Server Model (with...

Creating a Baseline Server Simulation Model (with calibration)

Objectives

This tutorial is for users who have characterized their server models and intend to use their characterized server data to create a server simulation model. This tutorial also gives an insight into how SCE creates and configures attributes on a server simulation model. It is also important to ensure that a server simulation model created using SCE mimics the behavior of the real world server, so, calibration of the server simulation model is also discussed in this tutorial.

• Create a server simulation model from server data characterized in SCE

• Review the hardware configuration and job definition attributes

• Calibration

1

Overview

You will be looking at a pre-defined server characterization which you will use to create the server simulation model. The data imported in SCE was collected on a ClearCase VOB server while the server was being backed up. The processes running on the server have been assigned to four jobs:

• Backup – the backup application

• ClearCase – the ClearCase VOB server processes

• OpenView Performance Tools – HP OVPA performance monitoring processes

• System – all other processes

Now, you will create, review and calibrate a server simulation model from this server characterization.

2

Create a Server Simulation Model from Server Data Characterized in SCE

In order to create a server simulation model, follow these steps:

• Analyze Server Characterization

• Observe CPU Statistics

• Create a simulation model of the Server

Analyze Server Characterization

1 Start Modeler.

2 Choose File > Open…

3 In the dialog box that appears, set the file type to Server Characterization, navigate to the <install_dir>/<release>/models/std/tutorial_req/module directory, and open the file ccvobsrv.

The ccvobsrv server characterization file contains data about a Clearcase VOB server. We are going to look at this server’s characterization file and use it to build a server simulation model.

3

4 In the Server Characterization Editor dialog box, click the ClearCase job in the job list.

Note that when you click on a job, the list of processes/threads associated with that job are displayed as a table to the right of the jobs list. Scroll through the columns of the processes/threads table, and note that the table data can be sorted by a column by clicking on any of the columns.

4

5 Choose File > Properties…

The Import properties dialog box gives us information about the server from which the data was collected. Note that the name of the server is ccvobsrv; it has 2 CPUs and runs on Solaris.

Based on the operating system and the number of CPUs, SCE creates a generic server of type Solaris (2 CPU) and sets it as the measured system. The generic system type facilitates single platform studies only. If you plan to perform cross-platform studies then you should change the system type. In this tutorial, you will look at single platform studies only, so the defaults should suffice.

6 Click on Cancel to close the dialog box

5

Observe CPU Statistics

You will now look at the CPU utilization of the server during the data capture. This value will be used for calibrating the server simulation model created by SCE.

6

1 From the SCE Main window, choose Graph > Graph Statistics and expand Global Statistics. Now, select CPU Usage and click Show.

Note that the CPU utilization varies between 30% and 75% (averaging around 47%).

7

2 Close the graph panel and the Graph Statistics dialog box.

3 Save the SCE model by choosing File > Save.

4 Review the hardware configuration and job definition attributes of the resulting server model.

8

Create a Simulation Model of the Server

In this section, you will create a server simulation model.

1 Click on the SCE Simulation Wizard tool button or choose Simulation > Discrete Event

Simulation to open the SCE Scenario Creation Parameters dialog.

The SCE Scenario Creation Parameters dialog box helps you create a server simulation model by using the data present in the server characterization. You may choose to run a simulation on this server directly, but in this case, you will first analyze the created server simulation model, and then run a simulation to calibrate the server simulation model.

9

2 Uncheck the Run Simulation checkbox and click OK.

3 If you get the Overwrite Scenario? dialog box, click Overwrite.

Note the Project Editor that comes up with two objects: Server Config and server_node. The Server Config object contains all definitions pertaining to servers in the network (eg. Disk Drive Definitions, Operating System Definitions),

10

and the server_node object contains the actual server’s hardware configuration and job configuration.

11

Review the hardware configuration and job definition attributes

Now, you will review the server configuration attributes configured by SCE.

The main structured attributes to look at are

• Job Definitions

• Hardware Configuration

Job Definitions

First, look at Job Definitions.

1 Right-click on the Server Config object, select Edit Attributes and edit the Job Definitions attribute.

The job definitions table lists the job properties of the four jobs defined in SCE. The information specified here, average CPU time, number of page faults, etc., is independent of the server on which jobs are running.

12

2 Review the attributes and close all open dialog boxes by clicking on Cancel.

Hardware Configuration

Next, look at Hardware Configuration.

1 Right-click on the server_node object and select Edit Attributes.

13

2 Expand the Servers attribute and then the Server: Advanced Server Configuration attribute.

Note the Server Type attribute is set to Solaris (2 CPU) as specified in SCE.

14

The CPU Partitions attribute lets you configure CPU partitions also known as “processor sets” on the server. Each partition has a specific number of CPUs assigned to it, and also has its own operating system and paging system.

3 Edit CPU Partitions attribute.

SCE configures a single CPU partition that consists of all CPUs and uses the operating system specified in the server definition.

4 Edit the Paging System Definition of the first CPU partition.

15

SCE identifies the read/write count per page fault by looking at the I/Os performed by the process associated with paging, and then configures the server with this information.

5 Edit the Storage Access Distribution attribute.

SCE cannot identify which storage partitions are used for paging, so it lists all the partitions.

16

6 Click on Cancel on the 3 attribute tables related to CPU Partitions attribute, and then edit the Local Storage Subsystem attribute.

➥ The Local Storage Subsystem table lists the disk interfaces on the server and the disks attached to these disk interfaces.

17

7 Edit the Interface Configuration attribute.

SCE does not obtain the disk interface type by default, so the interface type of all disk interfaces is set to Ultra160 SCSI.

8 Edit the Interface Channels attribute of interface c1, and then edit the Disk Configuration attribute.

18

Because SCE does not obtain the disk type information, the default disk type of all disks is set to Seagate Cheetah X15.

9 Click on Cancel on the 4 attribute tables related to Local Storage Subsystem attribute and edit the Storage Partitions attribute.

Jobs do not access disks directly, rather they read from/write to logical partitions, and the Storage Partitions attribute lets you define logical partitions on the server. This information is not available in SCE from the imported server data file, so SCE creates a storage partition for each disk. As for disks whose average response time information is available in the imported server data file, SCE sets the associated storage partition to be a measured access storage partition.

19

10 Edit the Measured Access attribute of the first row

From the data, the access time is set as an exponential distribution to be used during simulation. The transfer rate is also set based on observed data.

11 Close the attribute tables related to Storage Partitions attribute, by clicking on Cancel, and edit the Job Definitions attribute.

20

The job definitions table lets you specify the server dependent information such as how often an instance of the job is to be created, which storage partitions to access, etc. A row is present in this table for each job defined in SCE.

12 Edit the Storage Read Access Distribution attribute of the first job.

SCE does not know the storage partitions accessed by an individual job, so SCE configures all jobs to access all the storage partitions and associates the number of reads/writes on the disk as their access weight.

21

13 Click Cancel to close the (Storage Read Access Distribution) table and edit the Storage Write Access Distribution attribute of the first job.

Note that access weights are different from those specified reads.

14 Click Cancel to close the (Storage Write Access Distribution) table, and edit the Transaction Trigger Mechanism attribute of the first job.

The default SCE configuration for triggering transactions is for all jobs to run from start of simulation for the duration of simulation. It also

22

uses the job properties specified in SCE to identify how often an instance of the job is created.

15 Close all open attribute dialogs, by clicking Cancel.

23

Run Simulation

Now run the simulation.

1 In the Server Simulation Operations dialog box, click Run Simulation.

2 Once the simulation completes, click on Close in the Simulation Sequence dialog.

24

Compare CPU Utilization Statistics

Compare the CPU utilization statistics:

1 In the Server Simulation Operations dialog box, click View Results.

2 In the Server Delay Statistics by Job dialog, click on Additional Results to close that dialog box and open View Results dialog box.

3 In the View Results dialog under Object Statistics, expand the following branches: Server_Subnet > server_node > Server Jobs.

25

Now scroll down the list of statistics, and select the CPU Total Utilization (%) statistic, then click Show.

Note that the CPU Total Utilization% graph now shows up. The values in this graph are present as they were recorded during the simulation. In the next step, we will try to look at an average of these values, so that we may compare it with the value we saw in SCE.

4 Move the panel aside, and in the View Results dialog, change the statistic filter to average and click Add.

26

5 Move the cursor to the panel displaying the original CPU Total Utilization (%) graph and click on the graph to overlay the average and instantaneous CPU utilization results. Now, click Close in the View Results dialog.

The new red line in the graph represents the average value of CPU Utilization, and you may note that it is around 50%. Now compare the CPU Utilization reported by SCE with the graph value, and you may see that the simulation results are close to the SCE value. So you now have a simulation model that produces results close to real world data. In most server simulation models where the CPU Utilization is further away from the data imported into SCE, there might be

27

configuration issues with the server simulation model in terms of hardware configuration or job detail configuration. These may arise due to incomplete or incorrect information given to SCE to create the simulation model. Such issues can be easily resolved by manually changing the attributes you observed in the course of this tutorial. In short, SCE helps you create a fairly accurate server simulation model quickly, which can be reviewed, refined, and calibrated to match the behavior of your real world server.

28

Configuring Storage Partitions with Calibration

Now that we have verified all the attributes of our baseline server simulation model, the next step is to further refine our model. The baseline server model SCE creates measured storage partitions by default. However, measured storage partitions do not model I/O contention. In this section we will define a local storage partition that will model the I/O contention for a RAID 5 partition. This will further increase our model accuracy. These are the steps you will perform:

• Configure RAID 5 partition

• Calibrate storage partition

• Run simulation and validate results

1 Duplicate the Baseline scenario by selecting Scenarios > Duplicate Scenarios… Name the scenario Calibration.

2 Right-click on the server_node object and select Edit Attributes.

29

3 Expand the Servers attribute and then the Server: Advanced Server Configuration attribute.

4 Edit the Local Storage Subsystem.

5 Edit the Interface Configuration.

6 Configure the interface c0 to ATA/UDMA-133.

30

6.1 The system administrator has informed you that the RAID 5 partition on interface c0 is a UDMA-133 interface. Change the interface type of c0 to ATA/UDMA-133.

7 Edit the Interface Channels of c0. Double-click (…).

Notice that three disks are on this interface. These disks all belong in the RAID 5 partition. By default SCE assigns the disk type to Seagate Cheetah…

31

8 After talking with the systems administrator, you find out that the disk models are IBM Deskstar 120XP. Change the disk type of all three disks to IBM Deskstar 120GXP.

9 Click OK four times. You should now only have the server_node Attributes dialog open.

32

10 Edit the Storage Partitions.

Notice that the three disks on interface c0 from step 8 are listed first.

The main RAID 5 partition is called c0t0d0s. Notice SCE was able to configure this partition as a measured storage partition. Also notice c0t1d0s and c0t6d0s have not been configured by SCE, because these two partitions actually form the RAID 5 partition. We will now delete these partitions and define them correctly as part of the c0t0d0s partition.

10.1 Select c0t1d0s and click Delete. Repeat the procedure for c0t6d0s.

11 Now we will configure c0t0d0s as a RAID 5 partition.

33

11.1 Change Partition Type to Local.

11.2 Edit theDirect Attached attribute for c0t0d0s.

11.3 Double-click on disks.

11.4 Change the row count to 3, and select the disks that you deleted earlier: c0t1d0s and c0t6d0s.

11.5 Click OK.

34

11.6 Change the RAID Configuration to RAID 5. Set the stripe size to 64k. Click OK.

11.7 Click OK.

12 Now we will set the paging system to correctly access only the RAID 5 partition you have defined.

12.1 Edit the CPU Partitions.

12.2 Edit the Paging System Definitions.

12.3 Edit the Storage Access Distribution.

35

12.4 Change the Rows value to 1.

12.5 Click OK on all open attribute dialogs.

➥ You should now see the Project Editor screen.

13 Run discrete event simulation by choosing DES > Configure/Run Discrete Event Simulation…

14 Click Run.

15 After the simulation finishes, click Close.

16 Open the View Results dialog box.

16.1 In the View Results dialog box, under Object Statistics, expand the following branches: Server_Subnet > server_node > Server Jobs.

16.2 Now scroll down the list of statistics and select the CPU Total Utilization (%) statistic.

36

16.3 Change the graph to average and click Show.

Notice the average CPU utilization is now converging to 48%. Compare this to the actual average reported by SCE at 46% and the previous simulation result before model refinement of 50%. Because we have further refined our server model to accurately reflect the I/O subsystem, we have improved our model accuracy by 2%. You can further improve the model by continuing to define the rest of the storage partitions.

37