Figure 5.8 Average multiprogramming level.
5.7.6 CPU Service Demand
As seen in the example in Section 5.3, the basic formula for deriving the average CPU demand of class r is
Equation 5.7.31
< 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 >
monitors obtain total device utilizations but do not collect these statistics by class. Partial device
utilizations by workload class are typically derived from accounting data. Since most accounting systems are intended primarily for billing purposes, they do not include any unaccountable system overhead. Consequently, it is usual to have the following relation:
Equation 5.7.32
where is the CPU utilization of class r measured by an accounting software package. In other words, the resource usage of all programs does not add up to the global utilization observed by a software monitor. There are reasons for this inconsistency. First, some of the resources used by the operating system on behalf of application programs are not charged back to the application programs. For example, accounting software does not collect CPU time expended by the system in activities such as job initiation/termination, job scheduler, multiprogramming, context switching, and virtual storage support. Second, when a monitor operates on a sampling basis, the resource usage after the last sample before a program terminates is lost. The CPU time not collected by measurement tools is known as
uncaptured time. The problem is how to distribute all unaccounted resource use among the classes of a
workload in a fair manner. Most of the unattributed CPU time is likely to be overhead and must be apportioned among the workload classes.
The CPU utilization by each class can be written as
Equation 5.7.33
where fcpu,r is the relative fraction of the total CPU time used by class r. The apportionment factor fcpu,r may be estimated in different ways, depending on the assumptions about the workload and the execution environment (hardware and operating system) [4].
Assuming that the unaccounted CPU time is proportional to the number of programs executed in each class during the monitoring period, one viable definition of fcpu,r is
Equation 5.7.34
where C 0,s is the number of class s completions observed. In this case, the overhead is evenly distributed over all completing job. The shortcoming of this method is that the nature of programs being executed is not considered. That is, a 'heavyweight" program and a "lightweight" program are assumed to have equal overhead burdens.
Based on the assumption that the amount of unaccounted time is proportional to the accounted CPU time, an alternative definition of fcpu, r is
• 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 >
where is the CPU utilization of class s obtained from an OS software monitor. The problem with this approximation is that the unattributed CPU time may not be related to the accounted time. For instance, the amount of CPU time accumulated for interactive applications built on top of time- sharing systems (e.g., IBM's TSO) is considerably less than the same work done in batch mode [10].
Assuming that most overhead is connected with the execution of I/O requests, a third apportionment factor for CPU time is given by
Equation 5.7.36
Because of the uncertainties surrounding fcpu,r, the selected approximation is a design decision based on the particular problem and the particular workload. After solving the model, the results obtained can be used to validate the approximation selected. If the model does not match observed behavior, an
alternative definition of fcpu,r may be selected.