Project

Back to overview

P4Debug: A Framework for Debugging Programmable Data Planes

Applicant Bressana Pietro Giuseppe
Number 178657
Funding scheme Doc.Mobility
Research institution Computer Laboratory University of Cambridge
Institution of higher education Institution abroad - IACH
Main discipline Information Technology
Start/End 01.02.2018 - 31.07.2018
Show all

Keywords (10)

P4; programmable network hardware; field programmable gate arrays; hardware design; network programming languages; network debugging; network monitoring; NetFPGA SUME; automatic test packet generation; PISA

Lay Summary (Italian)

Lead
P4Debug: un'infrastruttura per l'individuazione e la correzione degli erroriper dispositivi di rete programmabili.
Lay summary
L'obiettivo di questo progetto e' quello di sviluppare una nuova infrastruttura per l'individuazione e la correzione degli errori per dispositivi di rete, sfruttando i recenti sviluppi nell'ambito delle reti programmabili e della progettazione hardware.
L'infrastruttura esporra' lo stato e le operazioni interne dei dispositivi di rete, finora inaccessibili agli utenti e agli sviluppatori.
Le reti di computer costituiscono l'infrastruttura indispensabile per molte applicazioni che toccano tutti gli aspetti della vita quotidiana.
Tuttavia, le reti sono complesse e imprevedibili e le interruzioni di servizio sono molto frequenti.
Nonostante l'importanza delle reti di computer e l'abbondanza di problemi, i tecnici sono tuttora privi degli strumenti e del supporto necessari per individuare e correggere gli errori relativi ai loro dispositivi di rete.
Pare che questo scenario stia cambiando. Una nuova generazione di dispositivi di rete che possono essere programmati con linguaggi di alto livello come P4 e' in grado di eguagliare le prestazioni dei dispositivi di rete non programmabili. Questa tendenza pone un importante interrogativo:
E' possibile sfruttare questa nuova programmabilita' per individuare e correggere gli errori nei dispositivi di rete? L'obiettivo di questo progetto e' quello di estendere le capacita' dei dispositivi di rete programmabili, aggiungendo le funzionalita' necessarie per l'individuazione e la correzione degli errori.
Gli approcci tradizionali per l'individuazione e la correzione degli errori nei dispositivi di rete soffrono di due principali limitazioni: funzionano solo "passivamente", in risposta a pacchetti di rete generati da dispositivi esterni e sono implementati nella stessa porzione del dispositivo che l'utente vuole analizzare, rendendo difficile distinguere il comportamento del dispositivo da esaminare da quello
che viene utilizzato per esaminarlo.
Per superare queste limitazioni, proponiamo una nuova infrastruttura per l'individuazione e la correzione degli errori, chiamata P4Debug, che include tre componenti principali:
(i) un'estensione dell'architettura da analizzare che permette la generazione di pacchetti di rete per l'analisi "attiva" dell'architettura, (ii) un modulo hardware per l'individuazione e la correzione degli errori, implementato parallelamente all'architettura da analizzare e (iii) specifiche estensioni al linguaggio P4, per l'individuazione e la correzione degli errori.
Per valutare le capacita' dell'infrastruttura, svilupperemo un prototipo che sfruttera' diverse tecnologie esistenti, tra cui l'infrastruttura NetFPGA Sume e il compilatore P4-FPGA Xilinx SDNet.
Ci aspettiamo che, grazie alla nostra innovativa infrastruttura, gli operatori di rete possano accrescere la loro abilita' nel capire il comportamento delle loro reti e nell'individuarne e correggerne gli errori.
Direct link to Lay Summary Last update: 01.12.2017

Responsible applicant and co-applicants

Publications

Publication
A Programmable Framework for Validating Data Planes
Bressana Pietro, Zilberman Noa, Soulé Robert, A Programmable Framework for Validating Data Planes, Association for Computing Machinery, New York, NY, USA.

Collaboration

Group / person Country
Types of collaboration
Andrew W. Moore, Noa Zilberman, Computer Laboratory University of Cambridge Great Britain and Northern Ireland (Europe)
- in-depth/constructive exchanges on approaches, methods or results
- Publication
- Research Infrastructure
- Exchange of personnel

Scientific events

Active participation

Title Type of contribution Title of article or contribution Date Place Persons involved
30th Multi-Service Networks workshop (MSN 2018) Talk given at a conference A Programmable Framework for Validating Data Planes 05.07.2018 Abingdon, Great Britain and Northern Ireland Bressana Pietro Giuseppe;
Dagstuhl Seminar 18261 - Discipline Convergence in Networked Systems Talk given at a conference A Programmable Framework for Validating Data Planes 24.06.2018 Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Germany Bressana Pietro Giuseppe;
Third Annual UK System Research Challenges Workshop Talk given at a conference P4Debug: A Framework for Debugging Programmable Data Planes 21.03.2018 Northumberland, Great Britain and Northern Ireland Bressana Pietro Giuseppe;
Computer Laboratory NetOS Group Talklets Individual talk P4Debug: A Framework for Debugging Programmable Data Planes 20.03.2018 University of Cambridge, Great Britain and Northern Ireland Bressana Pietro Giuseppe;
P4/SDN Workshop Talk given at a conference P4Debug: A Framework for Debugging Programmable Data Planes 02.02.2018 Politecnico di Milano, Italy Bressana Pietro Giuseppe;


Abstract

This project will develop a new debugging infrastructure for networkdevices that leverages recent advances in network programmability andhardware design, by providing unprecedented visibility into theinternal state and operations of network devices.Computer networks provide the essential infrastructure forapplications that touch all walks of life. However, networks arealso complex and unpredictable, and outages have become commonplace.Yet, despite the importance of computer networks and the abundance ofnetwork problems, engineers lack the tools and support necessary fordebugging network hardware. This appears to be changing. A new breed of switches that can beprogrammed with high-level languages such as P4 match the speed offixed function devices. This trend raises an important question:Can we leverage this new programmability for debugging network hardware?The goal of this project is to extend programmable network hardwarewith functionality to enable debugging. Previous approaches for debugging programmable network hardware suffer fromtwo main limitations: they only allow passive debugging in response toexternally generated packets and they are deployed in the same data planethat a user is trying to debug, making it difficult to distinguish thebehavior of the debugger from the behavior of the debugged hardware.To address these challenges, we propose a novel debugging framework,named P4Debug, which includes three major components: (i) an extensionto the target architecture to allow for packet generation for activedebugging, (ii) a debug module that is parallel to the packet-processing pipeline,and (iii) debug-specific language extensions to P4.To evaluate P4Debug, we will develop a prototype that leverages severalexisting technologies, including the NetFPGA SUME framework and XilinxSDNet P4-to-FPGA compiler.We expect the opportunity of doing research at Cambridge Universityto greatly enhance our project, which, if successful, willsignificantly improve the ability of network operatorsto understand and debug their networks.
-