Nov uravnoteževalec obremenitve procesorja MIT

Sistem Shenango je načrtovan 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 velikih obremenitvah ta številka lahko doseže 60%Zaradi te porazdelitve virov se pojavljajo tako imenovani "zombi strežniki". To so stroji, ki večino časa mirujejo in porabljajo energijo. Danes je 30 % svetovnih strežnikov zombi strežnikov. so brez dela, ki porabijo 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 spremljanje stanja medpomnilnika opravil in prerazporeditev »zataknjenih« procesov (tistih, ki ne morejo pridobiti časa procesorja) na proste računalnike.

Kako deluje Shenango

Šenango je Linux- knjižnica 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. Zahteve CPE upravlja z uporabo ogrodja. DPDK, ki omogoča aplikacijam neposredno interakcijo z omrežnimi napravami.

Jedro IOKernel se odloči, katerim jedrom bo delegiralo določeno nalogo. Algoritem določi tudi, koliko jeder je potrebnih. Za vsak proces so definirana zagotovljena jedra in jedra, ki jih je mogoče porušiti – jedra, ki jih je mogoče porušiti, se zaženejo v primeru močnega povečanja zahtev CPE.

Čakalna vrsta zahtev IOKernel je organizirana na naslednji način: obročni medpomnilnikVsakih pet mikrosekund algoritem preveri, ali so bile vse naloge, dodeljene jedru, opravljene. V ta namen primerja trenutni položaj "glave" medpomnilnika s prejšnjim položajem njegovega "repa". Če je bil rep v času prejšnjega preverjanja že v čakalni vrsti, sistem označi medpomnilnik kot preobremenjenega in procesu dodeli dodatno jedro.

Pri porazdelitvi obremenitve imajo prednost jedra, na katerih je bil isti proces že prej izveden in je delno ostal v predpomnilniku, ali pa vsa nedejavna jedra.

Nov uravnoteževalec obremenitve procesorja MIT

Shenango dodatno uporablja pristop krajo delaJedra, namenjena izvajanju ene same aplikacije, spremljajo delovne obremenitve drugih. Če eno jedro zaključi svoj seznam opravil pred drugimi, razbremeni del delovne obremenitve svojih sosedov.

Prednosti in slabosti

Na glede na Po besedah ​​inženirjev MIT je Shenango sposoben obdelati pet milijonov zahtev na sekundo in vzdrževati povprečni odzivni čas 37 mikrosekund. Strokovnjaki trdijo, da lahko tehnologija v nekaterih primerih poveča izkoriščenost procesorja v podatkovnih centrih do 100 %. To bo upravljavcem podatkovnih centrov omogočilo prihranek 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 zakasnitev pri spletnih storitvah. Na primer, uporaben bo za spletne trgovine. Med prodajo je že enosekundna zamuda pri nalaganju strani приводит 11-odstotno zmanjšanje ogledov spletnega mesta. Hitro uravnoteženje obremenitve bo pomagalo postreči več strankam.

Tehnologija ima še vedno nekaj pomanjkljivosti - ne podpira večprocesorskih procesorjev 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 določene skupine procesorjev, ne pa vseh čipov v strežniku.

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

Podobne tehnologije

Arachne izstopa med drugimi sistemi za uravnoteženje obremenitve procesorjev. Izračuna, koliko jeder bo aplikacija potrebovala ob zagonu, in ustrezno porazdeli procese. Po navedbah avtorjev je največja latenca aplikacije v Arachneju približno 10 mikrosekund.

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

Drugo orodje za uravnoteženje obremenitve je ZygOS. Tako kot Shenango tudi ta tehnologija uporablja krajo dela za prerazporeditev procesov. Po navedbah avtorjev ZygOS-a je povprečna latenca aplikacije pri uporabi orodja približno 150 mikrosekund, največja pa približno 450 mikrosekund. Koda projekta je prav tako je v javni domeni.

Ugotovitve

Sodobni podatkovni centri se še naprej širijo, zlasti na trgu hiperskalnih podatkovnih centrov: zdaj v svetu obstaja 430 hiperskalabilnih podatkovnih centrov, vendar bi se to število lahko v prihodnjih letih povečalo za 30 %. Zaradi tega bodo tehnologije za uravnoteženje obremenitve procesorjev zelo iskane. Sistemi, kot je Shenango, so že se izvajajo velike korporacije, število takšnih orodij pa se bo v prihodnosti le še povečevalo.

Objave iz prvega bloga o korporativnem IaaS:

Vir: www.habr.com

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster