Skip to content

maq18/flexplane

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flexplane is an experimentation platform for resource management in datacenters.

Users implement resource management schemes in C++ in a centralized software
emulator. The emulator emulates the behavior of the network in real time, and
instructs endpoints when to send packets (and whether to apply modifications,
such as ECN marks), so that packets arrive at their destinations with the
timings and modifications they would have in a hardware network that supported
the programmed scheme.

Flexplane is described in more detail in:
Amy Ousterhout, Jonathan Perry, Hari Balakrishnan, and Petr Lapukhov.
"Flexplane: An Experimentation Platform for Resource Management in Datacenters."
NSDI 2017.

Directory Structure

This repo is a fork of https://github.com/yonch/fastpass. The key directories
used by Flexplane are described below.

  src/
    - arbiter/       main emulator loop and multi-core communications
    - emulator/	     emulated network and example resource management schemes
    - kernel-mod/    Linux kernel module
    - protocol/      FCP (Fastpass Control Protocol) implementation
    - rpc_tool/	     tool for running RPC experiments

Compiling and running

For instructions on compiling and running the emulator (called the 'arbiter' in
Fastpass terminology), see the README in src/arbiter. For instructions on
compiling and running the endpoing kernel module, se the README in
src/kernel-mod.

Licenses
The following licenses apply to code in this repo.
-The original code forked from https://github.com/yonch/fastpass is licensed
 under an MIT License, Copyright (c) 2014 Jonathan Perry, Amy Ousterhout.
-The CCAN packages in src/arbiter/ccan carry individual licenses. Most packages
 are CC0 ("public domain"), others are LGPL and BSD-MIT.
-The code in src/kernel-mod is additionally released under the GPL v2.
-The code in src/protocol/platform/generic.h contains some code from the Linux
 kernel, and derives from the respective Linux code's license (e.g. GPL).

Questions?
Please e-mail Amy Ousterhout at aousterh@mit.edu.

About

An experimentation platform for resource management in datacenters using whole-network emulation in a centralized software emulator.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 60.7%
  • C++ 19.3%
  • Python 10.7%
  • Shell 2.9%
  • R 2.3%
  • Makefile 2.1%
  • Other 2.0%