True parallelism, with no concept of threads
summary
IncludeOS exposes per-core event loops so code can assign a lambda to a CPU and run without OS context switches; an SMP_add_tasks API wakes cores and the demo boots VMs up to 255 cores successfully. A pthread backend that simply maps threads to cores wastes cores for blocking joins, so a user-space fiber stack switch (assembly save/restore RSP) implements true blocking; stackful fibers work across cores. Coroutine-based tests (many runs and t‑tests) show coroutines slightly faster but lack stackful blocking today.
AI-written summary · about
chapters (51)
- 0:00Introduction
- 0:35What is include OS
- 1:28Everything is C
- 1:54Control all CPU cores directly
- 2:19Do we need threads
- 3:50Who likes blocking calls
- 5:01Eventbased
- 5:54Include OS
- 6:23What are threads
- 7:12What are schedulers
- 7:59Is a thread concrete
- 9:38POSIX threads
- 11:54Reasons for using threads
- 13:01Accessing the CPUs
- 13:17Bootstrap processor
- 13:36Programmable interrupt controller
- 14:02Advanced programmable interrupt controller
- 14:35Boot loader
- 14:57Main function
- 15:30Code
- 16:11Event loop
- 16:23Soft trigger
- 17:22Halt
- 17:50Sleep
- 18:30Add Tasks
- 19:17Add ID
- 19:39Signal
- 20:18Boot
- 20:50Hyperthreading
- 21:37Memory
- 23:33Thread scheduler
- 24:09Mission accomplished
- 24:43Lets try to use
- 24:55This is an attempt
- 25:44Create a thread
- 26:42Join
- 27:13POSIX demands
- 28:15POSIX output
- 28:56Boost fiber
- 30:06Preemptive timer
- 31:19Performance
- 31:32preemption
- 34:07jumpstarter
- 36:38stack switch
- 39:20release mutex
- 40:22stackswitch
- 42:47worker fiber
- 45:26threadrunner
- 48:42increase number
- 51:40quarantines
- 53:20yield
related talks
01h 02mOverview of Parallel Programming in C++
48mConsiderations for choosing the parallel computing strategy
01h 16mPaying for Lunch: C++ in the ManyCore Age
01h 07mAnother fundamental shift in Parallelism Paradigm?
01h 05mDecomposing a Problem for Parallel Execution
59mC++ on its way to exascale and beyond
01h 03mThe Landscape of Parallelism
01h 06mAsynchronous Computation in C++
