Emu: Rapid Prototyping of Networking Services. Sultana, N., Galea, S., Greaves, D., Wojcik, M., Shipton, J., Clegg, R., Mai, L., Bressana, P., Soule, R., Mortier, R., & others In 2017 USENIX Annual Technical Conference (USENIX ATC ’17), pages 459–471, Jan, 2017. USENIX Association.
abstract   bibtex   
© USENIX Annual Technical Conference, USENIX ATC 2017. All rights reserved. Due to their performance and flexibility, FPGAs are an attractive platform for the execution of network functions. It has been a challenge for a long time though to make FPGA programming accessible to a large audience of developers. An appealing solution is to compile code from a general-purpose language to hardware using high-level synthesis. Unfortunately, current approaches to implement rich network functionality are insufficient because they lack: (i) libraries with abstractions for common network operations and data structures, (ii) bindings to the underlying “substrate” on the FPGA, and (iii) debugging and profiling support. This paper describes Emu, a new standard library for an FPGA hardware compiler that enables developers to rapidly create and deploy network functionality. Emu allows for high-performance designs without being bound to particular packet processing paradigms. Furthermore, it supports running the same programs on CPUs, in Mininet, and on FPGAs, providing a better development environment that includes advanced debugging capabilities. We demonstrate that network functions implemented using Emu have only negligible resource and performance overheads compared with natively-written hardware versions.
@InProceedings{Sultana2017Emu,
  author            = {Sultana, Nik and Galea, Salvator and Greaves, David and Wojcik, Marcin and Shipton, Jonny and Clegg, Richard and Mai, Luo and Bressana, Pietro and Soule, Robert and Mortier, Richard and others},
  booktitle         = {2017 USENIX Annual Technical Conference (USENIX ATC ’17)},
  title             = {{Emu: Rapid Prototyping of Networking Services}},
  year              = {2017},
  month             = {Jan},
  organization      = {USENIX Association},
  pages             = {459--471},
  abstract          = {© USENIX Annual Technical Conference, USENIX ATC 2017. All rights reserved. Due to their performance and flexibility, FPGAs are an attractive platform for the execution of network functions. It has been a challenge for a long time though to make FPGA programming accessible to a large audience of developers. An appealing solution is to compile code from a general-purpose language to hardware using high-level synthesis. Unfortunately, current approaches to implement rich network functionality are insufficient because they lack: (i) libraries with abstractions for common network operations and data structures, (ii) bindings to the underlying “substrate” on the FPGA, and (iii) debugging and profiling support. This paper describes Emu, a new standard library for an FPGA hardware compiler that enables developers to rapidly create and deploy network functionality. Emu allows for high-performance designs without being bound to particular packet processing paradigms. Furthermore, it supports running the same programs on CPUs, in Mininet, and on FPGAs, providing a better development environment that includes advanced debugging capabilities. We demonstrate that network functions implemented using Emu have only negligible resource and performance overheads compared with natively-written hardware versions.},
  day               = {1},
  isbn              = {9781931971386},
  journal           = {Proceedings of the 2017 USENIX Annual Technical Conference, USENIX ATC 2017},
  publicationstatus = {published},
}

Downloads: 0