Új CPU terheléselosztó az MIT-től

A Shenango rendszert adatközpontokban terveznek használni.

Új CPU terheléselosztó az MIT-től
/ фото Marco Verch CC BY

Az egyik szolgáltató adatai szerint az adatközpontok use mindössze 20–40% -át használják ki a rendelkezésre álló számítási kapacitásnak. Magas terhelésnél ez az arány elérheti a 60% -ot.Ez az erőforrások ilyen elosztása, a úgynevezett "zombi szerverek" megjelenéséhez vezet. Ezek olyan gépek, amelyek az idő nagy részében tétlenkednek, és feleslegesen fogyasztják az áramot. Ma a világon a szerverek 30% -a tétlenül áll, évente 30 milliárd dollárnyi áramot fogyasztva.

A MIT-nél döntöttek az effektív számítási erőforrás-felhasználás elleni küzdelem mellett.

Mérnökök csapata kifejlesztette a Shenango névre hallgató terheléselosztó rendszert fejlesztette ki. Célja figyelni a feladatok puffereinek állapotát és átcsoportosítani a "beragadt" folyamatokat (amelyek nem tudják elérni a processzort) a szabad gépekre.

Hogyan működik a Shenango

A Shenango egy C nyelvű Linux-könyvtár Rust és C++ kötéssel. A projekt kódja és a tesztalkalmazások közzétéve lettek a tárhelyen a GitHub-on.

A megoldás alapját az IOKernel algoritmus képezi, amely egy dedikált magon fut egy multiprocesszoros rendszerben. Ez irányítja a CPU-hoz érkező kéréseket a DPDKkeretrendszerén keresztül, amely lehetővé teszi az alkalmazások közvetlen kapcsolódását a hálózati eszközökhöz.

Az IOKernel eldönti, hogy mely magoknak kell átadni a konkrét feladatokat. Az algoritmus azt is megalapozza, hogy hány magra van szükség. Minden folyamat számára alap- (guaranteed) és további (burstable) magokat határoz meg, az utóbbiakat sürgős CPU-kérés esetén indítják el.

Az IOKernel kérés-sorra úgy van megszervezve, mint egy gyűrűs puffer.. Öt mikrosekundumonként az algoritmus ellenőrzi, hogy az összes magra kijelölt feladatot teljesítették-e. E célból összehasonlítja a puffer "fejének" aktuális helyzetét a "farok" előző pozíciójával. Ha kiderül, hogy a farok már az előző ellenőrzés idején a sorban volt, a rendszer a puffer túlterheltségét észleli és egy további magot oszt ki a folyamatnak.

A terheléselosztás során előnyben részesítik azokat a magokat, amelyeken korábban hasonló folyamat futott és részben megmaradt a gyorsítótárban, vagy bármilyen inaktív magot.

Új CPU terheléselosztó az MIT-től

A Shenango emellett munkavasalás-használati megoldást is alkalmaz.Az egy alkalmazás számára kijelölt magok figyelik egymás feladatait. Ha az egyik mag korábban befejezi a feladatait, akkor "levéve" egy részt a szomszédok terheléséből.

Előnyök és hátrányok

A szavak A MIT mérnökeinek köszönhetően a Shenango másodpercenként öt millió lekérdezést képes feldolgozni, és átlagosan 37 mikroszekundumos válaszidőt tart fenn. A szakértők szerint a technológia egyes esetekben akár a processzorok kihasználtságát is 100%-ra emelheti az adatközpontokban. Ennek eredményeként az adatközpont operátorai spórolhatnak a szerverek vásárlásán és karbantartásán.

A megoldás potenciálja megjegyzi és más egyetemek szakértői. Egy koreai intézet professzora szerint a MIT rendszere segíthet csökkenteni a webszolgáltatások késlekedését. Például online bolt üzemeltetésekor a kiárusítások napján akár egy másodperces késlekedés is hivatkozik 11%-kal csökkentheti a weboldal megtekintéseinek számát. A terhelés azonnali elosztása több ügyfél kiszolgálását segíti.

A technológiának azonban vannak hátrányai - nem támogatja a többprocesszoros NUMA-rendszereket, ahol a chipek különböző memória modulokhoz csatlakoznak, és nem "kommunikálnak" egymással. Ilyen esetben az IOKernel képes egy külön csoport processzor működését szabályozni, de nem minden chipét a szervernek.

Új CPU terheléselosztó az MIT-től
/ фото Tim Reckmann CC BY

Hasonló technológiák

A processzorok terhelés-elosztására más rendszerek is vannak, például az Arachne. Ez kiszámítja, hány magra lesz szüksége az alkalmazásnak a beindulásakor, és ennek megfelelően osztja el a folyamatokat. Az alkotók becslése szerint az Arachne alkalmazásának maximális késlekedése körülbelül 10 ezer mikroszekundum.

A technológia C++ könyvtár formájában valósult meg Linuxra, és a forráskódja elérhető a GitHub.

Egy másik terhelés-elosztó eszköz a ZygOS. A Shenango-hoz hasonlóan ez a technológia is a work stealing módszert használja a folyamatok újraelosztására. A ZygOS alkotói szerint a terheléses alkalmazások átlagos késlekedése körülbelül 150 mikroszekundum, míg a maximális körülbelül 450 mikroszekundum. A projekt kódja szintén nyilvánosan elérhető.

Következtetések

A modern adatközpontok tovább bővülnek, különösen a hyperscale adatközpontok piacán megfigyelhető tendencia jelentős: mára világszerte létezik 430 hiper-skalázható adatközpont, de a közeljövőben számuk 30%-kal nőhet. Emiatt a processzorok terheléselosztó technológiái nagyon keresettek lesznek. Olyan rendszerek, mint a Shenango, már most is bevezetésre kerülnek nagyvállalatok által, és a jövőben az ilyen eszközök száma csak növekedni fog.

Bejegyzések az első blogból a vállalati IaaS-ról:

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster