Congestion Control

Riduzione dei ritardi nelle reti wireless

Tempo di lettura: 5 minuti

I ricercatori del MIT hanno progettato uno schema di controllo della congestione per le reti wireless che potrebbe aiutare a ridurre i tempi di ritardo e ad aumentare la qualità del video streaming, della video chat, del mobile gaming e di altri servizi web.

Per mantenere il funzionamento dei servizi web senza problemi, gli schemi di controllo della congestione deducono informazioni sulla capacità di banda di una rete e sulla congestione sulla base del feedback dei router di rete, che è codificato in pacchetti di dati. Queste informazioni determinano la velocità con cui i pacchetti di dati vengono inviati attraverso la rete.

Decidere una buona velocità di invio può essere un’azione di bilanciamento difficile. I mittenti non vogliono essere troppo conservatori: Se la capacità di una rete varia costantemente da, diciamo, 2 megabyte al secondo a 500 kilobyte al secondo, il mittente può sempre inviare traffico alla velocità più bassa. Ma allora il vostro video Netflix, ad esempio, sarà inutilmente di bassa qualità. D’altra parte, se il mittente mantiene costantemente una velocità elevata, anche quando la capacità della rete diminuisce, potrebbe sopraffare la rete, creando una massiccia coda di pacchetti di dati in attesa di essere consegnati. I pacchetti in coda possono aumentare il ritardo della rete, causando, ad esempio, il blocco delle chiamate Skype.

Le cose si complicano ancora di più nelle reti wireless, che hanno “collegamenti variabili nel tempo”, con rapidi e imprevedibili cambiamenti di capacità. A seconda di vari fattori, come il numero di utenti della rete, le posizioni dei ripetitori di telefonia mobile e persino gli edifici circostanti, la capacità può raddoppiare o scendere a zero in frazioni di secondo. In un documento dell’USENIX Symposium on Networked Systems Design and Implementation, i ricercatori hanno presentato “Accel-Brake Control” (ABC), un semplice schema che permette di ottenere circa il 50% in più di throughput, e circa la metà dei ritardi di rete, su collegamenti variabili nel tempo.

Lo schema si basa su un nuovo algoritmo che permette ai router di comunicare esplicitamente quanti pacchetti di dati devono passare attraverso una rete per evitare la congestione, ma utilizzare pienamente la rete. Esso fornisce informazioni dettagliate da colli di bottiglia – come i pacchetti in coda tra i ripetitori di cella e i mittenti – riproponendo un singolo bit già disponibile nei pacchetti internet. I ricercatori sono già in trattative con gli operatori di rete mobile per testare lo schema.

“Nelle reti cellulari, la vostra frazione di capacità di dati cambia rapidamente, causando ritardi nel servizio. Gli schemi tradizionali sono troppo lenti per adattarsi a questi cambiamenti”, dice il primo autore Prateesh Goyal, uno studente laureato in CSAIL. “ABC fornisce un feedback dettagliato su questi turni, sia che sia salito o sceso, utilizzando un singolo bit di dati”.

A Goyal si aggiungono Anup Agarwal, ora studente laureato alla Carnegie Melon University; Ravi Netravali, ora professore assistente di informatica all’Università della California a Los Angeles; Mohammad Alizadeh, professore associato del Dipartimento di Ingegneria Elettrica del MIT (EECS) e del CSAIL; e Hari Balakrishnan, professore di Fujitsu in EECS. Gli autori sono stati tutti membri del gruppo Networks and Mobile Systems del CSAIL.

Raggiungere il controllo esplicito

I tradizionali schemi di controllo della congestione si basano sulle perdite di pacchetti o sulle informazioni di un singolo bit di “congestione” nei pacchetti Internet per dedurre la congestione e rallentare. Un router, come ad esempio una stazione base, contrassegna il bit per avvertire un mittente – ad esempio, un server video – che i pacchetti di dati inviati sono in una lunga coda, segnalando la congestione. In risposta, il mittente ridurrà quindi la sua velocità inviando meno pacchetti. Il mittente riduce anche la sua velocità se rileva un pattern di pacchetti che vengono lasciati cadere prima di raggiungere il ricevitore.

Nel tentativo di fornire maggiori informazioni sui collegamenti in colli di bottiglia su un percorso di rete, i ricercatori hanno proposto schemi “espliciti” che includono più bit nei pacchetti che specificano le tariffe correnti. Ma questo approccio significherebbe cambiare completamente il modo in cui Internet invia i dati, e si è rivelato impossibile da implementare.

“È un compito arduo”, dice Alizadeh. “Si dovrebbero apportare modifiche invasive al protocollo Internet standard (IP) per l’invio di pacchetti di dati. Dovrete convincere tutti gli Internet party, gli operatori di rete mobile, gli ISP e i cell towers a cambiare il modo in cui inviano e ricevono i pacchetti di dati. Questo non succederà”.

Con ABC, i ricercatori utilizzano ancora il singolo bit disponibile in ogni pacchetto di dati, ma lo fanno in modo tale che i bit, aggregati in più pacchetti di dati, possano fornire ai mittenti le necessarie informazioni sulla velocità in tempo reale. Lo schema traccia ogni pacchetto di dati in un ciclo di andata e ritorno, dal mittente alla stazione base al ricevitore. La stazione base contrassegna il bit in ogni pacchetto con “accelera” o “frena”, in base all’attuale larghezza di banda della rete. Quando il pacchetto viene ricevuto, il bit contrassegnato indica al mittente di aumentare o diminuire i pacchetti “in volo” – pacchetti inviati ma non ricevuti – che possono trovarsi nella rete.

Se riceve un comando di accelerazione, significa che il pacchetto ha fatto buon tempo e che la rete ha capacità di riserva. Il mittente invia quindi due pacchetti: uno per sostituire il pacchetto ricevuto e un altro per utilizzare la capacità di riserva.

Utilizzato in tutti i pacchetti della rete, quel bit di informazione diventa un potente strumento di feedback che indica ai mittenti le loro velocità di invio con alta precisione. In un paio di centinaia di millisecondi, può variare la velocità di un mittente tra zero e il doppio. “Si potrebbe pensare che un solo bit non contenga abbastanza informazioni”, dice Alizadeh. “Ma, aggregando il feedback a singolo bit su un flusso di pacchetti, possiamo ottenere lo stesso effetto di un segnale multibit”.

Stare un passo avanti

Al centro dell’ABC c’è un algoritmo che prevede la velocità aggregata dei mittenti un giro di andata e ritorno in avanti per calcolare meglio il feedback dell’accelerazione/freno.

L’idea è che una stazione base dotata di ABC sappia come si comporteranno i mittenti – mantenendo, aumentando o diminuendo i loro pacchetti in volo – in base a come ha marcato il pacchetto inviato ad un ricevitore. Nel momento in cui la stazione base invia un pacchetto, sa quanti pacchetti riceverà dal mittente esattamente nel tempo di un viaggio di andata e ritorno in futuro. Utilizza queste informazioni per contrassegnare i pacchetti in modo che la velocità del mittente corrisponda in modo più preciso alla capacità di rete attuale.

Nelle simulazioni di reti cellulari, rispetto ai tradizionali schemi di controllo della congestione, ABC raggiunge una velocità di trasmissione superiore di circa il 30-40 percento per circa gli stessi ritardi. In alternativa, può ridurre i ritardi di circa il 200-400% mantenendo lo stesso throughput degli schemi tradizionali. Rispetto agli schemi espliciti esistenti che non sono stati progettati per i collegamenti a tempo variabile, ABC riduce i ritardi della metà a parità di velocità. “In sostanza, gli schemi esistenti ottengono un basso throughput e bassi ritardi, o un alto throughput e alti ritardi, mentre ABC raggiunge un alto throughput con bassi ritardi”, dice Goyal.

Successivamente, i ricercatori stanno cercando di vedere se le applicazioni e i servizi web possono utilizzare ABC per controllare meglio la qualità dei contenuti. Ad esempio, “un fornitore di contenuti video potrebbe utilizzare le informazioni di ABC sulla congestione e la velocità di trasmissione dei dati per scegliere la risoluzione dei video in streaming in modo più intelligente”, dice Alizadeh. “Se non ha abbastanza capacità, il video server potrebbe abbassare temporaneamente la risoluzione, in modo che il video continui ad essere riprodotto alla massima qualità possibile senza congelare”.

Ulteriori informazioni: ABC: un controller di congestione esplicito semplice per reti wireless: arXiv: 1905.03429 [cs.NI] arxiv.org/abs/1905.03429