Tag
Silk is a new stackful-fiber library and scheduler for ClickHouse, designed to improve asynchronous I/O performance with NUMA-aware work stealing, io_uring, and zero heap allocation in the hot path. It targets I/O-bound components like distributed cache, object storage, and network I/O.
The article details the implementation of automatic buffer management using io_uring's buffer rings in UringMachine, a Ruby gem for asynchronous I/O. It explains how buffer rings enable efficient multishot read/recv operations by allowing the kernel to use application-provided buffers.