In designing computer systems one is usually constrained by certain performance requirements. For example, certain response times or throughput might be required of the system. On the other hand, one often has many choices: One fast disk, or two slow ones? What speed CPU will suffice? Should we invest our money in more buffer space, or a faster processor? Which migration policy will work best? Which task assignment policy will work best? How can we redesign the scheduling policy to improve the system performance? Often answers to these questions are 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 the participants to analytic stochastic modeling with the aim of answering questions such as those above. Topics covered include Operational Laws, Markov Chains, Queuing, Scheduling, Modeling Empirical Loads, Simulations, and Management of Server Farms.
3, 6, 9, or 12 hours
Yes, this course can be tailored to different audiences (with level of technicality varying for different audiences). The 3-hour version of the course will provide a high-level overview and focus on a subset of course topics, while the 12-hour version will cover all listed topics and include interactive activities for hands-on learning.
In-Person or Remote
Remote, in-person, or hybrid
This course is appropriate for professionals working in technology.
- Principled methods to understand trade-offs in computer system design.
- Optimal scheduling policies, server farm design.
- More broadly, participants will learn how to best allocate limited resources under uncertainty (in demand, performance, etc.)
- Operational Laws: Little's Law, response-time law, performance metrics;
- Markov Chains
- Management of Server Farms: capacity provisioning, dynamic power management, routing policies;
- Analysis of Scheduling Policies
- Modeling Empirical Workloads: heavy-tailed property, Pareto distributions, heavy-tailed distributions, understanding variability and tail behavior, Matrix- analytic methods;
No specific programming languages are necessary, though a background in CS or IT is helpful is required for the more technical version of the course.
A copy of all presented information will be provided to participants.
To learn about our custom programs and any upcoming open enrollments, reach out to Michael Lisanti.