CS 723/823: Performance Evaluation of Computer Systems

(Coordinator: Elizabeth Varki)

Catalog description

Introduces the main concepts, techniques, and tools needed to evaluate the performance of computer systems under various configurations and workloads. The techniques allow one to perform capacity planning based on quality of service requirements of users and workload characteristics. Course is mainly based on the use of analytic queuing network models of computers systems. The performance techniques are applied to study the performance of centralized, distributed, parallel, and client/server systems. The course also discusses performance measuring tools for operating systems such as Unix and Windows NT. Prereq: CS 620 or equivalent.


  • This course is one of the CS electives.
  • This course can be combined with a CS–696W module to satisfy a Writing Intensive requirement.


  • principles of operating systems.
  • principles of computer organization and architecture.
  • principles and techniques of calculus, probability and statistics, and mathematical proof techniques.
  • think abstractly and reason logically about computer science problems.
  • principles and techniques of a range of advanced topics in computer science.


Assignments (40%), weekly quizzes (15%), one midterm exam (20%) and one comprehensive final exam (25%).


  • overview of performance techniques.
  • performance models.
  • probability theory in relation to performance.
  • Markov processes and Markov chains as a tool for evaluating performance.
  • Queuing models that underlie computer systems.
  • performance tools
  • case studies


  • Performance by Design: Computer Capacity Planning by Example, by D. Menasce, V. Almeida, and L. Dowdy, Prentice-Hall, (2004).