Ahogy az autópálya-hálózatok is szenvedhetnek a forgalmi dugóktól, úgy a számítógépes hálózatok is szembesülhetnek torlódásokkal. Egy új tanulmány szerint a számítógépes hálózatokban a késések ellenőrzésére tervezett számos kulcsfontosságú algoritmus rendkívül igazságtalanul dolgozhat, mivel egyes felhasználóktól az összes sávszélességet elvonják, míg másoknak lényegében semmit sem adnak.
Az interneten keresztül adatokat küldő számítógépek és egyéb eszközök kisebb csomagokra bontják az adatokat, majd speciális algoritmusok segítségével döntik el, hogy milyen gyorsan küldjék el ezeket a csomagokat. E torlódásszabályozó algoritmusok célja, hogy feltárják és kihasználják a rendelkezésre álló teljes hálózati kapacitást, miközben megosztják azt az ugyanazon a hálózaton lévő többi felhasználóval.
Az elmúlt évtizedben a kutatók számos torlódásvezérlő algoritmust fejlesztettek ki, amelyek arra törekednek, hogy nagy adatátviteli sebességet érjenek el, miközben minimalizálják a hálózatban a sorban várakozó adatokból eredő késedelmeket. Ezek közül néhányat, mint például a Google BBR algoritmusát, ma már számos weboldal és alkalmazás széles körben használja.
Bár az elmúlt nagyjából 40 évben több száz torlódásszabályozó algoritmust javasoltak, nincs egyértelmű győztes - mondja a tanulmány vezető szerzője, Venkat Arun, az MIT informatikusa. "Frusztrált, hogy milyen keveset tudtunk arról, hogy ezek az algoritmusok hol működnek és hol nem. Ez motivált arra, hogy létrehozzak egy olyan matematikai modellt, amely szisztematikusabb előrejelzéseket tudna készíteni" - tette hozzá a felfedezést ismertető IEEE Spectrum szerint.
Arun és kollégái most váratlanul úgy találják, hogy számos torlódásszabályozó algoritmus rendkívül igazságtalan lehet. Új tanulmányuk szerint a hálózati útvonalak valós összetettségét tekintve mindig lesz olyan forgatókönyv, amikor nem lehet elkerülni az "éhezés" néven ismert problémát, amikor a hálózaton legalább egy feladó szinte semmilyen sávszélességet nem kap a többi felhasználóhoz képest.
A felhasználó számítógépe nem tudja, milyen gyorsan küldjön adatcsomagokat, mert nincs tudomása a hálózatról, például arról, hogy hány másik feladó van rajta kívül, vagy hogy milyen a kapcsolat minősége. A túl lassú csomagküldés rosszul használja ki a rendelkezésre álló sávszélességet. A túl gyors csomagküldés azonban túlterhelheti a hálózatot, ami a csomagok elvesztéséhez vezethet. Ezeket a csomagokat ezután újra el kell küldeni, ami késedelmet okoz. Ahogy késedelmet okozhat az is, ha a csomagok hosszú ideig várakoznak a sorban.
A torlódásvezérlő algoritmusok a csomagveszteségekre és késésekre támaszkodnak, mint részletekre, hogy következtetni tudjanak a torlódásra, és eldöntsék, milyen gyorsan küldjenek adatokat. A csomagok azonban a hálózati torlódástól eltérő okokból is elveszhetnek és késhetnek. Például előfordulhat, hogy az adatokat feltartják, majd más csomagokkal együtt egy kötegben kiadják, vagy késhet, hogy a vevő késve nyugtázza, hogy csomagokat kapott. A kutatók a nem torlódásból eredő késéseket "jitter"-nek nevezték el.
A torlódásvezérlő algoritmusok nem tudnak különbséget tenni a torlódás és a jitter okozta késések között. Ez problémákhoz vezethet, mivel a jitter okozta késések kiszámíthatatlanok. Ez a kétértelműség összezavarja a küldő feleket, ami arra késztetheti őket, hogy eltérően becsüljék a késleltetést, és egyenlőtlen sebességgel küldjenek csomagokat. A kutatók úgy találták, hogy ez végül olyan helyzetekhez vezet, amikor "éhezés" lép fel, és egyes felhasználók teljesen kizáródnak a forgalomból.
Az új tanulmányban - amelyet az amszterdami SIGCOMM konferencián mutatnak be - a kutatók azt elemezték, hogy az általuk ismert összes torlódásszabályozó algoritmus, valamint néhány általuk kidolgozott új algoritmus képes-e elkerülni az "éhezést". A tudósok meglepődve tapasztalták, hogy minden egyes algoritmus esetében mindig voltak olyan forgatókönyvek, amikor néhány ember az összes sávszélességet megkapta, és legalább egy pedig gyakorlatilag semmit sem kapott.
"Néhány felhasználó nagyon rossz teljesítményt tapasztalhatott, és mi nem tudtunk erről korábban. Extrém igazságtalanság akkor is előfordul, ha mindenki együttműködik, és erről senki sem tehet" - mondta Arun.
A kutatók megállapították, hogy az összes létező torlódásszabályozó algoritmus, amely a késések megfékezésére törekszik, úgynevezett "késleltetés-konvertáló algoritmus", amely mindig éhezéstől fog szenvedni. Ez a gyengeség ezekben a széles körben használt algoritmusokban azért maradhatott ilyen sokáig ismeretlen, mert a puszta empirikus tesztelés "a gyenge teljesítményt inkább az elégtelen hálózati kapacitásnak tulajdoníthatta, mint a rossz algoritmikus döntéshozatalnak" - állította Arun.
A kutató szerint a torlódásszabályozás meglévő megközelítései ugyan nem biztos, hogy képesek elkerülni az "éhezést", a cél most egy olyan új stratégia kifejlesztése, amely ezt megteszi. "A jobb algoritmusok csökkentett költségek mellett kiszámítható teljesítményt tesznek lehetővé" - állította.
Arun azt is megjegyezte, hogy a kutatásnak a hálózati torlódások elemzésén túl is lehetnek alkalmazásai. "A számítógépes rendszerek modellezésére kidolgozott módszerünket jelenleg arra használjuk, hogy más, a számítógépes rendszerekben az erőforrásokat elosztó algoritmusokról gondolkodjunk. A cél az, hogy segítsünk kiszámítható teljesítményű rendszereket építeni, ami azért számít, mert egyre fontosabb dolgokban támaszkodunk a komputerekre. Például életek múlhatnak azon, hogy az önvezető autók időben meghozzák-e a döntéseiket" - figyelmeztetett.