“Is Parallel Programming still hard? PART 1 of 2”
summary
Argues that concurrency is now ubiquitous and solvable by better abstractions and tooling, not mysticism; compares performance, productivity and generality as an “iron triangle”; cites concrete costs: 0.4 ns clock period, cache misses and off‑socket accesses costing two+ orders of magnitude, and expensive CAS/locks versus cheaper relaxed atomics; surveys C++ features (parallelism TS, OpenMP, SYCL/OpenCL, SQL) and promises a worked example of a single-producer single-consumer buffer that demonstrates cache line bouncing and locality tradeoffs.
AI-written summary · about
chapters (9)
- 0:00Introduction and overview
- 1:48Parallel programming challenges
- 10:45Perception vs reality of difficulty
- 20:51Performance vs scalability
- 23:05Productivity in parallel systems
- 34:18Key aspects of parallel programming
- 39:04Automation as the key
- 43:03Hardware limitations and costs
- 59:19Break and transition
related talks
01h 01mThe Future of Concurrency and Parallelism
39mLet's talk concurrency
59mAn Introduction to Multithreading in C++20
29mConcurrency and Parallelism From The Ground Up
30mThe untapped power of parallel programming: build efficient code that scales
01h 04mAtomics, Locks, and Tasks (part 2 of 2)
50mFrom Concurrent to Parallel
01h 04mMaking fun with parallelism in .NET
