Facebook risultati di esperimenti cù un novu algoritmu di cuntrollu di congestione - , ottimizzatu per a trasmissione di cuntenutu video. L'algoritmu hè statu prupostu da circadori di u Massachusetts Institute of Technology. U prototipu COPA prupostu per a prova hè scrittu in C++, Licenziatu sottu MIT è inclusu in - una implementazione di u protocolu QUIC chì hè sviluppatu in Facebook.
L'algoritmu COPA hè focu annantu à risolve i prublemi chì sorgenu quandu si trasmette video nantu à una reta. Sicondu u tipu di video, i requisiti quasi opposti sò posti nantu à l'algoritmi di cuntrollu di congestione - per u video interattivu, hè necessariu d'assicurà ritardi minimi, ancu à a spesa di a qualità, è quandu si trasmette un video d'alta qualità pre-preparatu, a priorità hè data. per mantene a qualità. Nanzu, i sviluppatori di l'applicazioni eranu limitati à a capacità di applicà diversi algoritmi secondu e esigenze di qualità o latenza. I circadori chì anu sviluppatu COPA anu pruvatu à creà un algoritmu universale per a gestione di a congestione di video TCP chì puderia esse persunalizatu basatu nantu à i requisiti di video.
U travagliu di l'algoritmu di cuntrollu di congestione hè di determinà l'equilibriu ottimale quandu invià i pacchetti - l'inviu di troppu pacchetti pò purtà à a perdita di pacchetti è a degradazione di u rendiment per a necessità di rinviarli, è l'inviu troppu lentamente porta à ritardi, chì ancu affettanu negativamente u rendiment. . U protokollu QUIC hè statu sceltu per l'esperimenti, postu chì permette l'implementazione di algoritmi di cuntrollu di congestione in u spaziu di l'utilizatori senza interferiscenu cù u kernel.
Per prevene a congestione di u canali di cumunicazione, COPA usa a modellazione di e caratteristiche di u canali basatu annantu à l'analisi di i cambiamenti in i ritardi durante a consegna di pacchetti (COPA riduce a dimensione di a finestra di congestione mentre i ritardi aumentanu, manipulendu chì i ritardi cumincianu à aumentà ancu in u stadiu prima di a perdita di pacchetti). . L'equilibriu trà ritardu è throughput hè aghjustatu cù un paràmetru di delta speciale. L'aumentu di delta aumenta a sensibilità à i ritardi ma riduce u throughput, mentre chì a diminuzione di delta permette un throughput più altu à u costu di una latenza aumentata. Delta = 0.04 hè definitu cum'è l'equilibriu ottimali trà a qualità è a latenza.
COPA hè statu testatu contr'à l'algoritmi populari CUBIC è BBR utilizendu u serviziu di streaming Facebook Live. L'algoritmu CUBIC hè utilizatu per difettu in Linux è si riduce à un aumentu graduale di a dimensione di a finestra di congestione finu à chì si verifica una perdita di pacchetti, dopu à quale a dimensione di a finestra hè ridotta à u valore prima di l'iniziu di a perdita.
CUBIC lascia assai per esse desideratu à u buffering di pacchetti nantu à l'equipaggiu di rete mudernu, chì rallenta i gocce di pacchetti. L'algoritmu di cuntrollu di congestioni ùn hè micca cunnisciutu di buffering è cuntinueghja à aumentà a velocità ancu s'ellu u canali hè digià fisicamente congestionatu. I pacchetti non mandati sò buffered piuttostu chè scartati, è l'algoritmu di cuntrollu di congestione di TCP s'accende solu quandu u buffer hè pienu è ùn pò micca equilibrà a velocità di flussu cù a velocità di u ligame fisicu. Per risolve stu prublema, Google hà prupostu un algoritmu BBR mejoratu chì predice a larghezza di banda dispunibile attraversu cuntrolli sequenziali è stima di u tempu di andata (RTT).
Cù delta = 0.04, l'indicatori COPA sò stati vicinu à CUBIC è BBR. In i testi realizati nantu à una cunnessione di rete à alta velocità cù ritardi di trasmissione di pacchetti bassu, COPA hà ottenutu una latenza più bassa (479 ms) cumparatu cù CUBIC (499 ms), ma hè cascatu ligeramente daretu à BBR (462 ms). Quandu a qualità di cunnessione diminuite, COPA hà dimustratu i megliu risultati - i ritardi eranu 27% più bassu di quandu si usa CUBIC è BBR.
À u listessu tempu, nantu à un canali di cumunicazione poviru, COPA è BBR hà permessu di ottene un rendimentu significativamente più altu cumparatu cù CUBIC. U guadagnu di BBR, cumparatu cù CUBIC, era 4.8% è 5.5%, è COPA - 6.2% è 16.3%.
Source: opennet.ru
