Facebook testar den nya trafikstockningsalgoritmen COPA mot BBR och CUBIC

Facebook publicerade resultat av experiment med en ny trängselkontrollalgoritm - COPA, optimerad för att överföra videoinnehåll. Algoritmen föreslogs av forskare från Massachusetts Institute of Technology. COPA-prototypen som föreslås för testning är skriven i C++, är öppen licensierad under MIT och ingår i mvfst — en implementering av QUIC-protokollet som utvecklas på Facebook.

COPA-algoritmen är inriktad på att lösa problem som uppstår vid överföring av video över ett nätverk. Beroende på typ av video ställs nästan motsatta krav på algoritmer för överbelastningskontroll - för interaktiv video är det nödvändigt att säkerställa minimala förseningar, även på bekostnad av kvaliteten, och vid sändning av förberedd video av hög kvalitet ges prioritet att upprätthålla kvaliteten. Tidigare var applikationsutvecklare begränsade till möjligheten att tillämpa olika algoritmer beroende på kvalitets- eller latenskrav. Forskarna som utvecklade COPA försökte skapa en universell algoritm för att hantera TCP-videostockning som kunde anpassas utifrån videokrav.

Överbelastningskontrollalgoritmens uppgift är att bestämma den optimala balansen när man skickar paket - att skicka för många paket kan leda till paketförlust och prestandaförsämring på grund av behovet av att skicka om dem, och att skicka för långsamt leder till förseningar, vilket också påverkar prestandan negativt . QUIC-protokollet valdes för experimenten, eftersom det tillåter implementering av algoritmer för överbelastningskontroll i användarutrymmet utan att störa kärnan.

För att förhindra trafikstockning i kommunikationskanaler använder COPA modellering av kanalegenskaper baserat på analys av förändringar i förseningar under paketleverans (COPA minskar storleken på överbelastningsfönstret när förseningarna ökar, vilket manipulerar att förseningar börjar öka även i det skede innan paketförlust inträffar) . Balansen mellan fördröjningar och genomströmning justeras med en speciell deltaparameter. Att öka delta ökar känsligheten för fördröjningar men minskar genomströmningen, medan minskande delta möjliggör högre genomströmning till priset av ökad latens. Delta=0.04 definieras som den optimala balansen mellan kvalitet och latens.

Facebook testar den nya trafikstockningsalgoritmen COPA mot BBR och CUBIC

Baserat på Facebook Live-streamingtjänsten testades COPA i jämförelse med de populära CUBIC- och BBR-algoritmerna. Standard CUBIC-algoritmen på Linux är att gradvis öka storleken på överbelastningsfönstret tills paketförlust inträffar, varefter fönsterstorleken rullas tillbaka till värdet innan förlusten började.

CUBIC lämnar mycket övrigt att önska vid paketbuffring på modern nätverksutrustning, vilket saktar ner paketdroppar. Algoritmen för överbelastningskontroll är omedveten om buffring och fortsätter att öka hastigheten även om kanalen redan är fysiskt överbelastad. Osända paket buffras snarare än kasseras, och TCP:s algoritm för överbelastningskontroll startar bara när bufferten är full och kan inte balansera flödeshastigheten med hastigheten på den fysiska länken. För att lösa detta problem har Google föreslagit en förbättrad BBR-algoritm som förutsäger tillgänglig bandbredd genom sekventiella kontroller och uppskattning av tur och returtid (RTT).

Med delta=0.04 visade sig COPA-indikatorerna ligga nära CUBIC och BBR. I tester utförda över en höghastighetsnätverksanslutning med låga paketöverföringsfördröjningar uppnådde COPA lägre latens (479 ms) jämfört med CUBIC (499 ms), men föll något efter BBR (462 ms). När anslutningskvaliteten minskade visade COPA de bästa resultaten - fördröjningarna var 27 % lägre än vid användning av CUBIC och BBR.

Facebook testar den nya trafikstockningsalgoritmen COPA mot BBR och CUBIC

Facebook testar den nya trafikstockningsalgoritmen COPA mot BBR och CUBIC

Samtidigt, på en dålig kommunikationskanal, gjorde COPA och BBR det möjligt att uppnå betydligt högre genomströmning jämfört med CUBIC. Vinsten för BBR, jämfört med CUBIC, var 4.8 % och 5.5 %, och COPA - 6.2 % och 16.3 %.

Facebook testar den nya trafikstockningsalgoritmen COPA mot BBR och CUBIC

Källa: opennet.ru

Lägg en kommentar