PMNet is a system that accelerates update requests by logging update requests in network device.
If you find PMNet useful in your research, please cite:
Korakit Seemakhupt, Sihang Liu, Yasas Senevirathne, Muhammad Shahbaz and Samira Khan
PMNet: In-Network Data Persistence The International Symposium on Computer Architecture (ISCA), 2021
BibTex
@inproceedings{seemakhupt2021pmnet,
title={PMNet: In-Network Data Persistence},
author={Seemakhupt, Korakit and Liu, Sihang and Senevirathne, Yasas and Shahbaz, Muhammad and Khan, Samira},
booktitle={2021 ACM/IEEE 48th Annual International Symposium on Computer Architecture (ISCA)},
year={2021}
}
- Xilinx VCU118 FPGA
- Server Machine: Intel Cascade Lake, 128GiB DRAM, 256GiB DCPMM, Mellanox CX353A NIC, Ubuntu 20.04
- Client Machine: Intel Haswell, 128GiB DRAM, Mellanox CX353A NIC, Ubuntu 20.04
- 10 Gbit/s ethernet switches as ToR switches
Servers <---> ToR switch - FPGA <---> ToR switch <---> Clients
PMNet implementation consists of 2 main parts: PMNet hardware and PMNet software
There are 2 main parts of PMNet hardware implementation.
- Packet processing (available at PMNet_release/PMNet_P4/)
- Datapath in FPGA (available at PMNet_release/PMNet_Vivado/)
Workloads used for PMNet evaluation.
Available Here: PMNet_release/workloads/