Software-Defined Networking (SDN) enables programmability in the network. Unfortunately, current SDN limits programmability only to the control plane. Operators cannot program data plane algorithms such as load balancing, congestion control, failure detection, etc. These capabilities are usually baked in the switch via dedicated hardware, as they need to run at line rate, i.e. 10-100 Gbit/s on 10-100 ports. In this work, we present two data plane abstractions for stateful packet processing, namely OpenState and OPP. These abstractions allow operators to program data plane tasks that involve stateful processing. OpenState is an extension to OpenFlow that permits the definition of forwarding rules as finite state machines. OPP is a more flexible abstraction that generalizes OpenState by adding computational capabilities, opening for the programming of more advanced data plane algorithms. Both OpenState and OPP are amenable for high-performance hardware implementations by using commodity hardware switch components. However, both abstractions are based on a problematic design choice: to use a feedback-loop in the processing pipeline. This loop, if not adequately controlled, can represent a harm for the consistency of the state operations. Memory locking approaches can be used to prevent inconsistencies, at the expense of throughput. We present simulation results on real traffic traces showing that feedback-loops of several clock cycles can be supported with little or no performance degradation, even with near-worst case traffic workloads. To further prove the benefits of a stateful programmable data plane, we present two novel applications: Spider and FDPA. Spider permits to detect and react to network failures at data plane timescales, i.e. micro/nanoseconds, also in the case of distant failures. By using OpenState, Spider provides functionalities equivalent to legacy control plane protocols such as BFD and MPLS Fast Reroute, but without the need of a control plane. That is, both detection and rerouting happen entirely in the data plane. FDPA allows a switch to enforce approximate fair bandwidth sharing among many TCP-like senders. Most of the mechanisms to solve this problem are based on complex scheduling algorithms, whose feasibility becomes very expensive with today's line rate requirements. FDPA, which is based on OPP, trades scheduling complexity with per-user state. FDPA works by dynamically assigning users to few (3-4) priority queues, where the priority is chosen based on the sending rate history of a user. Experimental results on a 10 Gbit/s testbed show that FDPA is able to provide fairness and throughput comparable to scheduling-based approaches.

Software-Defined Networking (SDN) permette la programmabilità delle reti. Purtroppo, le attuali tecnologie SDN limitano la programmabilità solo al piano di controllo. Gli operatori non possono programmare algoritmi del piano dati come il bilanciamento del carico, il controllo di congestione, il rilevamento di guasti, ecc. Queste funzionalità sono generalmente implementate nei dispositivi di interconnessione tramite hardware dedicato, poiché devono essere eseguite a velocità di linea, ovvero 10-100 Gbit/s su 10-100 porte. In questo lavoro di ricerca, presentiamo due astrazioni del piano dati per l'elaborazione di pacchetti in maniera stateful, ovvero OpenState e OPP. Queste astrazioni permettono agli operatori di programmare algoritmi del piano dati che comportano un'elaborazione basata su stato. OpenState è un'estensione di OpenFlow che consente la definizione di regole di flusso nella forma di macchine a stati finiti. OPP è un'astrazione più flessibile che generalizza OpenState aggiungendo funzionalità computazionali, permettendo la definizione di algoritmi più avanzati. Sia OpenState che OPP permettono un'implementazione ad alte prestazioni utilizzando componenti hardware commodity. Tuttavia, entrambe le astrazioni si basano su una scelta di progettazione problematica, cioè quella di utilizzare un feedback-loop nella pipeline di elaborazione dei pacchetti. Questo feedback-loop, se non adeguatamente controllato, può rappresentare un problema per la coerenza delle operazioni di lettura e scrittura dello stato. Approcci basati su blocco della memoria possono essere utilizzati per prevenire incongruenze, a scapito del throughput. In questa ricerca, presentiamo dei risultati di simulazione su tracce di traffico reali, che dimostrano che feedback-loop lunghi diversi cicli di clock possono essere supportati con poca o nessuna degradazione del throughput, anche in situazioni di traffico vicine al caso peggiore. Per dimostrare ulteriormente i vantaggi di un piano di dati programmabile e stateful, presentiamo due nuove applicazioni: Spider e FDPA. Spider consente di rilevare e reagire a guasti di rete su scale temporali tipiche del piano dati, cioè micro/nanosecondi, anche in caso di guasti distanti. Utilizzando OpenState, Spider fornisce funzionalità equivalenti a protocolli noti del piano di controlli come BFD e MPLS Fast Reroute, ma senza bisogno di un piano di controllo. Cioè, sia il rilevamento che il re-instradamento vengono effettuati interamente nel piano dei dati. FDPA consente ad un dispositivo di interconnessione di applicare una condivisione di banda equa tra diverse sorgenti di traffico TCP. La maggior parte dei meccanismi esistenti per risolvere questo problema si basano su complessi algoritmi di scheduling, la cui implementabilità si rivela molto costosa con le richieste di throughput di oggi. FDPA, implementato utilizzando OPP, permette di sostituire alla complessità degli algoritmi di scheduling, la complessità del mantenere uno state per utente. FDPA si base sul principio che gli utenti possono essere assegnati dinamicamente ad una coda prioritaria, dove la priorità viene scelta in base alla frequenza di invio di pacchetti di un utente. Abbiamo realizzato un testbed a 10 Gbit/s, i risultati mostrano che FDPA è in grado di garantire una suddivisione della banda equa e throughput comparabile ad approcci basati su scheduling.

Stateful data plane abstractions for Software-Defined Networks and their applications

CASCONE, CARMELO

Abstract

Software-Defined Networking (SDN) enables programmability in the network. Unfortunately, current SDN limits programmability only to the control plane. Operators cannot program data plane algorithms such as load balancing, congestion control, failure detection, etc. These capabilities are usually baked in the switch via dedicated hardware, as they need to run at line rate, i.e. 10-100 Gbit/s on 10-100 ports. In this work, we present two data plane abstractions for stateful packet processing, namely OpenState and OPP. These abstractions allow operators to program data plane tasks that involve stateful processing. OpenState is an extension to OpenFlow that permits the definition of forwarding rules as finite state machines. OPP is a more flexible abstraction that generalizes OpenState by adding computational capabilities, opening for the programming of more advanced data plane algorithms. Both OpenState and OPP are amenable for high-performance hardware implementations by using commodity hardware switch components. However, both abstractions are based on a problematic design choice: to use a feedback-loop in the processing pipeline. This loop, if not adequately controlled, can represent a harm for the consistency of the state operations. Memory locking approaches can be used to prevent inconsistencies, at the expense of throughput. We present simulation results on real traffic traces showing that feedback-loops of several clock cycles can be supported with little or no performance degradation, even with near-worst case traffic workloads. To further prove the benefits of a stateful programmable data plane, we present two novel applications: Spider and FDPA. Spider permits to detect and react to network failures at data plane timescales, i.e. micro/nanoseconds, also in the case of distant failures. By using OpenState, Spider provides functionalities equivalent to legacy control plane protocols such as BFD and MPLS Fast Reroute, but without the need of a control plane. That is, both detection and rerouting happen entirely in the data plane. FDPA allows a switch to enforce approximate fair bandwidth sharing among many TCP-like senders. Most of the mechanisms to solve this problem are based on complex scheduling algorithms, whose feasibility becomes very expensive with today's line rate requirements. FDPA, which is based on OPP, trades scheduling complexity with per-user state. FDPA works by dynamically assigning users to few (3-4) priority queues, where the priority is chosen based on the sending rate history of a user. Experimental results on a 10 Gbit/s testbed show that FDPA is able to provide fairness and throughput comparable to scheduling-based approaches.
BONARINI, ANDREA
GENTILI, GIAN GUIDO
28-lug-2017
Software-Defined Networking (SDN) permette la programmabilità delle reti. Purtroppo, le attuali tecnologie SDN limitano la programmabilità solo al piano di controllo. Gli operatori non possono programmare algoritmi del piano dati come il bilanciamento del carico, il controllo di congestione, il rilevamento di guasti, ecc. Queste funzionalità sono generalmente implementate nei dispositivi di interconnessione tramite hardware dedicato, poiché devono essere eseguite a velocità di linea, ovvero 10-100 Gbit/s su 10-100 porte. In questo lavoro di ricerca, presentiamo due astrazioni del piano dati per l'elaborazione di pacchetti in maniera stateful, ovvero OpenState e OPP. Queste astrazioni permettono agli operatori di programmare algoritmi del piano dati che comportano un'elaborazione basata su stato. OpenState è un'estensione di OpenFlow che consente la definizione di regole di flusso nella forma di macchine a stati finiti. OPP è un'astrazione più flessibile che generalizza OpenState aggiungendo funzionalità computazionali, permettendo la definizione di algoritmi più avanzati. Sia OpenState che OPP permettono un'implementazione ad alte prestazioni utilizzando componenti hardware commodity. Tuttavia, entrambe le astrazioni si basano su una scelta di progettazione problematica, cioè quella di utilizzare un feedback-loop nella pipeline di elaborazione dei pacchetti. Questo feedback-loop, se non adeguatamente controllato, può rappresentare un problema per la coerenza delle operazioni di lettura e scrittura dello stato. Approcci basati su blocco della memoria possono essere utilizzati per prevenire incongruenze, a scapito del throughput. In questa ricerca, presentiamo dei risultati di simulazione su tracce di traffico reali, che dimostrano che feedback-loop lunghi diversi cicli di clock possono essere supportati con poca o nessuna degradazione del throughput, anche in situazioni di traffico vicine al caso peggiore. Per dimostrare ulteriormente i vantaggi di un piano di dati programmabile e stateful, presentiamo due nuove applicazioni: Spider e FDPA. Spider consente di rilevare e reagire a guasti di rete su scale temporali tipiche del piano dati, cioè micro/nanosecondi, anche in caso di guasti distanti. Utilizzando OpenState, Spider fornisce funzionalità equivalenti a protocolli noti del piano di controlli come BFD e MPLS Fast Reroute, ma senza bisogno di un piano di controllo. Cioè, sia il rilevamento che il re-instradamento vengono effettuati interamente nel piano dei dati. FDPA consente ad un dispositivo di interconnessione di applicare una condivisione di banda equa tra diverse sorgenti di traffico TCP. La maggior parte dei meccanismi esistenti per risolvere questo problema si basano su complessi algoritmi di scheduling, la cui implementabilità si rivela molto costosa con le richieste di throughput di oggi. FDPA, implementato utilizzando OPP, permette di sostituire alla complessità degli algoritmi di scheduling, la complessità del mantenere uno state per utente. FDPA si base sul principio che gli utenti possono essere assegnati dinamicamente ad una coda prioritaria, dove la priorità viene scelta in base alla frequenza di invio di pacchetti di un utente. Abbiamo realizzato un testbed a 10 Gbit/s, i risultati mostrano che FDPA è in grado di garantire una suddivisione della banda equa e throughput comparabile ad approcci basati su scheduling.
Tesi di dottorato
File allegati
File Dimensione Formato  
main_polimi.pdf

accessibile in internet per tutti

Descrizione: thesis
Dimensione 2.05 MB
Formato Adobe PDF
2.05 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/134930