200 likes | 329 Views
Quantitative System Analysis. Approaches. One is the use of intuition and trend extrapolation . To be sure, there are few substitutes for the degree of experience and insight that yields reliable intuition. Unfortunately, those who possess these qualities in sufficient quantity are rare.
E N D
Approaches • One is the use of intuition and trend extrapolation. To be sure, there are few substitutes for the degree of experience and insight that yields reliable intuition. Unfortunately, those who possess these qualities in sufficient quantity are rare. • Another is the experimental evaluation of alternatives. Experimentation is always valuable, often required, and sometimes the approach of choice. It also is expensive - often prohibitively so. A further drawback is that an experiment is likely to yield accurate knowledge of system behavior under one set of assumptions, but not any insight that would allow gen-eralization. • Intuition is rapid and flexible, but its accuracy is suspect because it relies on experience and insight that are difficult to acquire and verify. Experimentation yields excellent accuracy, but is laborious and inflexible. Between these extremes lies a third approach, the general sub-ject of this book: modeling.
Models • Quantitative – Match measurements on system • Qualitative – Match general behavior of system
Queuing Models • Queuing network modeling - the computer system is represented as a network of queues which is evaluated analytically. • A network of queues is a collection of service centers, which represent system resources, and customers, which represent users or transactions. Analytic evaluation involves using software to solve efficiently a set of equations induced by the network of queues and its parameters.
Single Service Center • Specify • Workload Intensity • Service Time • Calculate • Utilization • Residence Time • Queue Time • Throughput
Example • Assume experimental data says that at • .4 arrivals per second • Utilization 40% • average system response time perceived by users: 2 seconds • What if you move to .6 arrivals per second, what should your response time be? • It appears that the system takes around 1 second per arrival. Where is the rest of the time? • How does this compare to simulation results?
Parameters • CPU Utilization = .6 • System response time=32 seconds • Concurrent Transactions 6.4 • System Throughput .2 transactions/sec
Modification Analysis • What if we balance the I/O activity among the disks? (We set the service demand at each disk to (1+2+4)/3= 2.33 seconds and re-evaluate the model. Response time drops from 32.1 seconds to 20.6 seconds.) • What if the workload subsequently increases by 20%? (We set the arrival rate to 0.2X 1.2 = 0.24 requests/second and re-evaluate the model. Response time increases from 20.6 seconds to 26.6 seconds.) • What if we then upgrade to a CPU 30% faster? (We set the service demand at the CPU to 3/1.3 = 2.31 seconds and re-evaluate the model. Response time drops from 26.6 to 21.0 seconds.)
Accuracy • Within 5-10% for Utilization • Within 10-30% for delay • Matches accuracy of workload measurements and response times.
Queuing Theory vs Simulation • Simulation more flexible • Can deal with any traffic • Can modify details of service • Expensive in simulation time • Hard to program • Queuing Models • Strict Assumptions • Difficult Mathematics • Easy to predict results from changes that are allowed
Modeling Study • Keep it simple • Over constrained system can lead to inaccuracies. • Adequate measurements • CPU utilization, network utilization can be difficult to measure. Pick things that you can get to. • Easy to evaluate • Pick models that can be easily evaluated
Modeling Cycle • Create a baseline • Make Predictions • Verify results • Extrapolate
Workload Characterization • What is a typical workload? • On a router, is it UDP, TCP, HTTP, FTP • Should measurements be averaged, or should you look at the worst case? • How sensitive is the model to errors in workload characterization? • Evaluate the model for the bonds on accuracy of the measurement
Value of queuing models • Insights while creating model • Recognize factors that were not apparent before the modeling • Determine sources of poor performance in complex system • Predict performance when changes are made • Can handle large systems • Extensive analysis with a small amount of data