Facebook tester den nye overbelastningskontrolalgoritme COPA mod BBR og CUBIC

Facebook опубликовал resultater af eksperimenter med en ny overbelastningskontrolalgoritme - COPA, optimeret til overførsel af videoindhold. Algoritmen blev foreslået af forskere fra Massachusetts Institute of Technology. COPA-prototypen foreslået til test er skrevet i C++, åben licenseret under MIT og inkluderet i mvfst — en implementering af QUIC-protokollen, der udvikles på Facebook.

COPA-algoritmen er fokuseret på at løse problemer, der opstår ved transmission af video over et netværk. Afhængigt af typen af ​​video stilles der næsten modsatte krav til algoritmer til styring af overbelastning - for interaktiv video er det nødvendigt at sikre minimale forsinkelser, selv på bekostning af kvaliteten, og ved udsendelse af forudforberedt højkvalitetsvideo prioriteres til at opretholde kvaliteten. Tidligere var applikationsudviklere begrænset til muligheden for at anvende forskellige algoritmer afhængigt af kvalitets- eller latenskrav. Forskerne, der udviklede COPA, forsøgte at skabe en universel algoritme til styring af TCP-videooverbelastning, som kunne tilpasses baseret på videokrav.

Opgaven med overbelastningskontrolalgoritmen er at bestemme den optimale balance ved afsendelse af pakker - afsendelse af for mange pakker kan føre til pakketab og ydeevneforringelse på grund af behovet for at sende dem igen, og afsendelse for langsomt fører til forsinkelser, som også påvirker ydeevnen negativt . QUIC-protokollen blev valgt til eksperimenterne, da den tillader implementering af overbelastningskontrolalgoritmer i brugerrummet uden at forstyrre kernen.

For at forhindre overbelastning af kommunikationskanaler bruger COPA modellering af kanalkarakteristika baseret på analyse af ændringer i forsinkelser under pakkelevering (COPA reducerer størrelsen af ​​overbelastningsvinduet, efterhånden som forsinkelserne øges, hvilket manipulerer, at forsinkelser begynder at stige selv på stadiet før pakketab opstår) . Balancen mellem forsinkelser og gennemløb justeres ved hjælp af en speciel delta-parameter. Forøgelse af delta øger følsomheden over for forsinkelser, men reducerer gennemløbet, mens faldende delta giver mulighed for højere gennemløb på bekostning af øget latenstid. Delta=0.04 er defineret som den optimale balance mellem kvalitet og latens.

Facebook tester den nye overbelastningskontrolalgoritme COPA mod BBR og CUBIC

Baseret på Facebook Live-streamingtjenesten blev COPA testet i sammenligning med de populære CUBIC og BBR algoritmer. Standard CUBIC-algoritmen på Linux er gradvist at øge størrelsen af ​​overbelastningsvinduet, indtil der opstår pakketab, hvorefter vinduesstørrelsen rulles tilbage til værdien før tabet begyndte.

CUBIC lader meget tilbage at ønske ved pakkebuffring på moderne netværksudstyr, hvilket bremser pakkefald. Overbelastningskontrolalgoritmen er uvidende om buffering og fortsætter med at øge hastigheden, selvom kanalen allerede er fysisk overbelastet. Ikke-sendte pakker bufres i stedet for at kasseres, og TCP's overbelastningskontrolalgoritme starter kun, når bufferen er fuld og kan ikke afbalancere flowhastigheden med hastigheden af ​​den fysiske forbindelse. For at løse dette problem har Google foreslået en forbedret BBR-algoritme, der forudsiger den tilgængelige båndbredde gennem sekventielle kontroller og estimering af rundturstid (RTT).

Med delta=0.04 viste COPA-indikatorerne sig at være tæt på CUBIC og BBR. I test udført over en højhastighedsnetværksforbindelse med lave pakketransmissionsforsinkelser opnåede COPA lavere latency (479 ms) sammenlignet med CUBIC (499 ms), men faldt lidt bagud BBR (462 ms). Da forbindelseskvaliteten faldt, viste COPA de bedste resultater - forsinkelser var 27 % lavere end ved brug af CUBIC og BBR.

Facebook tester den nye overbelastningskontrolalgoritme COPA mod BBR og CUBIC

Facebook tester den nye overbelastningskontrolalgoritme COPA mod BBR og CUBIC

Samtidig har COPA og BBR på en dårlig kommunikationskanal gjort det muligt at opnå markant højere gennemstrømning sammenlignet med CUBIC. Forøgelsen af ​​BBR sammenlignet med CUBIC var 4.8 % og 5.5 %, og COPA - 6.2 % og 16.3 %.

Facebook tester den nye overbelastningskontrolalgoritme COPA mod BBR og CUBIC

Kilde: opennet.ru

Tilføj en kommentar