Recent Changes - Search:


  • who: Michael Swift
  • where: Room 7369
  • when: Thurs. 1:30-2:30
  • email: swift 'at'


  • who: Ceyhun Alp
  • where: 1306
  • when: Wednesday 1:15-2:15
  • email: e.ceyhun.alp 'at'


  • when: Tues./Thur. 11:00 -- 12:15
  • where: Computer Sciences 1325
  • list: compsci736-1-s16 'at'



edit SideBar


Warm-up Mini-Project

As a warm up to your main project, each student will do an independent mini-project focused on performance measurement and getting familiar with compiling and modifying the Linux kernel

The warm-up project is meant to be done fairly quickly; you will have two weeks to work on this assignment. You will work on part of this project in groups of two and then hand in a short report on your results. This project will be fairly well-defined.

Main project

The main project in this course has two goals. The first goal is to help you learn more about doing research in general. The second goal is to give you the opportunity to study a particular area of OS in greater detail. Therefore, you are expected to perform a substantial research project; this involves selecting an open problem, reading the related work, designing, implementing, and evaluating a solution, and presenting your results. Your completed projects should be of high enough quality that it could (eventually) be published in a major operating systems conference. People should work in groups of size two to four.

You are strongly encouraged to select a project from my list of suggestions (but a project of your own devising is possible given sufficient justification at our initial project meeting). Remember, the best project for you is the one you feel motivated to do (not the easiest one, and not the most-likely-to-get-me-a-paper one). The project is your chance to work on something new and different -- I sincerely hope that not only will you learn a lot while doing your project, but also that you will have a lot of fun!

Throughout the semester, there will be a few milestones that you must meet for your main project:

  • Initial Meeting: We will use the initial meeting to help figure out which projects would be a good match for your interests and previous experience; therefore, before this initial meeting, you should have narrowed down the list of potential projects to two or three that you are interested in and should have read the listed background papers. Of course, you are more than welcome to informally talk to me about potential projects before this meeting!
  • Proposal Report: After our meeting, you should determine exactly what problem you will solve. In your project proposal, you should clearly state the problem you are planning to solve, the motivation for why this problem is important, your initial plans for approaching the problem, and your proposed methodology for evaluation. It should also discuss what resources you will use / need for the project, such as hardware or software tools. This report should contain references to at least one related background paper (not already listed by me) that you have read. Your write-up should be approximately a full page in length (or 500-1000 words).
  • Related work report: An important component in research is placing your contribution in the context of past work, which involves differentiating your work from previous work. (There is nothing worse than working on a problem, only to discover several months into the work, that someone has already solved it!) To ensure that you have found the applicable background material before beginning your own work, I would like to see a summary of the relevant papers that you have read (or, alas, skimmed). While the number of relevant papers will vary depending upon your project, you should search for 8 to 10 references and write 500-1000 words. To find relevant papers, you may want to check out the resources at the end of this page. Your report should contain the appropriate citations in a Reference section (I would suggest using bibtex for this). This write-up may later become the Related Work section of your final report (of course, you may need to add references, especially if the direction of your contribution changes).
  • Progress Meeting: After you have had about a month to work on your project, we will meet weekly to discuss your progress and any problems that you are having. This will be an informal meeting, but you should come to the meeting prepared to talk about your initial results.
  • Rough Draft: You will submit a rough draft that will be given to classmates for them to read and provide feedback. You should try to apply the feedback for the final paper. Here is the form used for feedback.
  • In-class presentations: All students will give a very brief overview of their projects in the last week of classes. Each group will have approximately 15 minutes to describe their work to the rest of the class. Given this short time-frame, you will be giving only a very broad overview of your results; do not expect to distill everything that you did and learned in this talk! The time limit will be strictly enforced! You may want to check out the following site for some hints on giving a good talk.
  • Final report: Your final write-up should be similar in style, length, and content to an OS conference paper. This is clearly the most important part of demonstrating your project! More details on writing the report will be given in class. It should be formatted with 11 point font, single spacing, 1 inch margins, 2 columns, and should 6-10 pages in length.

The final report will be graded as follows:

  1. Presentation: 1/3 How well written and structured is the paper? Are the figures and tables legible? Is the organization logical? Do the figures support the text and are they appropriate captioned? Is the writing clear?
  2. Design: 1/3 Is the design of your system (or experiments for an evaluation study) sound and well reasoned? Is it clearly explained with appropriate related work?
  3. Evaluation: 1/3 Do you adequately evaluate your system and explain your results completely? Is your methodology sound? Do you make appropriate comparisons to other systems? Are all features of your results graph explained?

The main project for the course will be done in groups of 3-4, and will focus on either original research or significant development of an advanced operating system idea/concept/mechanism.



The project will proceed in phases

Warm-up project available:Thursday 1/22
Warm-up project due:Friday 2/5 (9 pm)
Initial meeting:Week of 2/15
Proposal:Tuesday 2/23 (9 pm)
Related work report:Friday 3/4 (9 pm)
Progress meeting:Mid April
Rough Draft due:May 3 9 pm
Presentations:Last week of classes
Paper reviews:May 6, 9 pm
Final report:May 9, 9 pm


I have access to a limited number of machines for experimentation.


When searching for related work, I would suggesting starting with Citeseer. You can search by keyword, but another very useful feature is to look for other (more recent) papers that reference a given related paper. Google Scholar provides keyword search of scholarly work in any field. Another good way to find a set of related papers is to start with the most recent related paper that you can find and to work backwards in time through its references. You can also get useful references from The Collection of Computer Science Bibliographies and the DBLP computer science bibliography site. You'll note that both have bibliography entries in bibtex format, since many papers written in CS use latex (and thus bibtex). As a last resort, you can always search the web as a whole with a general search engine.

Specific OS Publications:

Operating system research papers are presented in a number of major conferences and journal. When looking for related work, it also makes sense to at least look at the titles and abstracts from papers published in the sources for the last few years.

Edit - History - Print - Recent Changes - Search
Page last modified on April 28, 2016, at 12:44 PM