Click here if you are looking for a detailed schedule
Instructor:
Amer Diwan
Office: ECOT 743
Office hours: Thursday 2:00 to 3:30 and by appointment
Class times: TuTh 12:30-1:45
Class location: 1B06
Class web page:
http://www.cs.colorado.edu/~diwan/7135-06
Modern computers are incredibly complex, containing many interacting features all designed to improve their performance. In order to explain or tune the performance of an application on these systems we need to have a good understanding the underlying system. For example while most modern machines can execute a peak of 5-8 instructions per cycle, I have never encountered an application that executed significantly more than one instruction per cycle even for brief periods of time. To understand why this is the case, we need to have a deep understanding of the application stack and the underlying hardware. The goal of this seminar is to understand modern computer systems particularly in terms of how they interact with software.
Each class will have assigned readings. By noon before each class, all students will submit a review for the assigned readings (i.e., only one review for all the readings of the day).. During class, the designated presenter will present the readings. The presentation should use the same format as the review. The presenter must meet with the instructor one day (or more) before the day of the presentation to discuss the presentation. The presenter should bring a talk outline to this meeting.
Students will also participate in a project related to the topic of the course.
The breakdown of points for the course is as follows: Presentation and class participation (20%), Reviews (20%), Project (60%). In order to score high in the presentation and class participation component, students should give clear and focused presentations and participate regularly in class. In order to score high in the reviews component, students should submit reviews that clearly demonstrate that the student understands the readings well enough to evaluate them.
For your talk, you should plan a 50 minute presentation, leaving the rest of the class period for discussion. For your review, you should restrict yourself to no more than two pages of text using 10 point or greater font. If you are giving a talk on the day you do not need to submit a review; instead you should submit your talk slides.
The talk and review will have the same format. So the description below (while it refers to the talk) is equally applicable to the review.
In your talk you should assume that everyone has read the papers. So rather than presenting the papers in detail, focus on the difficult/interesting aspects of the papers. It will frequently be the case that in order to fully understand a paper you will need to do some independent reading. Your talk should take the following format:
There are two kinds of projects that we will do. The first kind will be research and the second kind will be experience. One of the key goals of both kinds of projects is to get you an in depth appreciation of some of the ideas brought up in this seminar.
A research project will introduce and implement some new ideas and perform experiments to understand the usefulness of the ideas. For example, a project may incorporate a knowledge base into the Performance Explorer. This knowledge base will help the PE automatically guess at the causes behind poor performance.
An experience project will gain experience with one or more systems discussed in the seminar. For example, you may pick an application and a system and explore why the application behaves in the way that it does. You may use the performance explorer for this or some other techniques.
Each project will have three parts, proposal, stage 1, and stage 2 (dates to be announced).
For a proposal, you will need to write a 5000 word or less document describing your project. Your proposal must motivate and describe your project clearly and also clearly outline what you will accomplish in stage 1 and stage 2. Your proposal should be concrete. E.g., for an experience project your proposal should not be just "I'll explore the performance of application A on machine M" but instead you should clearly point out which performance phenomena you will be exploring. E.g., for a research project should not just say "I'll build a knowledge base that captures the behavior of the Pentium 4" but instead should clearly explain what subsystems you are planning to incorporate in your knowledge base and what the challenges will be. Your proposal should also give a timeline that indicates exactly what you will deliver in Stage 1 and Stage 2.
For stages 1 and 2, you need to submit a document describing in detail what you did in that stage. If you are unable to deliver the promised results for Stage 1 or Stage 2 you will need to provide an explanation for why you failed.
To submit your reviews or projects, you will need to log into moodle. When you log in for the first time, create an account for yourself and add yourself to the csci7135 class. When you try to do that, moodle will ask you for an enrollment key. This key is the same as the password that we use for the papers.
Upload your review as a text or pdf file. Upload your presentation (using the same assignment as the reviews) as a ppt or pdf file.