6.172 | Fall 2018 | Undergraduate

Performance Engineering of Software Systems

Readings

6.172 has no required readings. This is a list of supplemental readings. 

Zhang, Yunming, Mengjiao Yang, et al. “GraphIt: A High-Performance Graph DSL.” Proceedings of the ACM on Programming Languages 2 (2018): article no. 121. 

Ansel, Jason, Shoaib Kamil, et al. “OpenTuner: An Extensible Framework for Program Autotuning.” Proceedings of the 23rd International Conference on Parallel Architectures and Compilation (2014): 303–316. 

Leiserson, Charles. “The Cilk++ Concurrency Platform.” The Journal of Supercomputing 51, no. 3 (2010): 244–257. 

Leiserson, Charles and Ilya Mirman. “How to Survive the Multicore Software Revolution (or at Least Survive the Hype) (PDF - 3.5MB).” 

Frigo, Matteo, Charles Leiserson, and Keith Randall. “The Implementation of the Cilk-5 Multithreaded Language.” Proceedings of the 1998 ACM Sigplan Conference on Programming Language Design and Implementation (PLDI) (1998). 

He, Yuxiong, Charles Leiserson, and William Leiserson. “The Cilkview Scalability Analyzer.” Proceedings of the Twenty-Second Annual ACM Symposium on Parallelism in Algorithms and Architectures (2010): 145–156. 

Mytkoqicz, Todd, Amer Diwan, et al. “Producing Wrong Data Without Doing Anything Obviously Wrong.” Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (2009): 265–276. 

Berger, Emery, Kathryn McKinley, et al. “Hoard: A Scalable Memory Allocator for Multithreaded Applications (PDF).” Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems (2000): 117–128.

Kuszmaul, Bradley. “SuperMalloc: A Super Fast Multithreaded Malloc for 64-bit Machines.” Proceedings of the 2015 International Symposium on Memory Management (2015): 41–55. 

Schardl, Tao, William Moses, and Charles Leiserson. “Tapir: Embedding Fork-Join Parallelism into LLVM’s Intermediate Representation.” Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2017): 249–265.

Frigo, Matteo, Charles Leiserson, et al. “Cache-Oblivious Algorithms.” ACM Transactions on Algorithms (TALG) 8, no. 1 (2012): article no. 4. 

Demaine, Erik. “Cache-Oblivious Algorithms and Data Structures” in Lecture Notes from the EEF Summer School on Massive Data Sets, BRICS (2002).  

Leiserson, Charles. “A Simple Deterministic Algorithm for Guaranteeing the Forward Progress of Transactions.” Information Systems 57 (2016): 69–74.

Course Info

Learning Resource Types
Lecture Videos
Programming Assignments
Projects
Lecture Notes
Exams with Solutions