Probability is a prerequisite for this class. Upon registration, you will receive review chapters on probability, which you are responsible for.
INSTRUCTORS:
Office Hours:
DESCRIPTION:
In designing computer systems one is usually constrained by certain
performance requirements and limitations. 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? For multi-server systems, one
can choose from a wide array of load balancing policies, a wide array
of migration policies, capacity provisioning schemes, power management
policies ... The possibilities are endless. 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 include:
- 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 systems, closed systems, M/M/1, M/M/k, M/M/k/k, 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.
- Modeling Empirical Workloads: heavy-tailed property,
Pareto distributions, heavy-tailed distributions, understanding variability and
tail behavior.
- 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, plus the latest scheduling research: SOAP.
- Applications to Today's Datacenters:
Scheduling for multiserver system, resource allocation for multi-dimensional jobs, c-mu rule for maximizing value, parallel jobs with different speedup functions.
Throughout, the theory developed will be applied to a wide array of computer systems design problems including the design of efficient data centers, web servers, DBMS, disks, call centers, routers, and supercomputer centers.
The techniques studied in this class are useful to students in
Computer Science, ECE, Mathematics, ACO, Tepper, Statistics, MLD, and Engineering. This course is packed with open problems -- problems which if solved
are not just interesting theoretically, but which have huge
applicability to the design of computer systems today.