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:

Class Goals

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:

To be a successful researcher you will need to be able to:

The class will be organized to exercise these skills.

Class Organization

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.

Grading (tentative)

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%