Seastar C++ framework looks to simplify coding
- 15 February, 2017 03:07
Seastar, an event-driven C++ framework for building applications for multiple processor cores, is adding the notion of concepts to make coding easier.
With concepts, recently hailed by C++ founder Bjarne Stroustrup, specified interfaces are provided to templates without runtime overhead; design is simplified and the amount of boilerplate code is reduced. Concepts will be included in Seastar 1.8, due in about six weeks. “[Concepts] simplifies the code,” said Dor Laor, CEO of Scylla, which makes Seastar and uses it as the engine of the ScyllaDB NoSQL database.
Open source Seastar is used to build server applications, which can run on Linux or the OSv operating system for the cloud. Seastar is based on the concept of futures, for synchronizing program execution. The framework is tuned for performance by default, its documentation states.
Focused on high-throughput, low-latency, I/O-intensive applications, Seastar provides fast, scale-up infrastructure and makes it convenient to write asynchronous, non-blocking code, according to Scylla.
Proponents say Seastar unites a number of architectural innovations, including a shared-nothing model that shards requests onto individual cores; a choice of a network stack for Linux or OSv; and a futures and promises model for concurrent applications. It also features message-passing, for sharing information between cores without time-consuming locking, the company said. A native, sharded TCP/IP stack is included for better performance.
Seastar source code is available on GitHub.