Story

Show HN: Writing a C++20M:N Scheduler from Scratch (EBR, Work-Stealing)

lixiasky Tuesday, February 17, 2026

tiny_coro is a lightweight, educational M:N asynchronous runtime written from scratch using C++20 coroutines. It's designed to strip away the complexity of industrial libraries (like Seastar or Folly) to show the core mechanics clearly.

Key Technical Features:

M:N Scheduling: Maps M coroutines to N kernel threads (Work-Stealing via Chase-Lev deque).

Memory Safety: Implements EBR (Epoch-Based Reclamation) to manage memory safely in lock-free structures without GC.

Visualizations: I used Manim (the engine behind 3Blue1Brown) to create animations showing exactly how tasks are stolen and executed.

Why I built it: To bridge the gap between "using coroutines" and "understanding the runtime." The code is kept minimal (~1k LOC core) so it can be read in a weekend.

Summary
The article discusses the development of a Micro-Kernel (MN) scheduler, a lightweight and efficient concurrency control mechanism, using the Tiny Coro library. It provides a step-by-step guide for building and implementing a custom MN scheduler from scratch.
2 0
Summary
github.com
Visit article Read on Hacker News