sponsors
help promote
usenix conference policies
FLICK: Developing and Running Application-Specific Network Services
Abdul Alim, Richard G. Clegg, Luo Mai, Lukas Rupprecht, and Eric Seckler, Imperial College London;; Paolo Costa, Microsoft Research and Imperial College London;; Peter Pietzuch and Alexander L. Wolf, Imperial College London;; Nik Sultana, Jon Crowcroft, Anil Madhavapeddy, Andrew W. Moore, and Richard Mortier, University of Cambridge; Masoud Koleni, Luis Oviedo, and Derek McAuley, University of Nottingham; Matteo Migliavacca, University of Kent
Data centre networks are increasingly programmable, with application-specific network services proliferating, from custom load-balancers to middleboxes providing caching and aggregation. Developers must currently implement these services using traditional low-level APIs, which neither support natural operations on application data nor provide efficient performance isolation.
We describe FLICK, a framework for the programming and execution of application-specific network services on multi-core CPUs. Developers write network services in the FLICK language, which offers high-level processing constructs and application-relevant data types. FLICK programs are translated automatically to efficient, parallel task graphs, implemented in C++ on top of a user-space TCP stack. Task graphs have bounded resource usage at runtime, which means that the graphs of multiple services can execute concurrently without interference using cooperative scheduling. We evaluate FLICK with several services (an HTTP load-balancer, a Memcached router and a Hadoop data aggregator), showing that it achieves good performance while reducing development effort.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.
author = {Abdul Alim and Richard G. Clegg and Luo Mai and Lukas Rupprecht and Eric Seckler and Paolo Costa and Peter Pietzuch and Alexander L. Wolf and Nik Sultana and Jon Crowcroft and Anil Madhavapeddy and Andrew W. Moore and Richard Mortier and Masoud Koleni and Luis Oviedo and Matteo Migliavacca and Derek McAuley},
title = {{FLICK}: Developing and Running {Application-Specific} Network Services},
booktitle = {2016 USENIX Annual Technical Conference (USENIX ATC 16)},
year = {2016},
isbn = {978-1-931971-30-0},
address = {Denver, CO},
pages = {1--14},
url = {https://www.usenix.org/conference/atc16/technical-sessions/presentation/alim},
publisher = {USENIX Association},
month = jun
}
connect with us