Skip to main content
Kent Academic Repository

FLICK: Developing and Running Application-Specific Network Services

Alim, Abdul and Clegg, Richard and Mai, Luo and Rupprecht, Lukas and Seckler, Eric and Costa, Paolo and Pietzuch, Peter and Wolf, Alexander L. and Sultana, Nik and Crowcroft, Jon and Madhavapeddy, Anil and Moore, Andrew and Mortier, Richard and Kolehini, Masoud and Oviedo, Luis and McAuley, Derek and Migliavacca, Matteo (2016) FLICK: Developing and Running Application-Specific Network Services. In: 2nd Symposium on Networked Systems Design & Implementation 2005. USENIX Association. ISBN 978-1-931971-30-0. (KAR id:58287)

Abstract

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.

Item Type: Book section
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 75 Electronic computers. Computer science
Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
T Technology > TK Electrical engineering. Electronics. Nuclear engineering > TK5101 Telecommunications > TK5105 Data transmission systems > TK5105.5 Computer networks
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Matteo Migliavacca
Date Deposited: 31 Oct 2016 14:57 UTC
Last Modified: 10 Dec 2022 02:44 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/58287 (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.