calisto
所属分类:其他
开发工具:C
文件大小:0KB
下载次数:0
上传日期:2021-05-18 00:39:30
上 传 者:
sh-1993
说明: 用于快速数据包处理的负载感知操作系统。使数据中心中的服务器能够提供低尾部延迟和高CPU效率。,
(Load aware OS for fast packet processing. Enables servers in data centers to provide low tail latency and high CPU efficiency.,)
文件列表:
.vscode/
apps/
base/
bindings/
inc/
iokernel/
ksched/
net/
runtime/
scripts/
shim/
tests/
CONTRIBUTING.md
LICENSE
Makefile
client.config
dpdk.sh
ixgbe.patch
ixgbe_18_11.patch
mlx.patch
mlx4_18_11.patch
mlx5_18_11.patch
sample.config
server.config
# 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](https://github.com/shenango/shenango) fork.
## How to Run Calisto
1) Clone the Calisto repository.
```
git clone https://github.com/andreybleme/calisto
cd calisto
```
2) 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`.
3) 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
```
4) 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](https://doc.dpdk.org/guides/nics/mlx4.html). 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`).
近期下载者:
相关文件:
收藏者: