Fejsbuko testas novan obstrukckontrolalgoritmon COPA kontraŭ BBR kaj CUBIC

Facebook eldonita rezultoj de eksperimentoj kun nova obstrukckontrola algoritmo - KOPA, optimumigita por transdoni videoenhavon. La algoritmo estis proponita de esploristoj de la Masaĉuseca Instituto de Teknologio. La COPA-prototipo proponita por testado estas skribita en C++, malfermi licencita sub MIT kaj inkluzivita en mvfst — efektivigo de la QUIC-protokolo disvolvita ĉe Facebook.

La COPA-algoritmo fokusiĝas al solvado de problemoj, kiuj aperas dum transdono de video per reto. Depende de la speco de video, preskaŭ kontraŭaj postuloj estas metitaj sur obstrukci-kontrolalgoritmoj - por interaga video, necesas certigi minimumajn prokrastojn, eĉ koste de kvalito, kaj kiam elsendas antaŭpreparitan altkvalitan videon, prioritato estas donita. por konservi kvaliton. Antaŭe, aplikaĵprogramistoj estis limigitaj al la kapablo apliki malsamajn algoritmojn depende de kvalito aŭ latencia postuloj. La esploristoj, kiuj disvolvis COPA, provis krei universalan algoritmon por administri TCP-video-kongeston, kiu povus esti personecigita surbaze de videopostuloj.

La tasko de la algoritmo de kontrolo de obstrukciĝo estas determini la optimuman ekvilibron dum sendado de pakaĵetoj - sendo de tro da pakaĵetoj povas kaŭzi pakaĵetperdon kaj rendimento-malboniĝon pro la bezono resendi ilin, kaj sendo tro malrapide kondukas al prokrastoj, kiuj ankaŭ negative influas rendimenton. . La QUIC-protokolo estis elektita por la eksperimentoj, ĉar ĝi permesas la efektivigon de obstrukckontrolalgoritmoj en uzantspaco sen interfero kun la kerno.

Por malhelpi komunikadkanalŝtopiĝon, COPA uzas modeligadon de kanalkarakterizaĵoj bazitaj sur analizo de ŝanĝoj en prokrastoj dum pakaĵeto (COPA reduktas la grandecon de la obstrukciĝofenestro kiam prokrastoj pliiĝas, manipulante ke prokrastoj komencas pliiĝi eĉ en la stadio antaŭ ol pakaĵetperdo okazas) . La ekvilibro inter prokrastoj kaj trairo estas ĝustigita uzante specialan delta parametron. Kreskanta delto pliigas sentemon al prokrastoj sed reduktas trairon, dum malpliiĝanta delto permesas pli altan trairon koste de pliigita latenteco. Delta=0.04 estas difinita kiel la optimuma ekvilibro inter kvalito kaj latenteco.

Fejsbuko testas novan obstrukckontrolalgoritmon COPA kontraŭ BBR kaj CUBIC

Surbaze de la Facebook Live streaming-servo, COPA estis testita kompare kun la popularaj CUBIC kaj BBR-algoritmoj. La defaŭlta CUBIC-algoritmo en Linukso estas iom post iom pliigi la grandecon de la obstrukciĝofenestro ĝis pakaĵetperdo okazas, post kiu la fenestrograndeco estas remetita al la valoro antaŭ ol perdo komenciĝis.

CUBIC lasas multon por deziri ĉe paka bufro sur modernaj retaj ekipaĵoj, kiu malrapidigas pakaĵetojn. La obstrukckontrolalgoritmo estas nekonscia pri bufrado kaj daŭre pliigas rapidecon eĉ se la kanalo jam estas fizike ŝtopiĝinta. Nesenditaj pakaĵetoj estas bufritaj prefere ol forĵetitaj, kaj la obstrukckontrolalgoritmo de TCP nur ekfunkcias kiam la bufro estas plena kaj ne povas balanci la flukvanton kun la rapideco de la fizika ligo. Por solvi ĉi tiun problemon, Guglo proponis plibonigitan BBR-algoritmon, kiu antaŭdiras disponeblan bendolarĝon per sinsekvaj kontroloj kaj ĉirkaŭvojaĝa tempo (RTT) takso.

Kun delta = 0.04, COPA-indikiloj montriĝis proksimaj al CUBIC kaj BBR. En testoj faritaj super altrapida retkonekto kun malaltaj pakaĵetprokrastoj, COPA atingis pli malaltan latentecon (479 ms) komparite kun CUBIC (499 ms), sed falis iomete malantaŭ BBR (462 ms). Kiam la kvalito de konekto malpliiĝis, COPA montris la plej bonajn rezultojn - prokrastoj estis 27% pli malaltaj ol kiam oni uzis CUBIC kaj BBR.

Fejsbuko testas novan obstrukckontrolalgoritmon COPA kontraŭ BBR kaj CUBIC

Fejsbuko testas novan obstrukckontrolalgoritmon COPA kontraŭ BBR kaj CUBIC

Samtempe, sur malbona komunika kanalo, COPA kaj BBR ebligis atingi signife pli altan trafluon kompare kun CUBIC. La gajno de BBR, kompare kun CUBIC, estis 4.8% kaj 5.5%, kaj COPA - 6.2% kaj 16.3%.

Fejsbuko testas novan obstrukckontrolalgoritmon COPA kontraŭ BBR kaj CUBIC

fonto: opennet.ru

Aldoni komenton