Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/scylladb/seastar
High performance server-side application framework
https://github.com/scylladb/seastar
aio async c-plus-plus dpdk seastar
Last synced: 20 days ago
JSON representation
High performance server-side application framework
- Host: GitHub
- URL: https://github.com/scylladb/seastar
- Owner: scylladb
- License: apache-2.0
- Created: 2014-08-18T07:01:07.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2023-12-18T14:57:56.000Z (11 months ago)
- Last Synced: 2023-12-19T11:04:56.845Z (11 months ago)
- Topics: aio, async, c-plus-plus, dpdk, seastar
- Language: C++
- Homepage: http://seastar.io
- Size: 15.7 MB
- Stars: 7,755
- Watchers: 403
- Forks: 1,494
- Open Issues: 484
-
Metadata Files:
- Readme: README-DPDK.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome - scylladb/seastar - High performance server-side application framework (C++)
- awesome-iouring - Seastar - driven (Libraries / C++)
- awesome-code-for-gamedev - scylladb/seastar - High performance server-side application framework (Networking Libraries/Frameworks in Server Side / UI Test Automation Scripting)
README
Seastar and DPDK
================Seastar uses the Data Plane Development Kit to drive NIC hardware directly. This
provides an enormous performance boost.To enable DPDK, specify `--enable-dpdk` to `./configure.py`, and `--dpdk-pmd` as a
run-time parameter. This will use the DPDK package provided as a git submodule with the
seastar sources.Please note, if `--enable-dpdk` is used to build DPDK on an aarch64 machine, you need to
specify [target architecture](https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html) with optional
[feature modifiers](https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html#aarch64-feature-modifiers)
with the `--cflags` option as well, like:
```console
$ ./configure.py --mode debug --enable-dpdk --cflags='-march=armv8-a+crc+crypto'
```To use your own self-compiled DPDK package, follow this procedure:
1. Setup host to compile DPDK:
- Ubuntu
`sudo apt-get install -y build-essential linux-image-extra-$(uname -r)`
2. Prepare a DPDK SDK:
- Download the latest DPDK release: `wget https://fast.dpdk.org/rel/dpdk-23.07.tar.xz`
- Untar it.
- Follow the [Quick Start Guide](https://core.dpdk.org/doc/quick-start/)
- Pass `-Dmbuf_refcnt_atomic=false` to meson.
3. Modify the CMake cache (`CMakeCache.txt`) to inform CMake of the location of the installed DPDK SDK.