High performance server-side application framework
C++ Python Other
Latest commit 4d4a58d Feb 21, 2017 Amnon Heiman committed with tgrabiec reactor utilization should return the utilization in 0-1 range
The reactor load parameter repot the percentage the cpu is not in used.
the utilization metric should report the revert.

Fixes #248

Signed-off-by: Amnon Heiman <amnon@scylladb.com>
Message-Id: <1487678487-5029-1-git-send-email-amnon@scylladb.com>
Failed to load latest commit information.
apps iotune: make sure help is working Feb 16, 2017
c-ares @ fd6124c Add c-ares (dns query library) as submodule Feb 1, 2017
core reactor utilization should return the utilization in 0-1 range Feb 21, 2017
debug debug: add latency detector script Nov 27, 2016
doc tutorial: pick the name "asynchronous function". Feb 6, 2017
docker/dev Dockerfile update Mar 15, 2016
dpdk @ af56afc Update DPDK to 16.11 Jan 1, 2017
fmt @ 0a20325 print: switch to fmtlib Jul 18, 2016
http http: Move metrics registration to the metrics layer Dec 21, 2016
json json::formatter: Add formatters for maps + rudimentary test Oct 25, 2016
kvm VM image build script to running SeaStar on Linux guest May 27, 2015
licenses scripts: Scripts allowing to run a command in DPDK environment. Sep 20, 2015
net tls: make shutdown/close do "clean" handshake shutdown in background Feb 14, 2017
proto Import the metrics definition from prometheus Jul 21, 2016
rpc rpc: fix timeout checking condition Jan 26, 2017
scripts scripts/posix_net_conf.sh: detect IRQs of virtio-net and xen_netfront… Oct 26, 2016
tests tests: Add test for circular_buffer::erase() Feb 11, 2017
util print_safe.hh: factor out code that converts integer representations Feb 10, 2017
.gitattributes Add .gitattributes to improve 'git diff' output Nov 3, 2015
.gitignore Ignore cscope files Oct 23, 2014
.gitmodules Add c-ares (dns query library) as submodule Feb 1, 2017
.gitorderfile gitorderfile: make changes into *.py files appear first May 12, 2015
Doxyfile do not generate documentation for the fmt submodule Sep 18, 2016
LICENSE Add LICENSE, NOTICE, and copyright headers to all source files. Feb 19, 2015
NOTICE NOTICE: mention dpdk Jun 24, 2015
README-DPDK.md dpdk: get rid of backward compatibility code Jul 28, 2015
README-OSv.md README: Rename README-OSv to README-OSv.md May 5, 2015
README.md doc: use install-dependencies.sh on docs Aug 3, 2016
configure.py configure.py: switch cmake to build c-ares to do out-of-source-tree b… Feb 16, 2017
install-dependencies.sh Add libtool to dependencies Feb 5, 2017
test.py core: Introduce expiring_fifo extracted from semaphore Nov 22, 2016




SeaStar is an event-driven framework allowing you to write non-blocking, asynchronous code in a relatively straightforward manner (once understood). It is based on futures.

Building Seastar

See instructions for Fedora, CentOS and Ubuntu.

There are also instructions for building on any host that supports Docker.

Use of the DPDK is optional.

Getting started

There is a mini tutorial and a more comprehensive one.

The Native TCP/IP Stack

Seastar comes with its own userspace TCP/IP stack for better performance.

Recommended hardware configuration for SeaStar

  • CPUs - As much as you need. SeaStar is highly friendly for multi-core and NUMA
  • NICs - As fast as possible, we recommend 10G or 40G cards. It's possible to use 1G to but you may be limited by their capacity. In addition, the more hardware queue per cpu the better for SeaStar. Otherwise we have to emulate that in software.
  • Disks - Fast SSDs with high number of IOPS.
  • Client machines - Usually a single client machine can't load our servers. Both memaslap (memcached) and WRK (httpd) cannot over load their matching server counter parts. We recommend running the client on different machine than the servers and use several of them.