1. Introduction and Matrix Multiplication
1:00:202. Bentley Rules for Optimizing Work
1:20:103. Bit Hacks
1:18:544. Assembly Language & Computer Architecture
1:17:345. C to Assembly
1:21:306. Multicore Programming
1:16:467. Races and Parallelism
1:14:398. Analysis of Multithreaded Algorithms
1:17:34Lecture 9: What Compilers Can and Cannot Do (6.172)
1:18:46Lecture 10: Measurement and Timing (6.172)
1:21:28Lecture 11: Storage Allocation (6.172)
1:05:26Lecture 12: Parallel Storage Allocation (6.172)
1:17:21Lecture 13: The Cilk Runtime System (6.172)
1:21:47Lecture 14: Caching and Cache-Efficient Algorithms (6.172)
1:18:23Lecture 15: Cache-Oblivious Algorithms (6.172)
1:21:47Lecture 16: Nondeterministic Parallel Programming (6.172)
1:22:12Lecture 17: Synchronization Without Locks (6.172)
1:20:10Lecture 18: Domain Specific Languages and Autotuning (6.172)
1:11:22Lecture 20: Speculative Parallelism & Leiserchess (6.172)
1:23:03Lecture 21: Tuning a TSP Algorithm (6.172)
1:20:53Lecture 22: Graph Optimization (6.172)
1:18:40Lecture 17: Synchronization Without Locks (6.172)
This lecture explores non-lock synchronization methods, utilizing memory models, Peterson's algorithm, and instruction reordering. It covers the compare-and-swap operation, lock-free stacks, and the ABA problem.
MIT 6.172 Performance Engineering of Software Systems, Fall 2018
Instructor: Charles Leiserson
View the complete course: https://ocw.mit.edu/6-172F18
YouTube Playlist: https://www.youtube.com/playlist?list=PLUl4u3cNGP63VIBQVWguXxZZi0566y7Wf
Lecture 16: Nondeterministic Parallel Programming (6.172)
Next · Lecture 18Lecture 18: Domain Specific Languages and Autotuning (6.172)
Seminar notes & discussion
No public seminar notes on this lecture yet.
