Performance Modeling and Design of Computer Systems
Computer systems design is full of conundrums:
</br>
</br>•Given a choice between a single machine with speed s, or n machines each with speed s/n, which should we choose?<br/>
</br>•If both the arrival rate and service rate double, will the mean response time stay the same?<br/>
</br>•Should systems really aim to balance load, or is this a convenient myth?
</br>•If a scheduling policy favors one set of jobs, does it necessarily hurt some other jobs, or are these “conservation laws” being misinterpreted?<br/>
</br>•Do greedy, shortest-delay, routing strategies make sense in a server farm, or is what's good for the individual disastrous for the system as a whole?<br/>
</br>•How do high job size variability and heavy-tailed workloads affect the choice of a scheduling policy?<br/>
</br>•How should one trade off energy and delay in designing a computer system?<br/>
</br>•If 12 servers are needed to meet delay guarantees when the arrival rate is 9 jobs/sec, will we need 12,000 servers when the arrival rate is 9,000 jobs/sec?<br/>
</br>
Tackling the questions that systems designers care about, this book brings queueing theory decisively back to computer science. The book is written with computer scientists and engineers in mind and is full of examples from computer systems, as well as manufacturing and operations research. Fun and readable, the book is highly approachable, even for undergraduates, while still being thoroughly rigorous and also covering a much wider span of topics than many queueing books.
Readers benefit from a lively mix of motivation and intuition, with illustrations, examples, and more than 300 exercises – all while acquiring the skills needed to model, analyze, and design large-scale systems with good performance and low cost. The exercises are an important feature, teaching research-level counterintuitive lessons in the design of computer systems. The goal is to train readers not only to customize existing analyses but also to invent their own.
- Fun and readable, the book is approachable, even for undergraduates, while still being rigorous and covering a wider span of topics than many queueing books
- Brings queueing theory decisively back to computer science through a lively mix of motivation, intuition, illustrations, examples and over 300 exercises
- Readers acquire the skills needed to model, analyze and design large-scale systems with good performance and low cost
Product details
February 2013Adobe eBook Reader
9781139603966
0 pages
0kg
215 b/w illus. 11 tables 300 exercises
This ISBN is for an eBook version which is distributed on our behalf by a third party.
Table of Contents
- Part I. Introduction to Queueing:
- 1. Motivating examples
- 2. Queueing theory terminology
- Part II. Necessary Probability Background:
- 3. Probability review
- 4. Generating random variables
- 5. Sample paths, convergence, and averages
- Part III. The Predictive Power of Simple Operational Laws: 'What If' Questions and Answers:
- 6. Operational laws
- 7. Modification analysis
- Part IV. From Markov Chains to Simple Queues:
- 8. Discrete-time Markov Chains
- 9. Ergodicity theory
- 10. Real-world examples: Google, Aloha
- 11. Generating functions for Markov Chains
- 12. Exponential distributions and Poisson Process
- 13. Transition to continuous-time Markov Chains
- 14. M/M/1 and PASTA
- Part V. Server Farms and Networks: Multi-server, Multi-queue Systems:
- 15. Server farms: M/M/k and M/M/k/k
- 16. Capacity provisioning for server farms
- 17. Time-reversibility and Burke's Theorem
- 18. Jackson network of queues
- 19. Classed network of queues
- 20. Closed networks of queues
- Part VI. Real-World Workloads: High-Variability and Heavy Tails:
- 21. Tales of tails: real-world workloads
- 22. Phase-type workloads and matrix-analytic
- 23. Networks of time-sharing (PS) servers
- 24. M/G/I queue and inspection paradox
- 25. Task assignment for server farms
- 26. Transform analysis
- 27. M/G/I transform analysis
- 28. Power optimization application
- Part VII. Smart Scheduling:
- 29. Performance metrics
- 30. Non-preemptive, non-size-based policies
- 31. Preemptive, non-size-based policies
- 32. Non-preemptive, size-based policies
- 33. Preemptive, size-based policies
- 34. Scheduling: SRPT and fairness.