Shenango süsteemi plaanitakse kasutada andmekeskustes.
/ фото
Ühe teenusepakkuja andmetel on andmekeskustes kokku 20–40% saadaval olevatest arvutusvõimetest. Suurte koormuste korral võib see näitaja . Selline ressursside jaotamine viib nn «zombi-serverite» tekkeni. Need on masinad, mis suurema osa ajast seisavad, kasutades elektrit raisku. Täna on maailmas 30% serveritest , tarbides elektrit kogusummas 30 miljardit dollarit aastas.
Mitu MIT inseneri on otsustanud võidelda ebaefektiivse arvutusressursside kasutamise vastu.
Inseneride meeskond loob koormuse tasakaalu süsteemi protsessoritele nimega Shenango. Selle eesmärk on jälgida ülesannete puhveri olekut ja jaotada «kinni jäänud» protsessid (mis ei saa saada protsessoriaega) vabadele masinatele.
Kuidas Shenango töötab
Shenango on C-keeles kirjutatud Linuxi raamatukogu, millel on Rusti ja C++ sidemed. Projekti kood ja testrakendused on avaldatud GitHubis.
Lahenduse aluseks on IOKernel algoritm, mis töötab eraldiseisva südamiku pe multitöötlus süsteemis. See haldab CPU päringute korraldamist DPDK raamistikuga, , mis võimaldab rakendustel suhelda otse võrgu seadmetega.
IOKernel otsustab, millistele südamikele konkreetne ülesanne edastada. Algoritm määrab ka, kui palju südamikke on vaja. Iga protsessi jaoks määratakse põhiytrokes (garanteeritud) ja täiendavad (burstable) — viimased käivitatakse järsku suurenevate CPU päringute korral.
IOKernel päringute järjekord on organiseeritud . Iga viie mikroseundi järel kontrollib algoritm, kas kõik südamikule määratud ülesanded on täidetud. Selleks võrdleb ta „pea“ asukohta puhvris selle „saba“ varasema asukohaga. Kui selgub, et saba oli juba järjekorras enne eelmist kontrollimist, tuvastab süsteem puhvri ülekoormuse ja määrab protsessile täiendava südamiku.
Koormuse jaotamisel antakse eelpriority südamikele, kus selline protsess on varem töötanud ja osaliselt jäi vahemällu, või igasugustele passiivsetele südamikele.

Shenango kasutab täiendavalt lähenemist Töötlemiseks eraldatud tuumad jälgivad üksteise ülesannete arvu. Kui üks tuum lõpetab oma ülesannete loendi enne teisi, "võtab" see naabrite koormusest osa maha.
Eelised ja puudused
Ajal MITi inseneride sõnul suudab Shenango töödelda viis miljonit päringut sekundis ja hoida keskmist reageerimisaega 37 mikrosekundit. Eksperdid väidavad, et teatud juhtudel võib tehnoloogia tõsta andakeskuste protsessorite kasutusmäärad 100% -ni. Tulemusena saavad andakeskuse operaatorid kokkuhoidu serverite ostmisel ja hooldamisel.
Lahenduse potentsiaal ja spetsialistid teistest ülikoolidest. Korea instituudi professori arvates aitab MITi süsteem vähendada veebiteenuste töötamise viivitusi. Näiteks võib see olla kasulik veebipoe tööks. Müügipäevadel isegi sekundi pikkune lehe laadimise viivitus viib saidi külastuste arvu vähenemiseni 11%. Operatiivne koormuse jaotamine aitab teenindada rohkem kliente.
Tehnoloogial on aga puudused — see ei toeta mitme protsessoriga -süsteeme, kus kiibid on ühendatud erinevate mälumoodulitega ja ei "suhtle" omavahel. Sel juhul võib IOKernel reguleerida eraldi protsessorigruppi, kuid mitte kõiki serveri kiipe.

/ фото
Sarnased tehnoloogiad
Muude protsessorikoormuse tasakaalu süsteemide seas võib välja tuua Arachne. See arvutab, kui palju tuumasid rakendus vajab selle käivitamise hetkel, ja jaotab protsessid vastavalt sellele näitajale. Autorite hinnangul on Arachne rakenduse maksimaalne viivitus umbes 10 000 mikrosekundit.
Tehnoloogia on ellu viidud C++ raamatukoguna Linuxile ja selle allikas on saadaval .
Veel üks tasakaalustaja tööriist on ZygOS. Nagu Shenango, kasutab see protsesside ümberjaotamiseks töökohustuste varguse meetodit. ZygOS autorite sõnul on rakenduste keskmine viivitus tööriista kasutamisel umbes 150 mikrosekundit, maksimaalne aga umbes 450 mikrosekundit. Projekti kood on samuti .
Järeldused
Kaasajad andakeskused jätkavad laienemist, eriti on nähtav tendents hüpermastaapses andakeskuste turul: hetkel on maailmas 430 hüper-škala andmekeskust, kuid juba lähiaastatel võib nende arv suureneda 30%. Seetõttu on protsessorite koormuse tasakaalustamise tehnoloogiad väga nõudlikud. Süsteemid nagu Shenango on juba praegu suurettevõtetes ja tulevikus selliste tööriistade arv ainult kasvab.
Postitused Esimesest blogist ettevõtte IaaS kohta:
Allikas: habr.com
