Introduction to Research for Multicore Systems: System Software, Hardware, Applications

Course info:

    Time:Tuesday: 12:30-14:20, Thursday: 13:30-14:20
    Location: WMC 2260 (on January 15 meet in ASB 9840)
    Pre-requisites: Undergraduate operating systems course, undergraduate computer architecture course, solid C programming skills, or a permission of the instructor.
    If unsure whether you have the pre-requisites, talk to the instructor! Undergraduate students are welcome to enroll! (Talk to advisor for details)

Instructor info:

    Office hours: Thuesday 3-5pm and by appointment


    Project: 50%
    Two homework assignments: 20%
    Class participation: 10%
    Written paper summaries: 10%
    Paper presentations: 10%

Course description

This course pursues two objectives. The first is to introduce you to one of the hottest research areas in systems today: multicore systems. The second is to teach you how to perform independent research and publish a conference paper.

Multicore systems is the latest trend in CPU hardware: processors that are built with multiple CPU cores on a single physical chips. Most new processors shipped today are multicore; they are finding their way into desktops, servers, laptops, game consoles and cell phones. The research on multicore system has to do with designing the software (operating systems, system libraries, applications) that makes the best use of multicore hardware, analyzing and modeling performance of these systems, designing multicore processor architecture, and building tools that will help developers program on multicore systems.

The course will begin with a short primer on computer architecture and operating systems, necessary to understand the research papers read later in the course. Then we will learn about open questions in the area by reading the latest papers. There will be two homework assignments, whose goal is to get you familiar with tools used for research on multicore systems: one assignment will teach you how to use hardware performance counters to measure performance; the other assignment will teach you how to use hardware simulators used by research to explore architectural design alternatives for multicore processors.

Halfway through the semester you will begin working on an original research project in the area of multicore systems. You will be able to pick a research project from a list proposed by the instructor (these are all well specified projects do-able in the timeframe of the course), or you will be able to pick your own project. In any case, the instructor will work closely with you to help you complete the project. Real multicore hardware will be available for your project. After completing the project you will write a final paper, in the format of a conference paper. The deadline for the final paper will co-inside with a deadline for the annual (refereed) Workshop on the Interaction between the Operating Systems and Computer Architecture. If your final paper is in good shape, you may wish to submit it to the workshop, and if you do, the instructor will help you with writing. Last year, two of the four project groups published their papers in that workshop! As a result, they got a publication on their resume, and travelled to San Diego (trip was paid by the instructors research funds) to present their work.

Prepare for an exciting semester!

© Copyright 2007 Simon Fraser University