Covers the basics of parallel programming, including concurrency, forms of parallelism, synchronization, and programming models like PThreads and OpenMP.
Discusses scheduling internals, metrics, and policies in computer systems, emphasizing efficiency and the complexities of modern multi-core architectures.
Explores multithreading in computer architecture, focusing on pipeline utilization and performance impact in various techniques, including blocked and fine-grained multithreading.
Explores transactional memory and hardware simplification for concurrency control in software, emphasizing the benefits of hardware speculation and declarative concurrency.