Special Topics in Operating Systems:

Instructor: Dr. Alexandra Fedorova (Sasha)
Office: TASC-I 9219
Phone: 604.268.6904

Location: AQ 5004
Hours:Tu 12:30-14:20, Th 13:30-14:20

Office Hours: Wednesday 14:30-15:30
(and by appointment)




Important Links:


  • Project 55% (Proposal - 10%, progress report - 5%, final presentation - 10%, final report - 30%)
  • Class participation 20%
  • Paper summaries 10%
  • Quizzes 15%

Pre-requisites: An operating systems course (such as CMPT 300, CMPT 401 or CMPT 760) or an architecture course (such as CMPT 250, CMPT 750 or CMPT 887) or a permission of the instructor. Strong programming skills is an asset. Feel free to talk to me if you have any doubts as to whether you can take this course.

Course Description:

This course will introduce you to one of today's hottest topics in systems research; designing system software for chip multithreaded processors. Chip multithreading (CMT) is a processor architecture rapidly spreading to servers and desktops thanks to its performance and power characteristics, at the time when conventional processors fail to provide improved performance at reasonable costs. CMT processors are special: unlike conventional processors, they run multiple threads in parallel on the same chip! CMT is the future: according to Intel, 85% of its server processors and 70% of its PC processors will be CMT by the end of 2006.

Learning about system design for CMT processors will give you crucial career skills, whether your future goal is to be a researcher or to work in the industry: in the modern world, understanding CMT systems is a must. Research on CMT systems spans multiple areas of computer science, so you will find this class interesting even if you are not a systems person.

If you specialize in:

  • Bioinformatics
    Understanding performance implications for bioinformatics workloads on CMT systems is an important research direction
  • Theory
    Analytical modeling of CMT processors' performance is an area that might interest you
  • Parallel programming
    You might find it interesting that the advent of CMT systems motivates new models for concurrent programming, such as transactional memory
  • Operating systems
    There is a sea of problems related to tailoring OS design to CMT hardware
  • Application software
    There are ample opportunities for application-level performance optimizations on CMT systems
  • Hardware
    Improving design of CMT processors is a vibrant research area
  • Data mining
    You might find it curious to explore performance optimizations targeted for data mining workloads on CMT systems: how to implement data-mining algorithms so they run well on CMT systems?

After a brief introduction to CMT architecture we will read and discuss papers on various CMT research topics, including:

  • Different flavors of CMT architecture
  • Performance analysis and evaluation
  • Performance modeling
  • Issues with performance and fairness on CMT processors
  • Operating system scheduling for CMT systems
  • Hardware / software interface on CMT systems
  • Application-specific issues on CMT processors

At the end of the course you will do a final project. You will have a chance to use CoolThreads - the latest and greatest CMT server donated to SFU by Sun Microsystems. CoolThreads can run 32 threads simultaneously on one piece of silicon! Prepare for an exciting semester!