Per ridurre i tempi di ritardo e aumentare la qualità dello streaming video, gioco mobile, e altri servizi web, i ricercatori del Computer Science and Artificial Intelligence Laboratory del MIT hanno progettato uno schema di controllo della congestione per collegamenti wireless variabili nel tempo, come le reti cellulari. Credito:José-Luis Olivares, MIT
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 aumentare la qualità dello streaming video, videochat, gioco mobile, e altri servizi web.
Per mantenere i servizi Web in esecuzione senza problemi, gli schemi di controllo della congestione deducono informazioni sulla capacità di larghezza di banda di una rete e sulla congestione in base al 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 un buon tasso di invio può essere un atto di equilibrio difficile. I mittenti non vogliono essere eccessivamente prudenti:se la capacità di una rete varia costantemente da, dire, da due megabyte al secondo a 500 kilobyte al secondo, il mittente può sempre inviare il traffico alla velocità più bassa. Ma poi il tuo video su Netflix, Per esempio, sarà inutilmente di bassa qualità. D'altra parte, se il mittente mantiene costantemente un tasso elevato, anche quando la capacità della rete diminuisce, potrebbe travolgere la rete, creando un'enorme coda di pacchetti di dati in attesa di essere consegnati. I pacchetti in coda possono aumentare il ritardo della rete, causando, dire, la tua chiamata Skype per bloccarsi.
Le cose si complicano ulteriormente nelle reti wireless, che hanno "collegamenti variabili nel tempo, "con rapido, cambiamenti di capacità imprevedibili. A seconda di vari fattori, come il numero di utenti della rete, posizioni delle torri cellulari, e anche gli edifici circostanti, le capacità possono raddoppiare o scendere a zero in frazioni di secondo. In un documento all'USENIX Symposium on Networked Systems Design and Implementation, i ricercatori hanno presentato "Accel-Brake Control" (ABC), uno schema semplice che raggiunge un throughput superiore di circa il 50 percento, e circa la metà dei ritardi di rete, sui collegamenti variabili nel tempo.
Lo schema si basa su un nuovo algoritmo che consente ai router di comunicare esplicitamente quanti pacchetti di dati dovrebbero fluire attraverso una rete per evitare la congestione ma utilizzare appieno la rete. Fornisce informazioni dettagliate dai colli di bottiglia, come i pacchetti in coda tra torri cellulari e mittenti, riutilizzando 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 tua frazione di capacità di dati cambia rapidamente, causando ritardi nel tuo 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 cambiamenti, se è andato su o giù, utilizzando un singolo bit di dati."
Ad unirsi a Goyal sulla carta ci sono Anup Agarwal, ora studente laureato alla Carnegie Melon University; Ravi Netravali, ora assistente professore di informatica presso l'Università della California a Los Angeles; Mohammad Alizadeh, professore associato presso il Dipartimento di Ingegneria Elettrica (EECS) del MIT e CSAIL; e Hari Balakrishnan, il Professore Fujitsu in EECS. Gli autori sono stati tutti membri del gruppo Reti e Sistemi Mobili del CSAIL.
Raggiungere un controllo esplicito
I tradizionali schemi di controllo della congestione si basano sulla perdita di pacchetti o sulle informazioni provenienti da un singolo bit di "congestione" nei pacchetti Internet per dedurre la congestione e rallentare. Un router, come una stazione base, segnerà il bit per avvisare un mittente, ad esempio un server video, che i suoi pacchetti di dati inviati sono in una lunga coda, segnalazione di congestione. In risposta, il mittente ridurrà quindi la sua velocità inviando meno pacchetti. Il mittente riduce anche la sua velocità se rileva uno schema di pacchetti che vengono eliminati prima di raggiungere il destinatario.
Nel tentativo di fornire maggiori informazioni sui collegamenti a collo di bottiglia su un percorso di rete, i ricercatori hanno proposto schemi "espliciti" che includono più bit in pacchetti che specificano le velocità correnti. Ma questo approccio significherebbe cambiare completamente il modo in cui Internet invia i dati, e si è rivelato impossibile da distribuire.
"È un compito arduo, " Alizadeh dice. "Dovresti apportare modifiche invasive allo standard Internet Protocol (IP) per l'invio di pacchetti di dati. Dovresti convincere tutte le parti in Internet, operatori di rete mobile, ISP, e ripetitori cellulari per cambiare il modo in cui inviano e ricevono i pacchetti di dati. Non succederà."
Con ABC, i ricercatori usano ancora il singolo bit disponibile in ogni pacchetto di dati, ma lo fanno in modo tale che i bit, aggregati su più pacchetti di dati, può fornire ai mittenti le informazioni sulla velocità in tempo reale necessarie. Lo schema tiene traccia di ogni pacchetto di dati in un ciclo di andata e ritorno, dal mittente alla stazione base al destinatario. La stazione base contrassegna il bit in ogni pacchetto con "accelera" o "frena, " in base alla larghezza di banda della rete corrente. 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 è arrivato in tempo e la rete ha una capacità di riserva. Il mittente invia quindi due pacchetti:uno per sostituire il pacchetto ricevuto e un altro per utilizzare la capacità di riserva. Quando gli viene detto di frenare, il mittente riduce di uno i suoi pacchetti in volo, il che significa che non sostituisce il pacchetto ricevuto.
Utilizzato su tutti i pacchetti della rete, quel bit di informazione diventa un potente strumento di feedback che comunica ai mittenti le loro velocità di invio con alta precisione. Entro un paio di centinaia di millisecondi, può variare la velocità di un mittente tra zero e doppio. "Penseresti che un bit non porterebbe abbastanza informazioni, " dice Alizadeh. "Ma, aggregando il feedback a bit singolo attraverso un flusso di pacchetti, possiamo ottenere lo stesso effetto di un segnale multibit."
Rimanere un passo avanti
Al centro di ABC c'è un algoritmo che prevede la velocità aggregata dei mittenti un round trip avanti per calcolare meglio il feedback di accelerazione/freno.
L'idea è che una stazione base dotata di ABC sappia come si comporteranno i mittenti, mantenendo, crescente, o diminuendo i loro pacchetti in volo, in base a come ha contrassegnato il pacchetto inviato a un destinatario. Nel momento in cui la stazione base invia un pacchetto, sa quanti pacchetti riceverà dal mittente esattamente in un tempo di andata e ritorno in futuro. Utilizza tali informazioni per contrassegnare i pacchetti in modo da far corrispondere in modo più accurato la velocità del mittente alla capacità della rete corrente.
Nelle simulazioni di reti cellulari, rispetto ai tradizionali schemi di controllo della congestione, ABC raggiunge una velocità di trasmissione superiore dal 30 al 40 percento circa per 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 collegamenti variabili nel tempo, ABC riduce della metà i ritardi a parità di throughput. "Fondamentalmente, gli schemi esistenti ottengono un basso rendimento e bassi ritardi, o alto rendimento e ritardi elevati, considerando che ABC raggiunge un'elevata produttività con ritardi ridotti, " dice Goyal.
Prossimo, i ricercatori stanno cercando di vedere se app e servizi web possono utilizzare ABC per controllare meglio la qualità dei contenuti. Per esempio, "un fornitore di contenuti video potrebbe utilizzare le informazioni di ABC sulla congestione e la velocità dei dati per scegliere la risoluzione del video in streaming in modo più intelligente, " dice Alizadeh. "Se non ha abbastanza capacità, il server video potrebbe abbassare temporaneamente la risoluzione, quindi il video continuerà a essere riprodotto alla massima qualità possibile senza congelarsi."
Questa storia è stata ripubblicata per gentile concessione di MIT News (web.mit.edu/newsoffice/), un popolare sito che copre notizie sulla ricerca del MIT, innovazione e didattica.