CIS 700 - Special Topic:
Multiprocessor Computer Architecture & Server Workloads
Spring 2004
Announcements
Email: milom at cis.upenn.edu
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
- Class participation: 20pts,
- Discussion Presentation: 10pts
- Paper Summaries: 20pts
- Project: 30pts
- Final Exam: 0pts*
(*note: no exam is currently planned for the
course. However, if lack of vibrant and inclusive class participation
convinces me the students are not reading and understanding the
papers, we will have a final exam weighted equally to the project.)
Links and Course Reference Material
- WWW Architecture Home Page
- Penn's ACG Group
- ACM's Digital Library
- IEEE Xplore Digital Library
- IEEE Computer
- IEEE Micro
- Parallel Computer Architecture: A Hardware/Software
Approach by David Culler and J. P. Singh, 1999: a thorough
textbook presentation of much of the multiprocessor systems
architecture that we'll be covering. However, its focus is mostly on
technical parallel workloads; in contrast, we'll be focusing on
commercial workloads.
- Interconnection Networks by Duato, Yalamanchili, and Ni,
2002: a solid book on multiprocessor interconnection networks.
- Principles and Practices of Interconnection Networks by
Dally and Towles, 2003: a new book on interconnection networks.