We will read and discuss recent research in transactional memory and emerging parallel architectures like Sun's Niagara and IBM's Cell.
There are no formal prerequisites for this class, but students should have a strong background in at least one of computer architecture and operating systems.
The course consists of reading at least two papers per class meeting, and discussing those papers. Students will present papers.
The course also features a large project. Our research group will provide a transactional hardware simulation platform and a version of the Linux kernel that uses hardware transactional memory. Project topics will include: transactionalizing OS subsystems, application programs, or program runtime systems (like a garbage collector); designing hardware/software mechanisms for virtualizing transactions, and/or allowing transactions to persist across context switches; designing a transactional system call interface; designing a memory controller for hardware transactional memory.
Please read the department's code of conduct.