Seastar is an advanced, open-source C++ framework for high-performance server applications on modern hardware. Applications using Seastar can run on Linux or OSv.
Performance
In the above examples, all servers are running on Linux. The stock Memcached is version 1.4.17.
Details on HTTP performance data are also available.
About Seastar
Seastar is the first framework to bring together a set of extreme architectural innovations, including:
- Shared-nothing design: Seastar uses a shared-nothing model that shards all requests onto individual cores.
- High-performance networking: Seastar offers a choice of network stack, including conventional Linux networking for ease of development, DPDK for fast user-space networking on Linux, and native networking on OSv.
- Futures and promises: an advanced new model for concurrent applications that offers C++ programmers both high performance and the ability to create comprehensible, testable high-quality code.
- Message passing: a design for sharing information between CPU cores without time-consuming locking.
Seastar applications
While many applications can benefit from high performance, Seastar is currently focused on high-throughput, low-latency I/O intensive applications. For example, it is useful for NoSQL servers, for data caches such as memcached, and for high-performance HTTP serving.
Seastar is bundled with several sample applications. Cloudius Systems team is working on a major implementation which is in stealth mode for the time being.
- Seastar HTTPD: web server
- Seastar Memcached: a fast server for the Memcache key-value store
These sample applications illustrate a range of Seastar techniques.
Getting started with Seastar
Source code is available from the Seastar repository on GitHub.
A basic Seastar tutorial is coming soon. Complete the form below, or follow @CloudiusSystems on Twitter, for more info.
The main resource for learning Seastar is the online documentation available within the source code. The README.md file includes instructions for installing and using the documentation on your system.
seastar-dev is the project mailing list.
Next: shared-nothing design