Back home

CSc 841: Computer Performance Evaluation

Instructor Dr. Jozo J. Dujmovic
(English spelling: Yozo Dooymovich)
Office: Thornton 906(MWF 11-12 a.m.)
Phone: (415) 338-1108
Objectives A systematic presentation of specific analytic, measurement, and simulation methods for computer systems performance analysis. The course prepares students to effectively solve computer performance analysis problems related to the capacity planning, management, design, tuning, and comparison of computer systems.


Prerequisites for this course are CSC 656 or ENGR 456, or consent of instructor. The course is offered to graduate students and advanced undergraduate students.
Content Computer performance analysis is required at any stage in the life cycle of a computer system, including system design, system selection/procurement, and system use/tuning. The first problem is to predict the values of performance indicators of a computer system during its design and development. Then, in the area of system comparison and selection the problem is to evaluate and compare the performance of existing competitive systems, which are assumed to be available for performance measurements. In the area of system management the problem is to improve the performance level of existing operational computer systems. The main techniques for computer performance analysis include (1) analytic modeling (queuing theory, and operational analysis), (2) simulation (the use of specialized simulators, and general purpose simulation languages), and (3) measurement (benchmarking based on natural and synthetic workloads). This course includes the presentation of all main techniques for computer performance analysis. At the beginning individual performance indicators for all major components of the computer hardware and software are presented. This analysis includes main memory, processors, channels, disks, tapes, printers, compilers, and operating systems. The central part of the course is devoted to stochastic, operational, and simulation techniques for modeling the dynamic behavior and for computing performance indicators of a variety of complex computer systems. The techniques for workload characterization, benchmark design, monoprogramming performance measurement, multiprogramming performance measurement, and interactive performance measurement are also presented. In addition to theoretical results the course also includes experimental computer performance analysis techniques and laboratory experiments with modern HW/SW systems.
Text R. Jain, The Art of computer systems Performance Analysis. J. Wiley, 1991.
  • R. Jain, The Art of Computer Systems Performance Analysis. J. Wiley, 1991.
  • J.J. Dujmovic, CSc841 Reader: Computer Performance
  • Evaluation. SFSU, 1996.
  • A.O. Allen, Probability, Statistics, and Queueing Theory with Computer Science Applications. Second Edition, Academic Press, 1990.
  • A.O. Allen, Introduction to Computer Performance Analysis with Mathematica. Academic Press, 1994.
  • T. Browning, Capacity Planning for Computer Systems. Academic Press, 1995.
  • R. Grace, The Benchmark Book. Prentice Hall, 1996. M.K. Molloy, Fundamentals of Performance Modeling. Macmillan, 1989.
  • E.D. Lazowska et al., Quantitative System Performance. Prentice-Hall, 1984.
  • L. Lipsky, Queuing Theory. Maxwell Macmillan, 1992.
  • K.S. Trivedi, Probability and Statistics with Reliability, Queuing, and Computer Science Applications. Prentice-Hall, 1982.
  • D. Ferrari et al., Measurement and Tuning of Computer Systems. Prentice-Hall, 1983.
  • ACM SIGMETRICS Performance Evaluation Review. CMG Transactions and Proceedings.
  • Performance Evaluation.
  • IEEE Transactions on Software Engineering.
Methods Instructional methods include lectures, practical laboratory work (performance measurement and modeling), homework assignments (projects), reading and presentation of recent research papers, as well as participating in PERNET presentations.
Grading Homework , 20 points
Midterm exam , 30 points
Final exam , 50 points
PERNET / Extra work , 5 points.