Skip to content

sourcery-ai-bot/MIT_OpenCourseWare-Performance_Engineering_of_Software_Systems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Course Prerequisites

Lecture Topics (Slides)

  • Introduction & Matrix Multiplication
  • Bentley Rules for Optimizing Work
  • Bit Hacks
  • Assembly Language and Computer Architecture
  • C to Assembly
  • Multicore Programming
  • Races and Parallelism
  • Analysis of Multithreaded Algorithms
  • What Compilers Can and Cannot Do
  • Measurement and Timing
  • Storage Allocation
  • Parallel Storage Allocation
  • The Cilk Runtime System
  • Caching and Cache-Efficient Algorithms
  • Cache-Oblivious Algorithms
  • Nondeterministic Parallel Programming
  • Synchronization Without Locks
  • Domain Specific Languages and Autotuning
  • Leiserchess Codewalk
  • Speculative Parallelism & Leiserchess
  • Tuning a TSP Algorithm
  • Graph Optimization
  • High Performance in Dynamic Languages

Supplemental Readings (Not Required)

  • 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. "This resource may not render correctly in a screen reader.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 Lanugages and Operating Systems (2009): 265–276.
  • Berger, Emery, Kathryn McKinley, et al. "This resource may not render correctly in a screen reader.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.

About

Performance Engineering of Software Systems (6.172)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published