ND Home | COE Home | Site Map

Course Project

The goal of the project is to produce a quality paper. I hope that with further polish and significant additional effort, a number of the projects will lead to publications/theses. Since time is limited, however, I will reward those that aim high even if they do not completely succeed. The key to a successful class project is ensuring that some aspects of your work are completely done; it is hard to grade a project where nothing quite works. The projects will be graded as follows -- by what you discover in doing the project, how coherently you present your results, and how well you put your work in perspective with other research. This will be a good opportunity for you to learn about conducting research in the area of operating systems or to explore in detail a topic/issue that interests you.

The research should be carried out in teams of two. Talk to me if you would like to work in a different sized group. Logistically, it would be easier for you to continue with the partners from home work projects one and two. I will provide a number of ideas that can serve as a starting point for many projects. Students can also work with me to define a separate project in an area related to the course. The project will make up the bulk of the course. Students will spend the first part of the course defining the project and researching related work. The actual work on the project will be completed in the last half of the course. The most important thing about choosing a project is ensuring that you are excited by the topic.

At the end of the semester, we will hold a mini-conference open to the public. Each group will give a 20-25 minute talk (followed by 5 minutes of questions from the audience) and submit an 8-12 page research report describing their project. All students are expected to attend the conference and to submit evaluations for half of the talks/papers, including a nominee for "best paper". The conference is expected to take about 2.5 hours (depending on the number of groups). The schedule for the conference will be determined later in the semester.

The following milestones will drive the selection and specification of the course project:

  • 9/28/2004: Project proposal

    Written proposals should include:

    • a description of your topic,
    • a crisp statement of the hypothesis that you will test,
    • a statement of why you think the topic is important,
    • a description of the methods you will use to evaluate your ideas, and
    • references to at least three papers you have obtained with a summary of how they relate to your work. Proposals should not exceed 2 pages in length.
  • 09/30/2004: Project proposal presentation

    Each group will present their ideas in 5 minutes to the entire class. Shortly after submission of the proposal, each group will meet with me to refine the project topic.

  • 10/14/2004 and 11/09/2004: Project checkpoint

    In two pages or less, summarize your progress. Describe any initial results. Describe any changes in your project's scope or direction now that you know more about the topic. List the major milestones you have completed and the milestones that you must complete to successfully finish your study.

    Each group will again meet with me to discuss their progress and goals.

  • 12/XX/2004: Public mini-conference (tentative)
  • 12/XX/2004: Written reports are due (tentative)
  • 12/XX/2004: Individual Oral Exams (tentative)

Course Project Suggestions

  • Effects of operating systems on your own research For students who are active in research, you can explore the effects of operating systems mechanism on the efficiency of your own system. Talk to me regarding the scope of this project.
  • Implementing a mechanism discussed in class You can implement any of the mechanisms that we read in class. This project will be significantly more complex than your home work projects. Talk to me regarding the scope of this project.
  • Operating systems for mobile devices With the availability of rich, multimedia capable mobile devices, you will explore the limitations and opportunities in using general purpose operating systems on these devices. You can explore issues such as QoS constraints, scheduling issues etc.
  • Energy quantification of system operations You can measure the energy consumption of various system/network operations for typical workloads. You will have access to measurement tools and servers in the systems lab.
  • Operating systems for small devices Linux has been ported to devices such as the Compaq iPAQ (http://www.handhelds.org/), wireless access point (http://www.openap.org/) etc. An excellent project would be to install Linux on one of these devices and configure this kernel to perform certain tasks of your choosing. For example, you can explore placing a web proxy on the software access point and see if you can do some interesting traffic shaping.
  • Operating system for clusters/data centers
  • SOSP technical session papers Look at this conference technical program (here) for interesting ideas.

Surendar Chandra
Last modified: 08/21/2004 12:00