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

Course info:

    Time:Tuesday: 12:30-13:20, Thursday: 12:30-14:20
    Location: AQ 4150 (Tu), AQ 5039 (Thu)
    (on January 7 meet in ASB 9838)
    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!

Instructor info:

    Office hours: By appointment. E-mail me to book a slot.


    Project: 50%
    Homework assignment: 15%
    Class participation: 15%
    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 built today are multicore; they are finding their way into desktops, servers, laptops, game consoles and cell phones. Multicore trend is creating a lot of challenges in opportunities in all areas of computer science, and you must be familiar with them whether you are interested in becoming an academic of working in the industry. 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 one homework assignment, whose goal is to get you familiar with tools used for research on multicore systems.

One month into the semester you will begin working on an original research project (group or individual) 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 doable 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 coinside 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, four out of six project groups published their papers in that workshop! As a result, they got a publication on their resume, and travelled to China (trip was paid by the instructor's research funds and SFU travel stipends) to present their work.

After the course was finished, several students, both undergraduate and graduate, continued working on research that started in this course. Some produced conference and journal papers, others developed the topic of their final project into Master's or Ph.D. theses. Prepare for an exciting semester!

© Copyright 2007 Simon Fraser University