Facebook testib uut ummikukontrolli algoritmi COPA BBR ja CUBIC vastu

Facebook avaldatud uue ummikukontrolli algoritmiga tehtud katsete tulemused - COPA, optimeeritud videosisu edastamiseks. Algoritmi pakkusid välja Massachusettsi Tehnoloogiainstituudi teadlased. Testimiseks pakutav COPA prototüüp on kirjutatud C++ keeles, on avatud MIT-i alusel litsentsitud ja lisatud mvfst — Facebookis arendatava QUIC-protokolli rakendamine.

COPA algoritm on keskendunud video üle võrgu edastamisel tekkivate probleemide lahendamisele. Sõltuvalt video tüübist esitatakse ummikute kontrolli algoritmidele peaaegu vastupidised nõuded - interaktiivse video puhul on vaja tagada minimaalsed viivitused isegi kvaliteedi arvelt ning eelnevalt ettevalmistatud kvaliteetse video edastamisel eelistatakse kvaliteedi säilitamiseks. Varem piirdusid rakenduste arendajad võimalusega rakendada erinevaid algoritme sõltuvalt kvaliteedi- või latentsusnõuetest. COPA välja töötanud teadlased püüdsid luua universaalse algoritmi TCP-video ülekoormuse haldamiseks, mida saaks videonõuete alusel kohandada.

Ülekoormuse kontrolli algoritmi ülesanne on määrata pakettide saatmisel optimaalne tasakaal – liiga paljude pakettide saatmine võib kaasa tuua pakettide kadumise ja jõudluse halvenemise vajaduse tõttu neid uuesti saata ning liiga aeglane saatmine toob kaasa viivitusi, mis samuti mõjutavad jõudlust negatiivselt. . Katseteks valiti QUIC-protokoll, kuna see võimaldab rakendada kasutajaruumis ummikute kontrolli algoritme ilma kernelit segamata.

Sidekanalite ülekoormuse vältimiseks kasutab COPA kanali omaduste modelleerimist, mis põhineb pakettide edastamise ajal esinevate viivituste muutuste analüüsil (COPA vähendab ummikuakna suurust viivituste suurenedes, manipuleerides sellega, et viivitused hakkavad suurenema isegi paketi kadumise eelses etapis). . Tasakaalu viivituste ja läbilaskevõime vahel reguleeritakse spetsiaalse deltaparameetri abil. Delta suurendamine suurendab tundlikkust viivituste suhtes, kuid vähendab läbilaskevõimet, samas kui delta vähenemine võimaldab suuremat läbilaskevõimet suurenenud latentsusaja hinnaga. Delta = 0.04 on määratletud kui optimaalne tasakaal kvaliteedi ja latentsuse vahel.

Facebook testib uut ummikukontrolli algoritmi COPA BBR ja CUBIC vastu

Facebook Live voogedastusteenuse põhjal testiti COPA-d võrreldes populaarsete CUBIC- ja BBR-algoritmidega. Linuxi CUBIC-i vaikealgoritm on suurendada ummikuakna suurust järk-järgult kuni pakettide kadumiseni, misjärel akna suurus veeretatakse tagasi väärtusele enne kadumise algust.

CUBIC jätab tänapäevaste võrguseadmete pakettide puhverdamisel soovida, mis aeglustab pakettide langemist. Ülekoormuse kontrolli algoritm ei ole puhverdamisest teadlik ja jätkab kiiruse suurendamist isegi siis, kui kanal on juba füüsiliselt ülekoormatud. Saatmata paketid pigem puhverdatakse kui visatakse ära ja TCP ülekoormuse kontrolli algoritm käivitub ainult siis, kui puhver on täis ega suuda voolukiirust füüsilise lingi kiirusega tasakaalustada. Selle probleemi lahendamiseks on Google pakkunud välja täiustatud BBR-algoritmi, mis ennustab saadaoleva ribalaiuse järjestikuste kontrollide ja edasi-tagasi reisiaja (RTT) hinnangu abil.

Delta = 0.04 korral osutusid COPA näitajad CUBICi ja BBR-i lähedale. Testides, mis viidi läbi kiire võrguühenduse ja madala pakettedastusviivitusega, saavutas COPA madalama latentsuse (479 ms) võrreldes CUBICiga (499 ms), kuid jäi veidi alla BBR-ist (462 ms). Kui ühenduse kvaliteet langes, näitas COPA parimaid tulemusi – viivitused olid 27% väiksemad kui CUBIC ja BBR kasutamisel.

Facebook testib uut ummikukontrolli algoritmi COPA BBR ja CUBIC vastu

Facebook testib uut ummikukontrolli algoritmi COPA BBR ja CUBIC vastu

Samas võimaldasid COPA ja BBR kehval sidekanalil saavutada oluliselt suurema läbilaskevõime võrreldes CUBICiga. BBR tõus võrreldes CUBICiga oli 4.8% ja 5.5% ning COPA - 6.2% ja 16.3%.

Facebook testib uut ummikukontrolli algoritmi COPA BBR ja CUBIC vastu

Allikas: opennet.ru

Lisa kommentaar