Git Product home page Git Product logo

redn's Introduction

RedN is a framework that allows arbitrary offloads to RDMA NICs showcasing that they are, in fact, Turing complete. Our NSDI 2022 paper describes this framework in detail.

To cite us, you can use the following BibTex entry:

@inproceedings {redn,
author = {Waleed Reda and Marco Canini and Dejan Kosti{\'c} and Simon Peter},
title = {{RDMA} is Turing complete, we just did not know it yet!},
booktitle = {19th USENIX Symposium on Networked Systems Design and Implementation (NSDI 22)},
year = {2022},
address = {Renton, WA},
url = {https://www.usenix.org/conference/nsdi22/presentation/reda},
publisher = {USENIX Association},
month = apr,
}

Features of RedN:

  • Turing complete: Provides RDMA implementations for high-level programming constructs (e.g. if and while statements)
  • Fully offloads access to popular data structures on remote servers (e.g. hash tables, linked lists)
  • Accelerates Memcached lookup performance (by up to 35x)
  • Supports Infiniband and RoCE

Requirements

  • Hardware: Mellanox ConnectX-5 / ConnectX-6 NIC
    • Other models that use the mlx5 driver may also be supported (subject to further testing).
  • Drivers: MLNX_OFED 4.7-1.0.0.1 installation
    • TODO: We are currently working on supporting other versions.
  • Toolchain: GCC compiler (version 4.7+)

RedN quickstart

  • Build the project:
    • Go to the root directory and run make.
  • Modify the NIC's firmware (warning: use this at your own discretion)
    • cd conf and run ./disable_wqe_checks.sh <device_name>
    • By default the device_name is set to mlx5_1
  • Build and run benchmarks:
    • cd bench/micro and then run make. To execute a hash table lookup offload:
    • On the server run ./hash_bench
    • On the client run ./hash_bench <peer_address> <iters>

Contact

Waleed Reda ([email protected])

License

This software is provided under the terms of the GNU General Public License 2.

redn's People

Contributors

wreda avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.