Thread-per-core programming models are well known in software domains where latency is important. Pinning application threads to physical cores and handling data in a core-affine way can yield impressive results, but what is it like to build a large scale general purpose software product within these constraints?
Redpanda is a high performance persistent stream engine, built on the Seastar framework. This session will describe practical experience of building high performance systems with C++20 in an asynchronous runtime, the unexpected simplicity that can come from strictly mapping data to cores, and explore the challenges & tradeoffs in adopting a thread-per-core architecture.
Speaker
John Spray
Storage Engineering Lead @neon.tech, Formerly Redpanda, Inktank (Ceph), Whamcloud (Lustre)
John leads the storage team at Neon, building the persistent storage services behind Neon's serverless Postgres platform. His background is in high scale data-intensive systems, spanning filesystems (Ceph, Lustre), streaming (Redpanda) and databases (Neon). He enjoys writing performant Rust and C++, with a particular focus on the tradeoffs in turning high performance designs into systems that are robust at scale.