Rice University
COMP 522
Multi-core Computing
Fall 2008
Course Information


Time and Place: TTh 1:00pm-2:20pm, Room: Martel 103

Instructor: John Mellor-Crummey (johnmc@cs.rice.edu)
Office: 3082 Duncan Hall
Office Hours: By appointment

Class web site: http://www.cs.rice.edu/~johnmc/comp522
Textbook: None. The course will focus on reading research papers posted on the course web site.

Course Description

Over the last few years, chip vendors have shifted their strategy for improving microprocessor performance to delivering multiple processor cores per chip instead of continuing to pursue dramatic increases in clock frequency. This change represents something of a cataclysmic shift for software. In the past, application programmers painlessly rode the wave of higher clock frequencies to faster performance. With the advent of multi-core processors, improvements in application performance will depend upon making effective use of increasing levels of coarse-grain parallelism. As a result, parallel programming has suddenly become relevant for all computer systems.

The goal of the course is to study multi-core processor architectures, the implications of hardware designs, software challenges, and emerging technologies relevant to hardware and software for multi-core systems. Topics will include multi-core microprocessors, memory hierarchy (cache organization alternatives), multithreaded programming models, scheduling (including work stealing), memory models (which specify program behavior), synchronization (including wait-free synchronization, and transactional memory), concurrent data structures, debugging (including race detection), and performance analysis.

This course will focus on reading, analyzing, and discussing research papers (many of them award winning) related to hardware and software issues for multi-core systems.

Prerequisites

COMP 320 and COMP 425 or equivalent. General knowledge of computer systems and computer architecture will be assumed.

Grading Criteria

Class participation

Research papers are not always well written, sometimes make misleading claims, and occasionally contain errors. Students are expected to contribute to the discussion of the papers in class by subjecting the readings to critical analysis, asking questions, and offering observations.

Class presentations

Students will be required to plan and deliver three class presentations. A presentation on set of papers should include

Presenters are advised, but not required, to show their presentations to the instructor in advance. Each presentation will have one class period (75 minutes). On the day of the presentation, the presenter will provide the instructor with a version of the presentation suitable for posting on the class web page.

Paper evaluations

Students are required to evaluate a paper for two-thirds of the class sessions. A paper evaluation consists of

Paper evaluations will be graded on a scale of 1-3. The default grade is 2. Insightful reviews will receive a 3. Disappointing reviews will receive a 1. Students will email evaluations of papers to the instructor (johnmc@cs.rice.edu) before the start of the class in which the paper is presented. Late or incomplete evaluations will receive no credit.

Presentation evaluations

You are required to evaluate at least two-thirds of the student presentations in class. There are two motivations for this. First, if you have to write reviews of presentations, you will pay closer attention. Second, if you know that your presentation is being evaluated by your classmates (as well as the instructor), you may try harder to make it engaging. The ability to make engaging presentations to intelligent audiences is one of the most important skills that you need.

A presentation evaluation consists of

Presentation evaluations will be graded on a scale of 1 to 3. The default grade is 2. Insightful evaluations will receive a 3. Disappointing evaluations will receive a 1. Evaluations for presentations that I believe the reviewer did not attend will receive a 0.

Presentation evaluations are intended to be helpful. They should be frank, but never mean. Your evaluations will be kept anonymous. I will merge and edit presentation evaluations submitted and forward them to the presenters. I reserve the right to edit or suppress inappropriate or unhelpful comments.

To receive credit for a presentation evaluation, email it to the instructor (johnmc@cs.rice.edu) before Friday 6:00 pm in the week in which the presentation occurred. Late or incomplete evaluations will receive no credit.

Final project

COMP 522 requires a term paper or a final project with a written project report.

Term papers must be done individually. For a term paper, you may focus on the same topic as one of your presentations, but you should study different papers. Ask the instructor if there is any question.

Final projects will typically be done individually, but they may be done by a pair with instructor permission. Group projects will submit a single writeup. A project involving application development or experimentation may build upon existing code, but consultation with the instructor is in order. Code that is obtained from other sources should be clearly identified.

The term paper or final project is subject to the honor code in that students should produce their own work. You may not directly copy written material from other sources.

Honor code policy

You are encouraged to discuss the readings with others, but paper evaluations are to be prepared and submitted individually. You may consult other papers for further insights into the material; however, your evaluations should be your own words.

Presentations may draw upon the papers and other resources on the web as you prepare your presentations; however, your presentations are expected to be your own, not copies of pre-existing materials found on the web. You may use figures from the papers themselves and other sources as part of your presentation with proper citation.

Presentation evaluations should be prepared and submitted individually based on your own assessment of class presentations.

Unless otherwise agreed upon with the instructor, projects are to be prepared and submitted individually. A project involving application development or experimentation may build upon existing code, but consultation with the instructor is in order. A term paper must be your own work.

Accommodations

If you have a documented disability that will impact your work in this class, please contact me during the first two weeks of the semester to discuss your needs. All discussions will remain confidential. Additionally, you will need to contact Disability Support Services in the Ley Student Center.


Updates
26 August 2008   Updated