Home / Companies / Redpanda / Blog / Post Details
Content Deep Dive

Thread-per-core buffer management for a modern Kafka-API storage system

Blog post from Redpanda

Post Details
Company
Date Published
Author
Alexander Gallego
Word Count
1,612
Language
English
Hacker News Points
-
Summary

Advancements in storage systems have shifted the bottleneck from storage devices to CPU performance, as SSDs and modern networks have outpaced traditional spinning disks and previous network capabilities. Despite improvements, single-core CPU speeds remain limited due to power consumption constraints, leading to a focus on increasing core counts for better performance. To adapt to these changes, systems like Redpanda, a Kafka-API compatible platform, utilize a thread-per-core architecture to optimize resource use and minimize latency. This approach involves explicit core communication and asynchronous execution models, necessitating efficient memory management techniques like the iobuf framework. Iobuf, inspired by similar abstractions in Linux and FreeBSD kernels, enables zero-copy memory management by leveraging Seastar's threading model and SPSC queues, ensuring scalability and low latency in data-intensive environments. This architecture promotes synchronous task execution across multiple cores, offering a significant performance boost for mission-critical workloads that require low-latency operations.