Dynamic Translation and Optimization: Hardware/Software Systems
CS 598 (Section CZ), Fall 2005
9:30-10:45 Monday/Wednesday/Friday, 1214 Siebel Center.
Instructor: Craig Zilles
Email: zilles@cs.uiuc.edu
Office: 4112 Siebel Center
Phone: x4-0553
Office Hours: email for appointment (subject to change)
Course Home Page: http://www.cs.uiuc.edu/class/fa05/cs598cz
Syllabus:
This course has two main goals: 1) to engender lively discussions
about the motivations and techniques for building feedback-directed
and dynamic optimizers and translators and virtual machines, and 2) to develop or further
refine the skills required to be a successful researcher.
The course will explore the following topics:
- program behaviors: what can we learn about programs
- program profiling: how to capture program behavior
- feedback-directed (compiler) optimizations
- novel execution models enabled by translation
- high-level language (e.g., Java) virtual machines
- how should translation be done? in hardware, software or some of each
- examples of existing and proposed systems
- virtual machines
To be a successful researcher you will need to be able to:
- read, understand, discuss, and critique the research literature
- propose, perform, and analyze experiments
- write (and re-write) documents to disseminate your results
- present results to an audience
The class will be organized to exercise these skills.
The class consists of two major activities: 1) paper discussions, and
2) research projects. This semester we will be reading from a
combination of a textbook and papers. The textbook -- Smith/Nair's
Virtual Machines, ISBN 1-55860-910-5 -- is available from the
University Book Store.
Discussion Groups and Paper Reviews
To make the most of our class time, you are expected to do the
readings outside of class. For most readings you will be required to
answer discussion questions or write a mini-review. For the papers we
read, you will meet in small groups, outside of
class, to discuss the papers before writing your reviews.
On two instances, when the material is considered background material
that won't be the primary topic of an in-class discussion, we will
have a brief in-class quiz, instead of writing reviews.
In-class Presentations/Discussion Leading
Once during the semester, each student will either 1) present a paper
or 2) lead a discussion of a paper. Presenters should prepare a talk
that will last roughly 30 minutes (leaving time for questions) where
the goal is to inform the class about a paper that they did not read.
In contrast, a discussion leader's job (which lasts a whole class
period) is to engender a lively discussion/debate and critical
analysis of a paper/reading read by the class, perhaps providing
additional material from other sources. Therefore a discussion
leader should plan to speak no more than 1/3 of the class period.
Please see the guidelines for discussion
leaders.
In addition, I've scheduled two guest lectures from industry, experts
on Java virtual machines (Cliff Click, Azul Systems) and
feedback-directed optimization and dynamic instrumentation (Robert
Cohn, Intel).
Class Participation
All students are expected to participate actively in class
discussions. Participation is a significant fraction of your grade
and you are expected to contribute (positively) to every discussion.
See guidelines for expected class
participation.
Class Projects
To more closely explore the ideas in the class, students will
undertake class projects. These groups will be done as small groups
(2-5 students). This class project will involve: 1) writing a
proposal, 2) periodic meetings with me, 3) presenting an in-class
5-minute update, 4) writing a rough draft to get comments from fellow
students, 5) incorporating these suggestions in a final draft, and 6)
presenting your final results in a poster session.
See CS598cz Projects.
| quizzes |
5% |
| mini reviews |
15% |
| discussion leading/paper presentation |
10% |
| class participation |
15% |
| project proposal/meetings |
10% |
| project talk/poster |
10% |
| project final paper |
30% |
| project refereeing |
5% |