# Recitation: F 10:30 - 12:00, Room: GHC 4307

## Starts Monday September 12, 2011

### We will closely follow my textbook "Performance Modeling and Design of Computer Systems," which is available in the CMU bookstore. Homework1: Due Wednesday Sept 22 at start of class: 2.1, 2.2, 2.3, 3.3, 3.5, 3.6, 3.8, 3.10 Homework2: Due Wednesday Sept 29 at start of class: 3.11, 3.12, 3.14, 3.16, 5.1, 6.3, 6.4, 6.6 Homework3: Due Wednesday Oct 5 at start of class: 3.7, 4.1, 7.1, 7.3, 7.4, 7.5, 8.1, 8.2, 8.6 Homework4: Due Wednesday Oct 12 at start of class: 8.5, 9.1, 9.5, 9.7, 9.8 Homework5: Due Wednesday Oct 19 at start of class: 9.2, 9.3, 9.4, 10.2, 10.3, 12.1, 12.2, 12.3, 12.4, 12.5, 12.6 (Note: There's a sentence missing in 9.4. See this revision: Revised prob 9.4 ) MIDTERM 1: OCT 26: 10:30 a.m. - 12:20 p.m. You can bring a 3x5 index card. Homework6: Due Wednesday Nov 2 at start of class: 14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 15.1, 15.3, 15.7, 15.9, 16.5, 26.4 (Note that 26.4 was added later, replacing 16.4). Homework7: Due Wednesday Nov 9 at start of class: 26.5, 26.7, 18.1, 18.2, 16.1, 16.3, 16.4. Homework8: Due Wednesday Nov 16 at start of class: 19.1, 19.2, 19.3, 19.4, 20.1, 21.2, 21.3, 22.4. Homework9: Due Monday Nov 28 by 6 p.m. at Anshul's Office: Gates 7010: 22.2, 23.1, 24.2, 24.3, 24.5, 24.8, 26.8, 26.12, 25.4. Also do ONE of the following two choices: EITHER (i) 22.7 (parts a,c,e only) OR (ii) both 22.3 and 22.8. EXTRA CREDIT: 24.9 Note: Some of these problems do not exist in the book, so please use these: HW9 problems Homework10: Due Wednesday Dec 7 at start of class: You can SKIP any one problem. Please mark the skipped problem: 27.2, 28.2, 28.3, 28.4, 30.1, 31.1, 31.2, 31.3, 31.4 (a,b,c). Here's a mathematica file that will help you a lot in the problems from chpt 31: MathematicaFile EXTRA CREDIT: 28.5, 28.6, 28.7. MIDTERM 2: DEC 12: 10:30 a.m. - 12:30 p.m. You can bring a 3x5 index card.

#### 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 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;
• Modeling Empirical Workloads: heavy-tailed property, Pareto distributions, heavy-tailed distributions, understanding variability and tail behavior, Matrix-analytic methods;
• 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.
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.

#### PREREQUISITES:

We assume a reasonable background in probability, such as that covered in an Undergraduate Probability class. Specifically, we assumes a knowledge of continuous and discrete distributions, conditional probability, conditional expectation, moments and some previous exposure to Markov Chains. Assumed material can be found in: "Introduction to Probability Models" by Sheldon M. Ross, Chapters 1-3. Alternatively, Chapter 3 of my book covers all you need to know about probability. Note: There is an entrance exam for this class. So make sure you've got the prerequisites.

• Weekly Homeworks -- worth 45% total.
• Midterm 1 -- 20%.
• Midterm 2 -- 20% (no cumulative final).
• One grading meeting during semester -- 10%.
• Class participation -- 5%.

#### COLLABORATING vs. CHEATING:

You will receive regular homework problems. These will be difficult. Start immediately so that you can take full advantage of office hours. You will find office hours very helpful! Some of these homework problems will be repeated from previous years. The reason is that I have made up all the problems myself and it takes a very long time to think up good problems. Do not ask people who took this course in previous years to help you with the homeworks. This is considered cheating and will be reported to the dean. On the other hand, I strongly encourage you to collaborate with your current classmates to solve the homework problems after you have tried solving them by yourself. Each person must turn in a separate writeup. You should note on your homework specifically which problems were a collaborative effort and with whom.