Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn how to design efficient parallel data structures in this 35-minute conference talk that explores the fundamental principles and techniques for creating data structures that can effectively utilize multiple processors or cores simultaneously. Discover the key challenges in parallel data structure design, including synchronization, load balancing, and memory consistency issues that arise when multiple threads access shared data concurrently. Examine various approaches to parallelizing common data structures such as arrays, linked lists, trees, and hash tables, while understanding the trade-offs between performance, scalability, and complexity. Explore lock-free and wait-free programming techniques that enable high-performance parallel operations without traditional synchronization primitives. Analyze real-world case studies and implementation strategies that demonstrate how theoretical concepts translate into practical parallel computing solutions. Gain insights into performance optimization techniques, including cache-aware design patterns and NUMA (Non-Uniform Memory Access) considerations that are crucial for modern multi-core and distributed systems.
Syllabus
Designing Parallel Data structures
Taught by
Simons Institute