NaaS: Application-Specific Network Services

This project is focused on networking in the datacentre.  It aims to optimse network traffic based upon knowledge about the applications creating that traffic. This allows sophisticated mechanisms to be implemented in the network, for example custom routing protocols, traffic filtering, streaming processing of data and key-value stores. We term this approach as “Network-as-a-Service”. By modifying the content of packets on-path, they can efficiently implement advanced, application-specific network services, such as in-network data aggregation and smart caching. Parallel processing systems such as MapReduce and Search engines, as well as emerging machine learning systems would greatly benefit because data can be aggregated on-path, thus reducing execution times. Key-value stores (e.g. memcached) can improve their performance by caching popular keys within the network, which decreases latency and bandwidth usage compared to end-host-only deployments.

To facilitate the development of the NaaS system we have created a domain specific language, FLICK, and an efficient parallel runtime. The FLICK language is used to specify a variety of middlebox functionality in a compact but safe-by-design way. This allows an application programmer to, for example, specify a system that intelligently balances http traffic or that processes Hadoop MapReduce data in a small number of lines. The runtime system is focused on smart scheduling that allows a diverse library of applications to co-exist on the same box in a safe and efficient manner so that one application cannot starve another of resources.

EPSRC (2013-2016)
Abdul Alim (IBM, US)
Lukas Rupprecht (IBM Research Almaden, US)
Luo Mai (University of Edinburgh)
Paolo Costa (Microsoft Research Cambridge)
Richard Clegg (Queen Mary University of London, UK)

Related Publications

Lukas Rupprecht, William Culhane, and Peter Pietzuch
43rd International Conference on Very Large Data Bases (VLDB), 2017
Volume 10, Issue 11, Munich, Germany, p.1250-1261
Nik Sultana, Salvator Galea, David Greaves, Marcin Wojcik, Jonny Shipton, Richard Clegg, Luo Mai, Pietro Bressana, Robert Soule, Richard Mortier, Paolo Costa, Peter Pietzuch, Jon Crowcroft, Andrew W. Moore, and Noa Zilberman
2017 USENIX Annual Technical Conference (ATC), 2017
Santa Clara, CA, USA
Lukas Rupprecht, Rui Zhang, Bill Owen, Peter Pietzuch, and Dean Hildebrand
IEEE International Conference on Cloud Engineering (IC2E), 2017
Vancouver, Canada
Richard G. Clegg, Raul Landa, David Griffin, Miguel Rio, Peter Hughes, Ian Kegel, Tim Stevens, Peter Pietzuch, and Doug Williams
ACM Transactions on Cloud Computing (TCC), 2017
Abdul Alim, Richard Clegg, Luo Mai, Lukas Rupprecht, Eric Seckler, Paola Costa, Peter Pietzuch, Alexander L. Wolf, Nik Sultana, Jon Crowcroft, Anil Madhavapeddy, Andrew W. Moore, Richard Mortier, Masoud Koleini, Luis Oviedo, Derek McAuley, and Matteo Migliavacca
2016 USENIX Annual Technical Conference (ATC), 2016
Denver, CO, USA
Da Yu, Luo Mai, Somaya Arianfar, Rodrigo Fonseca, Orran Krieger, and David Oran
8th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud), 2016
Denver, CO, USA
Xi Chen, Lukas Rupprecht, Rasha Osman, Peter Pietzuch, William Knottenbelt, and Felipe Franciosi
23rd IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunications Systems (MASCOTS), 2015
Atlanta, GA, USA
Luo Mai, Chuntao Hong, and Paolo Costa
7th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud), 2015
Santa Clara, CA, USA
Luo Mai, Lukas Rupprecht, Abdul Alim, Paolo Costa, Matteo Migliavacca, Peter Pietzuch, and Alexander L. Wolf
10th International Conference on Emerging Networking Experiments and Technologies (CoNEXT), 2014
Sydney, Australia
Paolo Costa, Matteo Migliavacca, Peter Pietzuch, and Alexander L. Wolf
2nd USENIX Workshop on Hot Topics in Management of Internet, Cloud, and Enterprise Networks and Services (Hot-ICE), 2012
San Jose, CA, USA