The Wild West of post-POSIX IO Interfaces
summary
Claim: POSIX is becoming a compatibility layer that throttles modern I/O. Evidence: Linux exposes io_uring shared‑memory submission/completion rings, Windows offers overlapping I/O, macOS uses libdispatch, Docker composes these, and kernels now top ~45 million LOC. Implementation: an OCaml 5 runtime with Eio library adds io_uring bindings so continuations live in user data and resume fast. Result: production use on large data pipelines (desktop with 768 cores, 4 TB RAM; exabytes of satellite data) works and is performant, though kernel security and portability remain open problems.
AI-written summary · about
chapters (11)
- 0:00post-POSIX IO interfaces
- 3:55POSIX no longer first-class
- 15:30Rise of post-POSIX syscalls
- 22:57IO_uring bypasses POSIX limits
- 31:05OCaml 5 IO with effect handlers
- 44:24Key takeaways for runtime devs
- 47:11Q&A: Go concurrency vs POSIX
- 50:01Q&A: POSIX vs modern IO
- 52:29Q&A: IO abstraction choices
- 55:17Q&A: Memory mapping & remote storage
- 57:45Q&A: Storage devices & IO_uring
related talks
51mJourney to the End of Linux IO APIs (d…)
45mJourney to the end of Linux IO APIs (from poll to io_uring)
38mUh-oh, It's I/O Ordering!
06mZero-copy Transfers with io_uring and Rust
57mAsynchronous I/O and coroutines for smooth data streaming
01h 04mAsynchronous I/O and Coroutines for Smooth Data Streaming
22mUnICom: A Universally High-Performant I/O Completion Mechanism for Modern Computer...
18mIO and cgroups, the Current and Future Work
