• No results found

Figure 5.8 Average multiprogramming level.

5.7.7 I/O Service Demands

The most commonly used approximation for deriving disk i service demands (Di,r) for class r requests is

Equation 5.7.37

where is the total utilization of disk i, X0,r is the throughput of class r, and fi,r represents the fraction

of the utilization of disk i due to workload class r. Software monitors do not usually provide statistics by class. Thus, inferences have to be made from measurement data to derive fi,r. Four practical cases for

estimating fi,r are presented.

Single-class disk. When the requests to a disk are all statistically similar, the disk can be modeled using

a single class. In this case, disk i is dedicated to a single class r and there is no need to breakdown its total utilization. Thus,

Equation 5.7.38

User disk. When a disk contains only user data and is shared by several workload classes, the fraction

apportioned to each class is approximately proportional to the number of I/O operations performed by each class. Thus,

< Day Day Up >

• Table of Contents

Performance by Design: Computer Capacity Planning by Example

By Daniel A. Menascé, Virgilio A.F. Almeida, Lawrence W. Dowdy

Publisher: Prentice Hall PTR Pub Date: January 05, 2004

ISBN: 0-13-090673-5 Pages: 552

Individual organizations and society as a whole could face major breakdowns if IT systems do not meet their Quality of Service (QoS) requirements on performance, availability, security, and maintainability. Corporations stand to lose valuable income, and public interests could be put at great risk. System designers and analysts usually do not take QoS requirements into account when designing and/or analyzing computer systems, due mainly to their lack of awareness about the issues that affect

performance and the lack of a framework to reason about performance. This book describes how to map real-life systems (e.g., databases, data centers, e-commerce applications) into analytic performance models. The authors elaborate upon these models, and use them to help the reader thoroughly analyze and better understand potential performance issues.

< Day Day Up >

Equation 5.7.39

At this point, it is appropriate to consider the assumptions behind this estimate. To understand the I/O characteristics of an application, a distinction is made between two types of operations. Logical I/O

operations refer to the requests made by application programs to access file records. Physical I/O operations correspond to actions performed by the I/O subsystem to access data blocks on specific I/O

devices. There is rarely a one-to-one correspondence between logical and physical operations. At one extreme, when the data required by a logical operation are already in memory (e.g., I/O buffers), no physical I/O operations result. At the other extreme, operations such as a file open or a keyed access may require several physical operations to complete a single logical operation. In general, accounting systems record logical operations, whereas system monitors count physical operations. Because systems monitors do not collect statistics by class, the number of logical I/O operations reported by accounting systems is assumed in Eq. (5.7.39). Consequently, the proportion of physical I/O operations on disk i is assumed to equal the proportion of logical operations.

Swap disk. Swapping is a memory management mechanism that moves entire processes from main

memory and from the swapping disk. In most operating systems, the majority of swapping is due to interactive users. To represent swapping in performance models, the service demand at each disk used for swapping purposes should be specified for each class. Swapping activity is measured by the number of swap I/O operations, which include swap-ins and swap-outs. The former refers to processes moved from disk to memory, whereas the latter corresponds to processes moved from memory to disk. The swapping requests can be apportioned among the classes proportionally to the number of swap operations attributed to each class. Thus,

Equation 5.7.40

where the number of swap I/O operations is obtained from accounting data.

Paging disk. Paging moves individual pages of processes from main memory to and from the paging

disk. Paging activity generates significant I/O traffic and should be included in performance models of systems that have virtual memory. This activity is represented by the service demand of each class at the paging disks. The intensity of paging activities is measured by page-ins (i.e., pages moved from disk to memory) and and page-outs (i.e., pages moved from memory to disk). Page-ins cause delays to a program's progress, since the program has to wait until the page transfer completes. Thus, I/O

operations due to page-ins should be considered as part of a program's demand for I/O service. Page- outs, on the other hand, cause no direct delay on a program's execution since page-outs occur when the program is either idle or when the program is concurrently executing elsewhere. Thus, page-outs are usually modeled as part of the system overhead [11, 12]. When disk i is used for paging, the fraction fi,r

is approximately proportional to the number of page-ins generated by workload class r, as follows:

Equation 5.7.41

• Table of Contents

Performance by Design: Computer Capacity Planning by Example

By Daniel A. Menascé, Virgilio A.F. Almeida, Lawrence W. Dowdy

Publisher: Prentice Hall PTR Pub Date: January 05, 2004

ISBN: 0-13-090673-5 Pages: 552

Individual organizations and society as a whole could face major breakdowns if IT systems do not meet their Quality of Service (QoS) requirements on performance, availability, security, and maintainability. Corporations stand to lose valuable income, and public interests could be put at great risk. System designers and analysts usually do not take QoS requirements into account when designing and/or analyzing computer systems, due mainly to their lack of awareness about the issues that affect

performance and the lack of a framework to reason about performance. This book describes how to map real-life systems (e.g., databases, data centers, e-commerce applications) into analytic performance models. The authors elaborate upon these models, and use them to help the reader thoroughly analyze and better understand potential performance issues.

< Day Day Up >

5.8 Concluding Remarks

There are two key issues in the process of obtaining input parameters for performance models: parameter measurement and parameter estimation. With regard to measurement, it is essential to understand what is being measured, how accurate the measurements are, and how reliable the resulting numbers are. In this chapter several aspects of the measurement process were discussed. In addition, several techniques used for monitoring the level of activity of a computer system were highlighted. Parameter estimation deals with the determination of input parameters from secondary measurement data sources. Many times, monitors do not provide enough information for calculating the input

parameters required by a performance model. Assumptions have to be made regarding the behavior of the system and inferences are made in order to derive the desired parameters.

Although this chapter does not focus on any particular product or manufacturer, it provides a set of general guidelines for transforming typical measurement data into the required input parameters for performance models. The guidelines can be applied to real problems in a straightforward manner.

Because of the uncertainties associated with the process of estimating parameters, model validation is an indispensable step in the overall modeling process.

< Day Day Up >

• Table of Contents

Performance by Design: Computer Capacity Planning by Example

By Daniel A. Menascé, Virgilio A.F. Almeida, Lawrence W. Dowdy

Publisher: Prentice Hall PTR Pub Date: January 05, 2004

ISBN: 0-13-090673-5 Pages: 552

Individual organizations and society as a whole could face major breakdowns if IT systems do not meet their Quality of Service (QoS) requirements on performance, availability, security, and maintainability. Corporations stand to lose valuable income, and public interests could be put at great risk. System designers and analysts usually do not take QoS requirements into account when designing and/or analyzing computer systems, due mainly to their lack of awareness about the issues that affect

performance and the lack of a framework to reason about performance. This book describes how to map real-life systems (e.g., databases, data centers, e-commerce applications) into analytic performance models. The authors elaborate upon these models, and use them to help the reader thoroughly analyze and better understand potential performance issues.

< Day Day Up > < Day Day Up >

5.9 Exercises

Select from published literature or from product specification manuals two specific performance monitors. Briefly describe the two products and make a comprehensive list of the measurements provided by each monitor. Considering that the goal is to obtain input parameters for a performance model, discuss the positive and negative points of each of the two tools selected.

1.

The MS Excel workbook Ch05-Ex-MPG.xls contains a list of elapsed times for 100 transactions that are executed during a period of 60 seconds. What is the average number of transactions

concurrently executed?

2.

The MS Excel workbook Ch05-Ex-BW.xls contains a list of transaction CPU times and their corresponding number of I/Os. Compute the basic statistics of Fig. 5.1 and draw the Box and

Whisker plot for this data set. Draw an x-y scatter plot for the data using the CPU time as the x-axis and the number of I/Os as the y-axis. Visually cluster the workload. What are the characteristics of the centroids of the clusters identified?

3.

Suppose that the data in Ch05-Ex-BW.xls is obtained during a period of 15 seconds, that the CPU utilization is 35%, and that the disk utilization is 80%. Consider that each cluster found in the previous exercise corresponds to one class in a QN model. What is the overall throughput of the system in tps? What is the throughput for each class in tps? Compute the service demands at the CPU and disk for each of the classes.

4.

Use OpenQN.xls to solve the QN model for the previous exercise assuming that the arrival rates are equal to the class throughputs obtained in the previous exercise.

5.

A performance analyst monitored a computer system with one CPU and three disks (D1, D2, and D3) for 1 hour. The system workload consists of three different types of transactions: A, B, and C. Using data collected by the software monitor and the accounting facility, the analyst obtains the following measurements: = 82%, = 28%, =20%, = 35%C0,A = 2200, C0,B = 4000, C0,C = 1000. Determine the service demands for this workload and comment. Justify any assumptions by giving their pros and cons.

6.

Consider a server dedicated to transactions generated by phone orders from customers. The server consists of a single processor and two disks (A and B). Disk A contains customer data and disk B is used for paging. The analyst responsible for studying the system performance decides to build an analytic model with 3 service centers (i.e., CPU, disk A, and disk B) and 2 classes (i.e., one for order-entry transactions and one representing the system overhead). The measurement data obtained from the system monitor are: T = 900 sec, C0,trans = 1800, Ucpu = 65%, Udisk A = 20%,

Udisk B = 35%, page-ins = 22,500, and page-outs = 10,000. C0,trans is the number of user transactions completed during the monitoring period. The total CPU time for user transactions recorded by the accounting system is 567 sec. Assume that:

The CPU times required to handle a page-in and a page-out operation are 0.0015 and 0.0042 sec, respectively.

Page-ins should be viewed as a part of the workload demand for I/O services and should be incorporated into the disk service demands. Page-out should be include in the system overhead.

Find the input parameters for the model.

7.

Learn how to use the Windows XP or NT Performance Monitor. Write a program that generates a large number of I/Os to random blocks on a file. Add the %Idle Time counter for the PhysicalDisk

object. This counter provides the percentage of disk idle time (i.e., 100-disk utilization). From the Control Panel select the System icon and then select the Hardware tab. Click on the Device Manager

• Table of Contents

Performance by Design: Computer Capacity Planning by Example

By Daniel A. Menascé, Virgilio A.F. Almeida, Lawrence W. Dowdy

Publisher: Prentice Hall PTR Pub Date: January 05, 2004

ISBN: 0-13-090673-5 Pages: 552

Individual organizations and society as a whole could face major breakdowns if IT systems do not meet their Quality of Service (QoS) requirements on performance, availability, security, and maintainability. Corporations stand to lose valuable income, and public interests could be put at great risk. System designers and analysts usually do not take QoS requirements into account when designing and/or analyzing computer systems, due mainly to their lack of awareness about the issues that affect

performance and the lack of a framework to reason about performance. This book describes how to map real-life systems (e.g., databases, data centers, e-commerce applications) into analytic performance models. The authors elaborate upon these models, and use them to help the reader thoroughly analyze and better understand potential performance issues.

< Day Day Up >

The workload of a database server is characterized by three types of transactions: trivial, medium, and complex. The database server, which consists of one CPU and one disk, is monitored during one hour. The CPU utilization is measured at 55% and the disk utilization is measured to be 85%.

Additional measurements obtained during the observation period are shown in Table 5.10.