Skip to content

Load aware OS for fast packet processing. Enables servers in data centers to provide low tail latency and high CPU efficiency.

License

Notifications You must be signed in to change notification settings

andreybleme/calisto

Repository files navigation

Calisto

Calisto is a system that enables servers in datacenters to provide low tail latency and high CPU efficiency, by rapidly reallocating cores across applications, at timescales as small as every 5 microseconds while keeping packet flow affinity when assigning packets to cores.

This is a Shenango fork.

How to Run Calisto

  1. Clone the Calisto repository.
git clone https://github.com/andreybleme/calisto
cd calisto
  1. Setup DPDK and build the IOKernel and Shenango runtime.
./dpdk.sh
./scripts/setup_machine.sh
make clean && make

To enable debugging, build with make DEBUG=1.

  1. Install Rust and build a synthetic client-server application.
curl https://sh.rustup.rs -sSf | sh
rustup default nightly
cd apps/synthetic
cargo clean
cargo update
cargo build --release
  1. Run the synthetic application with a client and server. The client sends requests to the server, which performs a specified amount of fake work (e.g., computing square roots for 10us), before responding.

On the server:

sudo ./iokerneld
./apps/synthetic/target/release/synthetic 192.168.1.3:5000 --config server.config --mode spawner-server

On the client:

sudo ./iokerneld
./apps/synthetic/target/release/synthetic 192.168.1.3:5000 --config client.config --mode runtime-client

Supported Platforms

This has been tested most thoroughly on Ubuntu 18.04, with kernel 4.15.0. It has been tested with Intel 82599ES 10 Gbits/s NICs and Mellanox ConnectX-3 Pro 10 Gbits/s NICs. If you use Mellanox NICs, you should install the Mellanox OFED as described in DPDK's documentation. If you use Intel NICs, you should insert the IGB UIO module and bind your NIC interface to it (e.g., using the script ./dpdk/usertools/dpdk-setup.sh).

About

Load aware OS for fast packet processing. Enables servers in data centers to provide low tail latency and high CPU efficiency.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published