CIS 700 - Special Topic:
Multiprocessor Computer Architecture & Server Workloads
Spring 2004


Instructor: Milo Martin

Email: milom at
Office Hours: Monday 2:00-3:00, and Thursday 1:30-2:30

Meeting Times and Places

Monday/Wednesday, 12:00-1:20pm (class schedule)
307 Towne

Course Description

Multiprocessor servers and server workloads play a critical role in society's information infrastructure. These systems are often modest-size multiprocessor servers because of the cost and performance advantages they provide. This special topics course will look at the architecture of multiprocessor servers and the database and web services they provide. We'll discuss the most important aspects of multiprocessor hardware design, the hardware demands of commercial server workloads, and the corresponding impact on system software.

Specific topics covered include: the historical context of multiprocessor architectures, commercial workload characteristics, cache coherence protocols, multithreaded processors, chip multiprocessors (CMPs), recent advances in hardware-assisted synchronization, high-performance I/O, and software techniques for design of efficient server software.

This course will include discussions of research papers and a substantial research project. Although the course will focus mostly on multiprocessor systems for commercial workloads, as time permits we will cover other emerging uses of multiprocessor or multithreaded systems (e.g., embedded systems, graphics acceleration, and network processing). Students are encouraged to use their projects to further explore these important emerging multiprocessor applications.

Readings and Textbook

The course will rely primarily on papers (listed on the course schedule). However, we will use Chapter 6 and 8 from Hennessy and Patterson's Computer Architecture: A quantitative Approach, third edition for some introductory material. As CIS 501 is a prerequisite for this course, you should already have this book.

Lectures and Discussions

The course will consist of lectures and class discussions. The lectures will introduce a topic. After the lecture, we will use the next few class periods to discuss research papers related to the topic. Students are expected to participate and interact during both lectures and paper discussions. Class participation is 20% of your grade.

One student will be appointed as "discussion leader" for the discussion. This student will (1) thoroughly read the papers, (2) prepare at most a 10-slide overview, (3) schedule a time to meet with me to review the slides, (4) use the presentation to help lead and focus the in-class discussion. Leading the discussion accounts for 10% of your course grade.

The remaining students will e-mail the instructor a brief message that quickly summarizes the paper. The paper summary is due by 10:00am the day of the discussion. Completion of these paper summaries is 20% of your course grade.

Course Project

Students form groups to perform a substantial research project. Most groups will have two students, though groups of one or three may be allowed with consent of the instructor. The project will consist of (1) a project proposal, (2) a mid-term project report, (3) in-class presentation, and (3) final project report. Possible projects include exploring extensions to a concept we discussed in class, validating a paper's experimental results, or evaluating your own research ideas. More details about the project will be available as the semester progresses.

Update: More information on the project is now available.

Grading Summary

Links and Course Reference Material