logo SBA

ETD

Archivio digitale delle tesi discusse presso l’Università di Pisa

Tesi etd-05102023-204647


Tipo di tesi
Tesi di dottorato di ricerca
Autore
FAIS, ALESSANDRA
URN
etd-05102023-204647
Titolo
Data Stream Processing in Programmable Networks
Settore scientifico disciplinare
ING-INF/03
Corso di studi
INGEGNERIA DELL'INFORMAZIONE
Relatori
tutor Prof. Procissi, Gregorio
relatore Prof. Giordano, Stefano
Parole chiave
  • Nethuns
  • WindFlow
  • high-speed packet processing
  • programming abstractions
  • data stream processing
  • programmable networks
  • software data plane
Data inizio appello
19/05/2023
Consultabilità
Completa
Riassunto
Network monitoring is one of the largest domains of interest for network operators, and efficient mechanisms for critical event detection are essential to keep the network running smoothly. A common computational pattern for implementing network monitoring tasks consists in the design of accurate and efficient per-packet monitoring techniques and requires the ability to analyze packet streams in a real-time (or close to) fashion.

Modern multi-core servers are powerful enough to process multi-gigabit live packet streams on the network data plane. However, network programmers must often build their applications from scratch, by implementing both the interfaces towards the lower hardware level (for the capturing of packets) and the proper mechanisms for parallel programming (for the processing of incoming data with high performance). Data Stream Processing (DaSP) frameworks have recently emerged as promising approaches to let programmers focus on the logic of the application to develop. However, DaSP systems are generally not designed for the networking domain, in terms of both performance and exposed abstractions. Recent solutions for network monitoring frameworks in programmable networks are based on traditional DaSP frameworks, which support the definition of general complex queries, and programmable switch platforms to achieve the required performance at scale.

This work proposes a new approach to offer high performance and expressiveness in a unified software framework, by solely relying on streaming frameworks for multicores. End-host servers in today’s networks are typically multicores, possibly equipped with coprocessors, like GPUs and SmartNICs, that can be used to accelerate any kind of live per-packet analytics tasks. The need for new improved data analysis solutions, able to provide optimal trade-off between performance and expressiveness, is proved to the programmable network research community.

The feasibility of adopting the DaSP approach for packet- and flow-level analysis from live data has been proven, and the WindFlow streaming library has been extended with optimizations designed ad hoc for the network domain to achieve this goal. The stream processing world and the network programming one have been actually connected through Nethuns, a software-based framework designed specifically for the implementation of high-performance network applications. Nethuns provides a single interface for software-side network programming to unify the usage of different network I/O APIs without impacting the performance. Finally, the possibility to offload portions of the processing tasks to accelerators is explored.

All in all, the proposed approach highlights and fills the evident need in modern networks for a fully software-based framework designed specifically for the implementation of high-performance network applications.
File