Shenango süsteemi plaanitakse kasutada andmekeskustes.
/ фото
Ühe teenusepakkuja andmetel, andmekeskused kui palju 20–40% saadaolevatest arvutusressurssidest. Suure koormuse korral võib see näitaja Selline ressursside jaotamine toob kaasa nn «zombie-serverite» tekkimise. Need on masinad, mis suurema osa ajast seisavad, raisates elektrit. Täna seisab 30% serveritest maailmas , tarbides elektrit 30 miljardi dollari eest aastas.
MIT-s otsustati võidelda arvutusressursside ebaefektiivse kasutamise vastu.
Inseneride meeskond protsessorite koormuse tasakaalustamise süsteem nimega Shenango. Selle eesmärk on jälgida ülesannete puhvri seisundit ja jaotada «ummikus» protsessid (mis ei saa protsessoriaega) vabadele masinatele.
Kuidas Shenango töötab
Shenango on Linuxi teek C keeles Rusti ja C++ sidumistega. Projekti kood ja testrakendused on avaldatud on GitHub.
Lahenduse aluseks on IOKernel algoritm, mis töötab mitme protsessoriga süsteemi eraldi tuumadel. See haldab CPU päringute käsitlemist raamistiku kaudu , mis võimaldab rakendustel otse suhelda võrgu seadmetega.
IOKernel otsustab, millistele tuumadele konkreetsed ülesanded üle anda. Algoritm määrab ka, kui palju tuumasid on vajalik. Iga protsessi jaoks määratakse kindlaks põhi tuumad (guaranteed) ja lisatuumad (burstable) — viimased aktiveeritakse siis, kui CPU päringute arv järsult suureneb.
IOKernel'i päringute järjekord on korraldatud . Iga viie mikrosekundi tagant kontrollib algoritm, kas kõik määratud ülesanded on tuumale täidetud. Selleks võrdleb see puhvri 'pea' praegust asukohta oma 'saba' eelmise asukohaga. Kui selgub, et saba oli juba järjekorras eelmisel kontrollimisel, märgib süsteem puhvri ülekoormust ja eraldab protsessile täiendava tuuma.
Koormuse jaotamisel antakse prioriteet tuumadele, millel sama protsess oli eelnevalt käimas ja mis on osaliselt jäädvustatud vahemälu, või igasugustele inaktiivsetele tuumadele.

Shenango kasutab lisaks lähenemist . Üksikrakendusele eraldatud südamikud jälgivad üksteise ülesannete arvu. Kui üks südamik lõpetab oma tööülesannete loendi enne teisi, "võtab" ta naabrite koormust maha.
Eelised ja puudused
Kohal MIT inseneride seas, Shenango suudab töödelda viis miljonit päringut sekundis ja hoida keskmist reageerimise aega 37 mikrosekundit. Asjatundjad väidavad, et mõnel juhul suudab tehnoloogia tõsta andmekeskuste protsessorite kasutuskoefitsienti kuni 100%. Seetõttu saavad andmekeskuse operaatorid säästa serverite soetamisel ja hooldamisel.
Lahenduse potentsiaal ja spetsialistid teistest ülikoolidest. Korea instituudi professori arvates aitab MIT süsteem vähendada veebiteenuste tööde viivitusi. Näiteks on see kasulik online-poodide funktsioneerimisel. Müügipäevade ajal isegi sekundi laadimisaeg toob kaasa saidi vaatamiste arvu vähenemise 11%. Kiire koormuse jaotamine aitab teenindada rohkem kliente.
Tehnoloogial on endiselt puudusi — see ei toeta mitme protsessoriga -süsteeme, kus kiibid on ühendatud erinevate mälumoodulitega ja ei „suhtle” omavahel. Sellisel juhul võib IOKernel reguleerida teatud protsessorigruppi, kuid mitte kõiki serveri kiipe.

/ фото
Sarnased tehnoloogiad
Muude protsessorite koormuse tasakaalustamise süsteemide hulgas paistab silma Arachne. See arvutab, kui palju tuumadest on rakendusele vajalikke hetkel selle käivitamisel, ja jaotab protsessid vastavalt sellele näitajale. Autorite hinnangul on rakenduse maksimaalne viivitus Arachne’s umbes 10 tuhat mikrosekundit.
Tehnoloogia on rakendatud C++ raamatukoguna Linuxile, ning selle lähtekood on saadaval .
Veel üks tasakaalustamisriist — ZygOS. Nagu Shenango, kasutab see tehnoloogia protsesside ümberjaotamiseks work stealing meetodit. ZygOS autorite andmetel on rakenduste keskmine viivitus tööriista kasutamisel umbes 150 mikrosekundit ja maksimaalne viivitus umbes 450 mikrosekundit. Projekti kood on samuti .
Järeldused
Kaasaegsed andmekeskused jätkavad laienemist, eriti on hüpertskaala andmekeskuste turul kasvu suundumus märgatav: maailmas on hetkel 430 hüperskaala andmekeskust, kuid juba lähitulevikus võib nende arv suureneda 30%. Seetõttu on protsessorite koormuse tasakaalustamise tehnoloogiale suur nõudlus. Sellised süsteemid nagu Shenango on juba praegu suurettevõtete seas ning tulevikus suureneb selliste tööriistade arv ainult.
Postitused Esimese blogi kohta ettevõtte IaaS:
Allikas: habr.com
