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)
Paolo Costa (Microsoft Research Cambridge)
Richard Clegg (Queen Mary University of London, UK)

Related Publications

SquirrelJoin: Network-Aware Distributed Join Processing with Lazy Partitioning, Rupprecht, Lukas, Culhane William, and Pietzuch Peter , 43rd International Conference on Very Large Data Bases (VLDB), 08/2017, Volume 10, Issue 11, Munich, Germany, p.1250-1261, (2017)  (450.51 KB)
Emu: Rapid Prototyping of Networking Services, Sultana, Nik, Galea Salvator, Greaves David, Wojcik Marcin, Shipton Jonny, Clegg Richard, Mai Luo, Bressana Pietro, Soule Robert, Mortier Richard, et al. , 2017 USENIX Annual Technical Conference (ATC), 07/2017, Santa Clara, CA, USA, (2017)
SwiftAnalytics: Optimizing Object Stores for Big Data Analytics, Rupprecht, Lukas, Zhang Rui, Owen Bill, Pietzuch Peter, and Hildebrand Dean , IEEE International Conference on Cloud Engineering (IC2E), 04/2017, Vancouver, Canada, (2017)  (292.31 KB)
Faces in the Clouds: Long-Duration, Multi-User, Cloud-Assisted Video Conferencing, Clegg, Richard G., Landa Raul, Griffin David, Rio Miguel, Hughes Peter, Kegel Ian, Stevens Tim, Pietzuch Peter, and Williams Doug , ACM Transactions on Cloud Computing (TCC), 03/2017, (2017)  (11.23 MB)
FLICK: Developing and Running Application-Specific Network Services, Alim, Abdul, Clegg Richard, Mai Luo, Rupprecht Lukas, Seckler Eric, Costa Paola, Pietzuch Peter, Wolf Alexander L., Sultana Nik, Crowcroft Jon, et al. , 2016 USENIX Annual Technical Conference (ATC), 06/2016, Denver, CO, USA, (2016)  (454.5 KB)
Towards a Network Marketplace in a Cloud, Yu, Da, Mai Luo, Arianfar Somaya, Fonseca Rodrigo, Krieger Orran, and Oran David , 8th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud), 06/2016, Denver, CO, USA, (2016)  (178.25 KB)
CloudScope: Diagnosing Performance Interference for Resource Management in Multi-Tenant Clouds, Chen, Xi, Rupprecht Lukas, Osman Rasha, Pietzuch Peter, Knottenbelt William, and Franciosi Felipe , 23rd IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunications Systems (MASCOTS), 10/2015, Atlanta, GA, USA, (2015)  (623.59 KB)
Optimizing Network Performance in Distributed Machine Learning, Mai, Luo, Hong Chuntao, and Costa Paolo , 7th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud), 07/2015, Santa Clara, CA, USA, (2015)  (200.14 KB)
NetAgg: Using Middleboxes for Application-specific On-path Aggregation in Data Centres, Mai, Luo, Rupprecht Lukas, Alim Abdul, Costa Paolo, Migliavacca Matteo, Pietzuch Peter, and Wolf Alexander L. , 10th International Conference on Emerging Networking Experiments and Technologies (CoNEXT), 12/2014, Sydney, Australia, (2014)  (513.79 KB)
NaaS: Network-as-a-Service in the Cloud, Costa, Paolo, Migliavacca Matteo, Pietzuch Peter, and Wolf Alexander L. , 2nd USENIX Workshop on Hot Topics in Management of Internet, Cloud, and Enterprise Networks and Services (Hot-ICE), 04/2012, San Jose, CA, USA, (2012)  (307.22 KB)