Seastar: The future<> is Here
Blog post from ScyllaDB
Seastar is a systems framework that maximizes concurrency and parallelism in multi-core, multi-socket machines by emphasizing asynchronous programming and lock-free operations. Developed with inspiration from trends predicting increasing core counts over clock speed, Seastar employs a shared-nothing architecture that eliminates implicit memory sharing through thread-local data management, making it highly efficient and scalable. It allows programmers to focus on constructing correct program structures while the framework ensures efficient execution, comparable to actor frameworks like Akka and languages like Erlang. By offering granular control over IO and CPU scheduling and employing a composable future<> model, Seastar facilitates concurrent software development that can dynamically adjust parallel execution without altering the program structure. Its use in projects like the smf library illustrates its capability to deliver high-performance applications, such as the development of an RPC system with significantly lower latency compared to alternatives like gRPC and Apache Kafka.