A Shenango rendszert adatközpontokban terveznek használni.
/ фото
Az egyik szolgáltató adatai szerint az adatközpontok 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 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 , é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 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 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 keretrendszeré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, . Ö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.

A Shenango emellett 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 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 é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 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 -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.

/ фото
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 .
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 .
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 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 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
