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

A Shenango rendszert adatközpontokban tervezik használni.

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

Az egyik szolgáltató szerint adatközpontok használat csak a rendelkezésre álló számítási teljesítmény 20-40%-a. Nagy terhelésnél ez a mutató elérheti a 60%-ot. Ez az erőforrás-elosztás az úgynevezett „zombi szerverek” kialakulásához vezet. Ezek olyan gépek, amelyek az idő nagy részében tétlenül ülnek, és energiát pazarolnak. Ma a világ szervereinek 30%-a munka nélkül vannak, évente 30 milliárd dollár értékű áramot fogyasztva.

Az MIT úgy döntött, hogy küzd a számítási erőforrások nem hatékony felhasználása ellen.

Mérnöki csapat kifejlesztett Shenango nevű processzorterhelés-elosztó rendszer. Célja a feladatpuffer állapotának figyelése és a megrekedt folyamatok (amelyek nem tudnak CPU-időt fogadni) újraelosztása a szabad gépekre.

Hogyan működik a Shenango

A Shenango egy Linux-könyvtár C nyelven Rust és C++ kötésekkel. A projekt kódja és a tesztpályázatok közzététele adattárak a GitHubon.

A megoldás az IOKernel algoritmuson alapul, amely egy többprocesszoros rendszer dedikált magján fut. A CPU-kéréseket keretrendszer segítségével kezeli DPDK, amely lehetővé teszi az alkalmazások számára, hogy közvetlenül kommunikáljanak a hálózati eszközökkel.

Az IOkernel dönti el, hogy mely kernelekre delegáljon egy adott feladatot. Az algoritmus azt is eldönti, hogy hány magra lesz szükség. Minden folyamathoz meghatározzák a fő magokat (garantált) és a további magokat (burstable) - ez utóbbiak a CPU-hoz intézett kérések számának meredek növekedése esetén indulnak el.

Az IOkernel kérési sor a következőképpen van megszervezve gyűrű puffer. Az algoritmus öt mikromásodpercenként ellenőrzi, hogy a maghoz rendelt összes feladat befejeződött-e. Ehhez összehasonlítja a puffer fejének aktuális helyét a farok korábbi pozíciójával. Ha kiderül, hogy a farok már a sorban volt az előző ellenőrzés időpontjában, a rendszer megjegyzi a puffer túlterheltségét, és egy további magot rendel a folyamathoz.

A terhelés elosztása során elsőbbséget élveznek azok a magok, amelyeken ugyanaz a folyamat korábban lefutott és részben a gyorsítótárban maradt, vagy bármely tétlen mag.

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

Shenango emellett ezt a megközelítést alkalmazza munkalopás. Az egy alkalmazás futtatásához kiosztott magok figyelik egymás feladatainak számát. Ha az egyik mag a többi előtt befejezi a feladatlistáját, akkor a terhelés egy részét „mentesíti” a szomszédaitól.

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

On szerint A Shenango MIT mérnökei másodpercenként ötmillió kérést képesek feldolgozni, és átlagosan 37 mikroszekundumos válaszidőt tartanak fenn. Szakértők szerint bizonyos esetekben a technológia 100%-ra növelheti az adatközpontok processzorainak kihasználtságát. Ennek eredményeként az adatközpontok üzemeltetői spórolhatnak a szerverek vásárlásán és karbantartásán.

Megoldási lehetőség jel és más egyetemek szakemberei. Egy koreai intézet professzora szerint az MIT-rendszer segít csökkenteni a webszolgáltatások késéseit. Például hasznos lesz az online áruházakban. Az értékesítési napokon még egy második késés is előfordul az oldalbetöltésben приводит a webhelymegtekintések számának 11%-os csökkenéséhez. Az azonnali terheléselosztás több ügyfél kiszolgálását segíti elő.

A technológiának még mindig vannak hátrányai - nem támogatja a többprocesszort BAN BEN-rendszerek, amelyekben a chipek különböző memóriamodulokhoz vannak csatlakoztatva, és nem „kommunikálnak” egymással. Ebben az esetben az IOKernel a processzorok külön csoportjának működését szabályozhatja, de nem az összes szerverchip működését.

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

Hasonló technológiák

Más processzorterhelés-elosztó rendszerek közé tartozik az Arachne. Kiszámítja, hogy egy alkalmazásnak hány magra lesz szüksége indulásakor, és ennek a mutatónak megfelelően osztja el a folyamatokat. A szerzők szerint egy alkalmazás maximális késleltetési ideje Arachne-ban körülbelül 10 ezer mikroszekundum.

A technológiát C++ könyvtárként valósítják meg Linuxhoz, forráskódja pedig elérhető a címen GitHub.

Egy másik kiegyensúlyozó eszköz a ZygOS. A Shenangohoz hasonlóan a technológia a munkalopás módszerét használja a folyamatok újraelosztására. A ZygOS szerzői szerint az átlagos alkalmazási késleltetés az eszköz használatakor körülbelül 150 mikroszekundum, a maximum pedig körülbelül 450 mikroszekundum. A projekt kódja is közkincs.

Álláspontja

A modern adatközpontok tovább terjeszkednek, a növekvő tendencia különösen a hiperméretű adatközpontok piacán érezhető: immár a világban van 430 hiperskálájú adatközpont, de a következő években számuk 30%-kal bővülhet. Emiatt nagy lesz a kereslet a processzorterhelés-elosztási technológiák iránt. A Shenango-hoz hasonló rendszerek már elérhetőek végrehajtani nagyvállalatok, és az ilyen eszközök száma a jövőben csak nőni fog.

Az első blog bejegyzései a vállalati IaaS-ről:

Forrás: will.com

Hozzászólás