Nov uravnoteževalec obremenitve procesorja MIT

Sistem Shenango je predviden za uporabo v podatkovnih centrih.

Nov uravnoteževalec obremenitve procesorja MIT
/ fotografija Marco verch CC BY

Po besedah ​​enega od ponudnikov podatkovni centri uporabo le 20–40 % razpoložljive računalniške moči. Pri visokih obremenitvah ta indikator lahko doseže 60%. Ta porazdelitev virov vodi v nastanek tako imenovanih "zombi strežnikov". To so stroji, ki večino časa mirujejo in zapravljajo energijo. Danes 30% strežnikov na svetu so brez dela, ki porabi 30 milijard dolarjev električne energije na leto.

MIT se je odločil za boj proti neučinkoviti uporabi računalniških virov.

Inženirska ekipa se je razvil sistem za uravnoteženje obremenitve procesorja, imenovan Shenango. Njegov namen je spremljati stanje vmesnega pomnilnika opravil in prerazporediti obtičale procese (ki ne morejo prejeti časa procesorja) na proste stroje.

Kako Shenango deluje

Shenango je knjižnica Linuxa v C z vezavami Rust in C++. Koda projekta in testne aplikacije so objavljene v repozitorije na GitHubu.

Rešitev temelji na algoritmu IOKernel, ki deluje na namenskem jedru večprocesorskega sistema. Upravlja zahteve procesorja z uporabo ogrodja DPDK, ki aplikacijam omogoča neposredno komunikacijo z omrežnimi napravami.

IOKernel se odloči, katerim jedrom bo dodelil določeno nalogo. Algoritem tudi odloči, koliko jeder bo potrebnih. Za vsak proces so določena glavna jedra (zajamčena) in dodatna (burstable) - slednja se sprožijo v primeru močnega povečanja števila zahtev do CPU.

Čakalna vrsta zahtev IOKernel je organizirana kot medpomnilnik obroča. Vsakih pet mikrosekund algoritem preveri, ali so dokončane vse naloge, dodeljene jedru. Da bi to naredil, primerja trenutno lokacijo glave odbojnika s prejšnjim položajem njegovega repa. Če se izkaže, da je bil rep v času prejšnjega preverjanja že v čakalni vrsti, sistem zabeleži preobremenitev medpomnilnika in procesu dodeli dodatno jedro.

Pri porazdelitvi obremenitve imajo prednost jedra, na katerih je bil prej izveden isti proces in so delno ostala v predpomnilniku, ali morebitna nedejavna jedra.

Nov uravnoteževalec obremenitve procesorja MIT

Shenango dodatno uporablja pristop krajo dela. Jedra, dodeljena za izvajanje ene aplikacije, spremljajo število nalog, ki jih ima drug drugega. Če eno jedro konča svoj seznam opravil pred drugimi, potem "razbremeni" del obremenitve svojih sosedov.

Prednosti in slabosti

Na glede na inženirjev z MIT je Shenango sposoben obdelati pet milijonov zahtevkov na sekundo in vzdrževati povprečni odzivni čas 37 mikrosekund. Strokovnjaki pravijo, da lahko tehnologija v nekaterih primerih poveča stopnjo izkoriščenosti procesorjev v podatkovnih centrih na 100 %. Posledično bodo operaterji podatkovnih centrov lahko prihranili pri nakupu in vzdrževanju strežnikov.

Potencial rešitve proslavite in strokovnjaki z drugih univerz. Po mnenju profesorja s korejskega inštituta bo sistem MIT pomagal zmanjšati zamude pri spletnih storitvah. Uporaben bo na primer v spletnih trgovinah. Na razprodajne dni pride do sekundne zamude pri nalaganju strani приводит do zmanjšanja števila ogledov strani za 11 %. Hitra porazdelitev obremenitve bo pomagala služiti več strankam.

Tehnologija ima še vedno pomanjkljivosti - ne podpira večprocesorja NUMA-sistemi, v katerih so čipi povezani z različnimi pomnilniškimi moduli in med seboj ne »komunicirajo«. V tem primeru lahko IOKernel regulira delovanje ločene skupine procesorjev, ne pa vseh strežniških čipov.

Nov uravnoteževalec obremenitve procesorja MIT
/ fotografija Tim Reckmann CC BY

Podobne tehnologije

Drugi sistemi za uravnoteženje obremenitve procesorja vključujejo Arachne. Izračuna, koliko jeder bo aplikacija potrebovala, ko se zažene, in porazdeli procese glede na ta indikator. Po mnenju avtorjev je največja latenca aplikacije v Arachne približno 10 tisoč mikrosekund.

Tehnologija je implementirana kot knjižnica C++ za Linux, njena izvorna koda pa je na voljo na GitHub.

Drugo orodje za uravnoteženje je ZygOS. Tako kot Shenango tudi tehnologija uporablja metodo kraje dela za prerazporeditev procesov. Po mnenju avtorjev ZygOS je povprečna zakasnitev aplikacije pri uporabi orodja približno 150 mikrosekund, največja pa približno 450 mikrosekund. Projektna koda je tudi je v javni domeni.

Ugotovitve

Sodobni podatkovni centri se še naprej širijo. Trend naraščanja je še posebej opazen na trgu hiperrazširljivih podatkovnih centrov: zdaj v svetu obstaja 430 hiperrazširjenih podatkovnih centrov, vendar se lahko v prihodnjih letih njihovo število poveča za 30 %. Zaradi tega bo veliko povpraševanje po tehnologijah za uravnoteženje obremenitve procesorja. Sistemi, kot je Shenango, so že na voljo izvajati velike korporacije, število tovrstnih orodij pa bo v prihodnosti le še naraščalo.

Objave iz prvega bloga o korporativnem IaaS:

Vir: www.habr.com

Dodaj komentar