Skip to content

CEIO: A Cache-Efficient Network I/O Architecture for NIC-CPU Data Paths

Notifications You must be signed in to change notification settings

axio-project/ceio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CEIO

This is a quick start for running the CEIO project. CEIO is a cache-efficient network I/O architecture for NIC-CPU data paths, which has been accepted by ACM SIGCOMM 2025. Currenty, we are working actively on the integration of CEIO into Axio library for easier usage.

# Clone the repository with submodules
git clone --recurse-submodules https://github.com/axio-project/ceio.git

Catalog

  1. Dependencies
  2. Quick Start
  3. Troubleshooting

1. Dependencies

CEIO is built on top of two Axio frameworks:

  • Axio Emulator: A 400Gbps datapath test loader, emulator, and tuner.
  • Axio BF3 Express: An expressed NVIDIA DOCA / BlueField execution platform for axio projects.

Basically, running CEIO requires two servers: one is for the sender, running the Axio Emulator; the other is for the receiver, equipped with a NVIDIA BlueField 3 DPU, running both Axio Emulator and Axio BF3 Express. The network traffic is generated by sender's Axio Emulator, passed through receiver's BlueField 3 DPU, and then received by receiver's Axio Emulator. Finally, you can find the performance numbers in Axio Emulator's output.

In this README, we refer "host" as the server's OS, "dpu" as the OS running on the BlueField 3 DPU, and "nic" as the integrated cx7 within the BlueField 3 DPU. For example, "#host: bash ./build.sh" means running the bash script on the host OS; "#dpu: bash ./build.sh" means running the bash script on the dpu OS.

Test Environment

  • Ubuntu 22.04
  • Linux kernel 5.15.x
  • DPDK 22.11.x
  • Intel(R) Xeon(R) Silver 4309Y CPU @ 2.80GHz
  • two-port 200Gbps BlueField 3 DPU
  • NVIDIA DOCA 2.9.2
  • PCIe 4.0 x 16
  • 512GB DDR5 3200MT/s

2. Quick Start

Before running CEIO, you need to build the Axio Emulator and Axio BF3 Express. Please refer to the README of Axio Emulator and Axio BF3 Express for more details.

3. Troubleshooting

Citation

If you find CEIO useful, we would appreciate if you could cite our paper:

@inproceedings{ceio,
  title={CEIO: A Cache-Efficient Network I/O Architecture for NIC-CPU Data Paths},
  author={Liu, Bowen and Huang, Xinyang and Li, Qijing and Huang, Zhuobin and Sun, Yijun and Li, Wenxue and Zhang, Junxue and Yin, Ping and Chen, Kai},
  booktitle={Proceedings of the ACM SIGCOMM 2025 Conference},
  pages={381--394},
  year={2025}
}

About

CEIO: A Cache-Efficient Network I/O Architecture for NIC-CPU Data Paths

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •