Anand Krishnamurthy, Sathiya Kumaran | Coordinated I/O Scheduler for distributed blobstore |
Brandon, Ramnatthan, Avinaash | Single-byte writes to remote storage |
Aditya Prakash, Sreeja Thummala | Resource Tracking in Mobile Environments |
Frank Bertsch, Aaron Cahn | Impact of network topology and hardware on availability in a datacenter |
Day 2: File Systems | |
Nathan Deisinger and Jun He | Analyzing and Improving Block Allocation Policies in ext4 |
Anjali Gola, Ayoosh Bansal | Optimizing File Systems for SSD |
Adalbert Gerald and Christopher Morton | Delayed Durability in OptFS |
Harshad Deshmukh, Vinitha Reddy Gankidi | Trading freshness and performance |
Steve Lagree and Stephen Brown | Evolution of Linux 3.x File Systems |
Day 3: Outside the File System | |
Chao Ren, Shiyu Luo | CPU overheads in I/O traces |
J. Benjamin Miller, Thomas Griebel | Improving Memory Efficiency in Filesystem Checks |
Saul St. John | Performance Comparison of VM Guest OSes |
David Leifker, Rui Gu | OSv Analysis and Benchmarking |
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 this project individually and then hand in a short report on your results. This project will be fairly well-defined. More details will be available later.
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; under no circumstances will larger groups be permitted!
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). This list will be made available soon. 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!
- Pick Project and Partner: (Due Wednesday 10/17): After some though, you
should know what general project you are likely to work on.
Just send me a 1-sentence email with the title of your
project and the names of the students involved.
- Proposal Report (Due Monday 10/21): 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. 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). It is okay if your final project ends up deviating from this plan.
- Related work report (Due Monday 11/04):
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
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. It is likely that you will write a full paragraph (or two) about the work that is most related to your own and perhaps just a sentence that is part of a longer paragraph for less related work. While a few of your references may be to web pages, most of the references should be to full length papers in systems conferences or journals.
Your report should contain the appropriate citations in a Reference section in the same format as a research paper (I would suggest using bibtex for this). In other words, the references should include the full list of author names, the title of the paper, the month and year the paper appeared, and the name of the conference or journal.
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 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.
- Final Meeting: Near the end of the semester, we will have
one last meeting to discuss your results. At this meeting, you should
summarize the problem you are solving, your approach, your
methodology, and the results you have so far; you should plan how you
will talk about these issues. You should absolutely bring all of your
interesting experimental results (in graph or table form). At this
meeting, you will receive feedback on what you need to complete for
your final report.
- 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 10 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!
- 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 are available here.
Event | Due Date |
Initial meetings: | 10/11-10/15 |
Pick Project: | Wed 10/17 (5pm) |
Proposal: | Mon 10/21 (5 pm) |
Related work report: | Mon 11/4 (5 pm) |
Progress meeting: | Week of 11/4 |
Final meeting: | Week of 11/22 |
In-class presentations: | Week of 12/9 |
Final report: | Monday 12/16 at 9:00pm (OR Wed 12/18 at 9am) |
Menu
Fall 2013Time: MWF 1:00-2:15
Room: 119 Noland
Instructor:
Prof Andrea Arpaci-Dusseau
Office Hours
Tuesday 10:00-11:00
Friday 2:30-3:30
Office:
7375 Computer Sciences
Email: dusseau "at" cs.wisc.edu