ECE/CS 541 and CSE 524:
Computer Systems Analysis

Fall 2009

Time and Location 9:30-10:45 a.m. Tuesday and Thursday, 106B3 Engineering Hall.

Prof. David M. Nicol
(dmnicol AT
457 Coordinated Science Lab
office: 244-1925

Office Hours

Monday, 3:00-5:00 p.m., and by appointment. I'm happy to make appointments for other times. Contact me, or better still, my assistant, Keri Frederick (kfreder, 333-3546), to set up an appointment.

Teaching Assistant Elizabeth Van Ruitenbeek, (evanrui2 at crhc dot uiuc dot edu). Office hours Monday 2-3 p.m., Wednesday 1-2 p.m. CSL 231.
Discussion Board We're using a Compass site
Lecture Topics (tentative) and Slides (works in progress)






Other Handouts




No required text. Lecture slides will be distributed via the class Compass site. There will be readings from research papers and texts on reserve at the Grainger Engineering Library.


ECE 413 (formerly 313) or equivalent. At least one 400-level or higher course in computer architecture or networks.


ECE 541/CS 541/CSE 524 is a comprehensive introduction to methods for computer system and network analysis. It focuses on methods that are applicable to a wide range of systems and practical uses and implementations of these methods. Broadly speaking, the course is divided into two parts: analytic/numerical modeling, and simulation. Each of these approaches to computer system and network analysis has important uses, and will be covered in detail. Using each of these methods, the course will address models for performance, dependability (reliability and availability), security (availability, integrity, confidentiality), survivability, and performability (combined performance/dependability/security) analysis.

In doing so, it will first briefly review stochastic processes, as applied to computer system and network analyses. It will then study dependability-specific methods (fault trees, reliability block diagrams), single queues, networks of queues, and product-form analysis techniques. Finally, it will address techniques based on stochastic Petri nets and stochastic activity networks, which are appropriate for performability analysis. In doing so, it will briefly address numerical issues in the solution of both steady-state and transient models.

The simulation portion will first provide an overview of process and discrete-event-based simulation. It will then address the issues of random variable generation, and issues related to simulator execution: initial transient determination, stopping criteria, statistical issues, and design of experiments. Finally, we will discuss techniques to speed up a simulation, including variance reduction techniques.

This course is intended to be a fun, interactive introduction to computer system analysis. Hands-on learning, through the use of software tools in homework and projects, will be emphasized. Students from all areas of electrical and computer engineering and computer science, as well as other engineering disciplines, are encouraged to enroll.

Grading Policy

Grades will be assigned based on performance on homeworks, reading reports, 2 projects, a mid-term, and a take-home final. The weight assigned to each component will be as follows: Projects, 40% (two at 20% each); Homework/Reading Reports, 10%; Midterm (take home), 25%; and Final (take home), 25%.

Course Rules

  1. Reading reports and homeworks must be done individually. General ideas regarding homework may be discussed (this is encouraged), but the work handed in must be your own.
  2. Projects and the presentation will be done in groups. Students must clearly state their contributions to the project and make individual presentations. Different grades may be assigned to different people in a project.
  3. All work must be completed during the semester; no incompletes will be given except under extenuating circumstances.
  4. No late assignments are accepted; all assignments are due at the beginning of class on the due date, or by the time stated, if a specific time is stated.