Picos — Interoperable effects based concurrency
summary
Picos defines a small interface between effects‑based schedulers and concurrent abstractions, billed as a POSIX of effects, exposing only a multiplexer and timeouts plus a handful of effect ops (await, cancel, after, current, yield, spawn). Implementations include a single‑thread, a multi‑domain, a randomized scheduler and an Lwt adapter; libraries for mutexes, condition vars, resource management and structured concurrency sit on top. Measured memory is 160–312 bytes per fiber (vs ~54 for Eio), yield latency ~130–330 ns (Eio 190–950 ns), and a tiny HTTP daemon hits 500k requests/sec.
AI-written summary · about
chapters (10)
- 0:00Picos effects-based concurrency
- 1:06Incompatible effect systems
- 3:12Picos interface solution
- 5:43Cancellation and structured concurrency
- 8:31Picos architecture and abstractions
- 13:52Picos implementations and libraries
- 16:47Interoperability validation
- 18:37Performance benchmarks
- 21:50Future vision and ecosystem
- 23:36Q&A
related talks
12mComposing Schedulers using Effect Handlers
36mConcurrency with Cats-effect
43mUsing Both Cores of Raspberry Pi Pico with C++OS
42mRuntime scheduling: theory and reality
42mInter Process Confusion - Navigating Zephyr's IPC APIs
29mConcurrency and Parallelism From The Ground Up
45mPony for Safe, Fast, concurrent programs
44mConcurrency in Scala and on the JVM
