Backdraft is a new lossless virtual switch that addresses the slow receiver problem by combining three new components: (1) Dynamic Per-Flow Queuing (DPFQ) to prevent HOL blocking and provide on-demand memory usage; (2) Doorbell queues to reduce CPU overheads; (3) A new overlay network to avoid congestion spreading.
Our NSDI22 Paper describes the Backdraft design and its rationale.
Any networked application is potentially a slow receiver if it is unable to keep up with the incoming rate.
- /
- env: all scripts regarding environment setup
- exp: all scripts regarding experiments in the paper
- code: all the codes and libraries built for Backdraft
- tas: tas library for the userspace TCP/DCTCP
- Homa: Homa openloop app workload generator
- apps: dummy applications to generate non-cooperative workload.
- dpdk: DPDK
- lib: backdraft interface library
- tas-benchmark: tas applications
For installing Backdraft look here and for some details about experiments look here.
MIT
This is a research prototype.
Please use Github Issues.
Still working on the readme!