Facebook test nieuw congestiecontrole-algoritme COPA tegen BBR en CUBIC

Facebook gepubliceerd resultaten van experimenten met een nieuw algoritme voor congestiecontrole — KOP, geoptimaliseerd voor het verzenden van video-inhoud. Het algoritme werd voorgesteld door onderzoekers van het Massachusetts Institute of Technology. Het COPA-prototype dat voor testen is voorgesteld, is geschreven in C++, is open onder de MIT-licentie en opgenomen in mvfst — de implementatie van het QUIC-protocol dat bij Facebook wordt ontwikkeld.

Het COPA-algoritme is ontworpen om de uitdagingen van videotransmissie via een netwerk aan te pakken. Afhankelijk van het type video stellen algoritmen voor congestiecontrole vrijwel tegengestelde eisen: interactieve video vereist minimale vertragingen, zelfs ten koste van de kwaliteit, terwijl kwaliteitsbehoud prioriteit heeft bij het uitzenden van hoogwaardige video. Voorheen konden applicatieontwikkelaars slechts verschillende algoritmen gebruiken, afhankelijk van de kwaliteits- of vertragingsvereisten. De onderzoekers die COPA ontwikkelden, probeerden een universeel algoritme te creëren voor TCP-congestiecontrole tijdens videotransmissie, dat kon worden afgestemd op de vereisten voor de video.

Het algoritme voor congestiecontrole bepaalt de optimale balans bij het verzenden van pakketten. Te veel pakketten verzenden kan leiden tot pakketverlies en een prestatieverlies omdat ze opnieuw verzonden moeten worden, terwijl te langzaam verzenden leidt tot vertragingen, wat ook de prestaties negatief beïnvloedt. Voor de experimenten is gekozen voor het QUIC-protocol, omdat het de implementatie van de algoritmen voor congestiecontrole in de gebruikersruimte mogelijk maakt zonder de kernel te beïnvloeden.

Om kanaalcongestie te voorkomen, maakt COPA gebruik van kanaalkarakteristiekenmodellering op basis van de analyse van veranderingen in vertragingen bij de levering van pakketten (COPA verkleint de grootte van het congestievenster naarmate de vertragingen toenemen, door te manipuleren dat vertragingen al toenemen in het stadium voordat er pakketverlies optreedt). De balans tussen vertragingen en doorvoer wordt geregeld door een speciale parameter genaamd delta. Een hogere delta verhoogt de latentiegevoeligheid, maar verlaagt de doorvoer. Een lagere delta zorgt daarentegen voor een hogere doorvoer, maar leidt wel tot een hogere latentie. De waarde delta=0.04 wordt gedefinieerd als de optimale balans tussen kwaliteit en vertragingen.

Facebook test nieuw congestiecontrole-algoritme COPA tegen BBR en CUBIC

COPA werd getest tegen de populaire CUBIC- en BBR-algoritmes met behulp van de Facebook Live-streamingdienst. Het CUBIC-algoritme wordt standaard gebruikt in Linux Het komt er in feite op neer dat de grootte van het congestievenster geleidelijk wordt vergroot totdat er pakketverlies optreedt, waarna de venstergrootte wordt teruggebracht naar de waarde van vóór het verlies.

CUBIC laat veel te wensen over als het gaat om tussenliggende pakketbuffering op moderne netwerkapparatuur, wat pakketverlies vertraagt. Het congestiecontrolealgoritme is zich niet bewust van de buffering en blijft de snelheid verhogen, zelfs als het kanaal al fysiek overbelast is. Niet-verzonden pakketten worden gebufferd, niet gedropt, en het TCP-congestiecontrolealgoritme werkt pas nadat de buffer vol is en niet de juiste balans kan vinden tussen de doorvoersnelheid en de snelheid van de fysieke verbinding. Om dit probleem op te lossen, heeft Google een verbeterd BBR-algoritme voorgesteld dat de beschikbare bandbreedte voorspelt door middel van opeenvolgende controles en een schatting van de roundtrip time (RTT).

Met een delta van 0.04 kwamen de prestaties van COPA dicht in de buurt van die van CUBIC en BBR. In tests uitgevoerd onder snelle netwerkomstandigheden met lage pakkettransmissievertragingen, behaalde COPA lagere vertragingen (479 ms) vergeleken met CUBIC (499 ms), maar bleef het iets achter bij BBR (462 ms). Met een lagere verbindingskwaliteit liet COPA de beste resultaten zien: de vertragingen waren 27% lager dan bij gebruik van CUBIC en BBR.

Facebook test nieuw congestiecontrole-algoritme COPA tegen BBR en CUBIC

Facebook test nieuw congestiecontrole-algoritme COPA tegen BBR en CUBIC

Tegelijkertijd is het dankzij COPA en BBR mogelijk om op een slecht communicatiekanaal een aanzienlijk hogere doorvoer te bereiken in vergelijking met CUBIC. De winst van BBR ten opzichte van CUBIC bedroeg 4.8% en 5.5%, en van COPA 6.2% en 16.3%.

Facebook test nieuw congestiecontrole-algoritme COPA tegen BBR en CUBIC

Bron: opennet.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster