in Operating Systems:
Alexandra Fedorova (Sasha)
Office: TASC-I 9219
Hours: Wednesday 14:30-15:30
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.
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:
After a brief introduction to CMT architecture we will read and discuss papers on various CMT research topics, including:
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!