Derecho System

Several of our suggested project ideas make use of Cornell's new Derecho platform, which is a tool for creating "smart memory" services to connect with Internet of Things infrastructures such as sensors, edge devices, etc. Derecho is described here, and there is a slide set on it here. You can download it from this site, and will find documentation there too. Our TA, Sagar Jha, will show people how to configure Derecho to run on a pure software infrastructure (one lacking RDMA hardware) in one of the first recitation classes, and can help anyone who gets stuck.

Derecho can only be used from C++ on Linux, so if you wish to work in some other programming language or on some other operating system, it will not be a good choice. It will be fairly slow when used from a pure software setup such as Soft RoCE, but this is still find for development. If running in a virtual machine, it might be even slower. CS 5412 won't penalize you for mediocre performance if you find that you really have no other option.

We would like to extend Derecho in a few ways. If you are very skilled in C++ on Linux (including the new variadic template layer) and wish to help us as you course project, please speak to us about this during the first week of classes. We will only take on 2 or 3 students at most in this role, and the associated projects will be full semester activities, requiring a fairly substantial time committment.

People helping us in this way would have access to a Linux cluster with 100Gb RDMA networking on 16 nodes, and will be able to use the system for testing and experiments. However, the cluster is shared, and must be reserved for experiments, usually for an hour or so at a time. It is dedicated for Derecho development (and other research use by Profs Birman, Weatherspoon and Van Renesse), and cannot be used for other purposes.