Modeling and Performance Evaluation

Description

This course will cover the fundamentals of the techniques of modeling and performance evaluation of computer systems. Designing computer systems invoves analyzing the cost-benefit tradeoffs. For example, one might need to guarantee a response time SLA or certain throughput requirement, while at the same time staying within a power budget or cost budget. On the other hand, one often has many choices: One fast disk, or two slow ones? More memory, or a faster processor? A fair scheduler or one that minimizes mean response time? The best choices are often counter-intuitive. Ideally, one would like to have answers to these questions before investing the time and money to build a system. This class will introduce students to analytic stochastic modeling with the aim of answering the above questions.

Topics covered:
  • Operational Laws: Little's Law, response-time law, asymptotic bounds, modification analysis, performance metrics;
  • Markov Chain Theory: discrete-time Markov chains, continuous-time Markov chains, renewal theory, time-reversibility; Poisson Process: memorylessness, Bernoulli splitting, uniformity, PASTA;
  • Queueing Theory: open networks, closed networks, time-reversibility, Renewal-Reward, M/M/1, M/M/k, M/M/k/k, Burke's theorem, Jackson networks, classed networks, load-dependent servers, BCMP result and proof, M/G/1 full analysis, M/G/k, G/G/1, transform analysis (Laplace and z-transforms);
  • Simulations: time averages versus ensemble averages, generating random variables for simulation, Inspection Paradox;
  • Fluid Modeling: Mean value models for fundamentally discrete valued processes like TCP;
  • Management of Server Farms: capacity provisioning, dynamic power management, routing policies;
  • Analysis of Scheduling: FCFS, non-preemptive priorities, preemptive priorities, PS, LCFS, FB, SJF, PSJF, SRPT, etc.
Prerequisites
  • Some familiarity with Operating Systems and Networks
  • A high comfort level with concepts of Probability (say B or better in a senior/graduate level course in Probability)
  • Comfort with a high level language like C, C++ or Java (or MATLAB)
Textbook
Performance Modeling and Design of Computer Systems: Queueing Theory in Action, by Mor Harchol-Balter
Time and location, Spring 2014:
Thursdays: 10:10A-12:00P, Mudd 1127