Flexplane: An Experimentation Platform for Resource Management in Datacenters

Amy Ousterhout, Jonathan Perry, Hari Balakrishnan, Petr Lapukhov
14th USENIX Symposium on Networked Systems Design and Implementation (NSDI), Boston, MA, March 2017

Flexplane enables users to program data plane algorithms and conduct experiments that run real application traffic over them at hardware line rates. Flexplane explores an intermediate point in the design space between past work on software routers and emerging work on programmable hardware chipsets. Like software routers, Flexplane enables users to express resource management schemes in a high-level language (C++), but unlike software routers, Flexplane runs at close to hardware line rates. To achieve these two goals, a centralized emulator faithfully emulates, in real-time on a multi-core machine, the desired data plane algorithms with very succinct representations of the original packets. Real packets traverse the network when notified by the emulator, sharing the same fate and relative delays as their emulated counterparts.

Flexplane accurately predicts the behavior of several network schemes such as RED and DCTCP, sustains aggregate throughput of up to 760 Gbits/s on a 10-core machine (~20x faster than software routers), and enables experiments with real-world operating systems and applications (e.g., Spark) running on diverse network schemes at line rate, including those such as HULL and pFabric that are not available in hardware today.


[PDF (657KB)]

Bibtex Entry:

@inproceedings{ousterhout2017flexplane,
   author =       "Amy Ousterhout and Jonathan Perry and Hari Balakrishnan and Petr Lapukhov",
   title =        "{Flexplane: An Experimentation Platform for Resource Management in Datacenters}",
   booktitle =    {14th USENIX Symposium on Networked Systems Design and Implementation (NSDI)},
   year =         {2017},
   month =        {March},
   address =      {Boston, MA}
}