Seminar: Operating System Design & Implementation

Seminar (7CP)

Wintersemester 2013–2014

Instructors: Björn Brandenburg & Allen Clement

Scope and Goals

The purpose of this seminar is twofold.

  1. To study the state of the art and current trends in several areas driving the design and development of modern operating systems.
  2. To allow participating students to practice the process that forms the first steps in any research project: going from a vague topic to a thorough understanding of the related literature and ultimately the definition of a concrete research goal.

Prerequisites

Students are expected to have completed the core OS course (or an equivalent course) and to have some familiarity with the design and implementation of (modern) UNIX-like operating systems.

It should be noted that this is a research-oriented Masters-level course with a significant workload. A keen interest in operating systems and a high motivation for self-driven reading, thinking, and writing about operating system topics is essential. For students looking for “easy credit,” this is the wrong seminar.

Students are expected to have had prior training in the principles of effective scientific communication (i.e., students should already know how to write a scientific report and how to give a proper talk). Students who do not satisfy this requirement should enroll in a “Proseminar” first. This seminar is not a public speaking class.

Organization

Where: room 005, E1 5 (MPI-SWS building, UdS campus).

When: The kickoff meeting is on October 22 at 4pm.

The (on-demand) weekly meetings will be scheduled at the kickoff meeting to accommodate the schedules of the participants.

The final workshop day will be scheduled towards the end of the semester.

Signup: Due to the format of the seminar, there are only a small number of topics available. Students interested in participating in the seminar should register early using the signup form.

Format

Depending on the number of participants, students will work either individually or in small teams.

The course is split into three phases.

Phase 1: Literature Search

After selecting a topic area, each team will identify relevant literature related to the chosen topic. As a deliverable, each team will assemble a list of 5–15 published works (or relevant open-source projects) that they seek to study in the remainder of the seminar.

The instructors will discuss the list of related works with each team and suggest additions if required. Students will be graded on the thoroughness and breadth of their literature search.

Expected duration: 2–4 weeks.

Phase 2: Study

In the second phase, each team will carefully study the related works (and additionally any foundational material required) to identify the state of the art. The deliverables of this phase are a conference-style tech report (10 pages) and a joint presentation (45–60 minutes) that present a cohesive view of the studied works.

The goal of the presentation is to teach your fellow students the key insights and techniques of the studied papers. Do not attempt to provide a comprehensive summary, that is, you do not have to discuss every detail. Rather, convey the key ideas and aim to equip your fellow students with a good intuition for the problem space.

Importantly, do not simply list the contents of each work. Instead, to obtain a high mark, you must identify common themes, goals, and techniques, and relate them in a unified narrative.

The presentations will be given by all teams on the same day (TBA) at the end of the semester in a workshop-style environment. The tech reports are due two weeks before the final presentations and will be distributed to all participants. All participants are expected to read all tech reports before the final presentations.

Students are encouraged to solicit feedback and show drafts to the instructors throughout the semester. Do not wait until the last moment to start the work! Procrastinating on the research and writing is a sure way to forego a high mark.

Expected duration: most of the semester.

Phase 3: Research Proposal

After having seen all presentations and having read all of the tech reports, each student is required to propose a concrete research project in writing (2–4 pages) in one of the discussed areas. Students are free to select any of the discussed research areas (not necessarily the one covered by their team; in fact, branching out to a different topic is encouraged).

The proposal should

  1. identify a problem or need that is not being addressed by the current state of the art (“What’s the problem?”),
  2. explain how current solutions fall short of solving the identified problem (“Why has it not yet been solved?”),
  3. propose a possible solution (“How are you going to solve it?”),
  4. propose measurable evaluation criteria (“How do you know you’ve solved it?”) and
  5. propose a project plan with (rough) milestones (“What needs to get done?”).

The research proposals will be graded based on whether (i) they address each of the five questions adequately, (ii) the proposed research is reasonably realistic, and (iii) the proposed research is actually novel.

Please keep in mind that a major goal of the seminar is to learn how to identify valid (i.e., novel and realistic) research topics; the written research proposal should reflect this skill.

Participants who propose particularly interesting and promising research projects will be invited to continue working on the project after the seminar (e.g., as a masters thesis project or as part of a research internship).

Expected duration: 2–4 weeks.

Attendance Policy

Seminars thrive on lively discussions and feedback. Therefore, attendance is mandatory for

  1. the kickoff meeting (topic assignment, overview of the seminar goals and objectives),
  2. the discussion of the literature survey results, and
  3. the end-of-semester workshop.

Further, we strongly encourage teams to schedule regular status report meetings with the instructors

Plagiarism Policy

Plagiarism, whether intentionally or “accidentally,” is entirely unacceptable and will be sanctioned and reported. Students are responsible for being familiar with the standards of good scientific conduct. When in doubt, ask for advice.

Some reminders:

These rules of course apply also to all material taken from the works being summarized.

Each team member will be held accountable for all of the team’s deliverables.

Topics

Participants may either select one of the following five topic areas or alternatively investigate their own topic of interest (subject to instructor approval).

Mobile OSs

Power/Energy/Thermal Management

Heterogeneity

Flash Storage

Driver Development

Thread Migration and Alternative Threading Approaches