backdraft

Backdraft: a Lossless Virtual Switch that Prevents the Slow Receiver Problem. USENIX NSDI 2022

https://github.com/machnett/backdraft

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Backdraft: a Lossless Virtual Switch that Prevents the Slow Receiver Problem. USENIX NSDI 2022

Basic Info
  • Host: GitHub
  • Owner: machnett
  • License: mit
  • Language: C
  • Default Branch: master
  • Homepage:
  • Size: 91.6 MB
Statistics
  • Stars: 15
  • Watchers: 2
  • Forks: 5
  • Open Issues: 0
  • Releases: 0
Created about 4 years ago · Last pushed about 3 years ago
Metadata Files
Readme License Citation

README.md

Backdraft

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.

[Paper] [Slide]

What is the slow receiver problem?

Any networked application is potentially a slow receiver if it is unable to keep up with the incoming rate.

System Architetcure

Backdraft

Repo Layout

- / - 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.

License

MIT

Disclaimer

This is a research prototype.

Help

Please use Github Issues.

Still working on the readme!

Owner

  • Name: machnett
  • Login: machnett
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Sanane"
  given-names: "Alireza"
  orcid: "hhttps://orcid.org/0000-0001-6461-1650"
- family-names: "Shahinfar"
  given-names: "Farbod"
  orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Antichi"
  given-names: "Gianni"
  orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Stephens"
  given-names: "Brent"
  orcid: "https://orcid.org/0000-0000-0000-0000"
title: "Backdraft: a Lossless Virtual Switch that Prevents the Slow Receiver Problem"
version: 1.0.0
doi: "https://www.usenix.org/conference/nsdi22/presentation/sanaee"
date-released: 2022-05-04
url: "https://github.com/Lossless-Virtual-Switching/Backdraft"

GitHub Events

Total
Last Year

Dependencies

code/tas/doc/requirements.txt pypi
  • breathe *
code/apps/tas_container/Dockerfile docker
  • ubuntu 18.04 build
code/apps/tas_memcached/Dockerfile docker
  • ubuntu 18.04 build
code/apps/tas_memcached_shuffle/Dockerfile docker
  • ubuntu 18.04 build
code/apps/tas_shuffle/Dockerfile docker
  • ubuntu 18.04 build
code/apps/tas_unidir/Dockerfile docker
  • ubuntu 18.04 build
code/bess-v1/env/Dockerfile docker
  • ${BASE_IMAGE} latest build
exp/legacy_exp/container/apache/ab/Dockerfile docker
  • ubuntu 18.04 build
exp/legacy_exp/container/apache/httpd/Dockerfile docker
  • httpd 2.4 build
exp/legacy_exp/container/iperf/Dockerfile docker
  • ubuntu 18.04 build
exp/legacy_exp/container/iperf/docker-compose.yml docker
  • iperf3_container latest
exp/legacy_exp/container/memcached/Dockerfile docker
  • ubuntu 18.04 build
exp/legacy_exp/container/shuffle/Dockerfile docker
  • ubuntu 18.04 build