Concurrency and Parallelism From The Ground Up
summary
Covers how CPUs, interrupts and OS schedulers create 15–60 ms time slice quanta and why ticks (Windows 15.6 ms, Linux ~4 ms) matter for context switches; shows cooperative vs preemptive multitasking, virtual memory and cache-coherency effects on races; demonstrates how atomic instructions and locks (and their fairness limits) try to fix races; states global interpreter lock prevents concurrent Python bytecode execution and argues IOCP and epoll async I/O scales for thousands of connections while multiprocessing suits CPU-bound work.
AI-written summary · about
chapters (22)
- 0:00Amber Brown Concurrency and Parallelism From The Ground Up
- 0:37Implementing Concurrency & Parallelism From The Ground Up
- 2:17'concurrency' is not recognized as an internal or external command, operable program or batch file.
- 2:59How do programs run?
- 4:531985 (Windows 1.9)
- 5:27Cooperative Multitasking
- 8:501994 (Windows 95)
- 9:26Pre-emptive Multitasking Concurrency through Distrust
- 9:58Timeslices & Ticks Distributing time
- 11:21Timeslice Tradeoff Expensive & Responsive VS Performant & Laggy
- 12:01CPU registers Virtual Memory table Program Counter
- 12:45Threads & Processes More than just a choice in gunicorn
- 14:422001 (Windows XP)
- 14:53Simultaneous Multithreading 1 core, 2 threads
- 15:29Symmetric Multiprocessing oh h*ck
- 16:11Synchronisation Locks, Semaphores, and Mutexes, oh my!
- 18:47Thread Safety "Safe" as in space travel
- 20:11Death of the Tick "Tickless" kernels
- 20:52Coprocessing GPGPU & Friends
- 22:29Cooperative Python Single-threaded Fun
- 22:57Kernel-based Networking I/O Completion Ports epoll kqueue
- 25:21Decreasing Overhead No inter-thread communication
related talks
48m“Is Parallel Programming still hard? PART 2 of 2”
39mLet's talk concurrency
59m“Is Parallel Programming still hard? PART 1 of 2”
59mAn Introduction to Multithreading in C++20
37mConcurrency vs Parallelism
51mFrom Linux Threads To ForkJoinPool
36mConcurrency and Parallelism with Python for Humans
25mLet me sleep on it improving concurrency in unexpected ways
