# Thesis data

This directory contains the source code, scripts, and data used in the thesis
"Fine-grained OS Control over High-performance Networking" by Maksym Planeta.
The directory comprises the data from three projects: MigrOS, CoRD, and
Fastcalls.

## MigrOS

The MigrOS project is a system for live migration of high-performance
networking applications.

More information about the project can be found in the [MigrOS README](migros/README.md).

## CoRD

The CoRD project is a system for enabling fine-grained control over the
RDMA network data plane.

The `cord` directory is organized as follows:

- `ansible_collections`: contains the Ansible collections used in the CoRD
  project.
- `criu`: contains the source code of the CRIU with initial CoRD support.
- `experiments`: contains the scripts and data used in the CoRD experiments.
- `ibtop`: contains the source code of the IBTOP tool.
- `iproute2`: contains the source code of the IPROUTE2 with ovey support.
- `linux`: contains the source code of the Linux kernel with CoRD support.
- `nooby_congestion`: contains the initial verstion of the Nooby congestion
  control tool
- `ovey`: contains the source code of the initial version of OVEY, a virtual
  RDMA network.
- `rdma-core`: contains the source code of the RDMA core library with CoRD
  support.

The source code directories are git repositories with multiple branches for the
different versions of the code. Refer to `cord/experiments/install.yaml` for
the exact versions used in the experiments.

To run the experiments, follow the instructions in the
[systems.md](cord/experiments/doc/systems.md) file.

## Fastcalls

The Fastcalls project is a system for enabling fast system calls in the Linux
kernel. The project includes both privileged and unprivileged fastcalls.

Refer to the [Fastcalls README](fastcalls/README) for more information.