„Shenango“ sistemą planuojama naudoti duomenų centruose.
/ nuotrauka
Pasak vieno iš tiekėjų, duomenų centrai tik 20–40 % turimos skaičiavimo galios. Esant didelėms apkrovoms šis indikatorius . Toks išteklių paskirstymas lemia vadinamųjų „zombių serverių“ atsiradimą. Tai mašinos, kurios didžiąją laiko dalį sėdi be darbo ir eikvoja energiją. Šiandien 30% serverių pasaulyje , per metus sunaudodama 30 milijardų dolerių vertės elektros energijos.
MIT nusprendė kovoti su neefektyviu skaičiavimo išteklių naudojimu.
Inžinierių komanda procesoriaus apkrovos balansavimo sistema, vadinama Shenango. Jo tikslas yra stebėti užduočių buferio būseną ir perskirstyti įstrigusius procesus (kurie negali gauti CPU laiko) į laisvus įrenginius.
Kaip veikia Shenango
Šenangas yra Linux- C biblioteka su Rust ir C++ sąsajomis. Projekto kodas ir testavimo programos publikuojamos „GitHub“.
Sprendimas pagrįstas IOKernel algoritmu, kuris veikia tam skirtame kelių procesorių sistemos branduolyje. Jis valdo procesoriaus užklausas naudodamas sistemą , kuri leidžia programoms tiesiogiai susisiekti su tinklo įrenginiais.
IOkernel nusprendžia, kuriems branduoliams perduoti konkrečią užduotį. Algoritmas taip pat nusprendžia, kiek branduolių reikės. Kiekvienam procesui nustatomi pagrindiniai branduoliai (garantuoti) ir papildomi (burstable) - pastarieji paleidžiami smarkiai padidėjus užklausų CPU skaičiui.
„IOKernel“ užklausų eilė organizuojama kaip . Kas penkias mikrosekundes algoritmas patikrina, ar visos branduoliui priskirtos užduotys buvo atliktos. Norėdami tai padaryti, jis lygina dabartinę buferio galvutės vietą su ankstesne jo uodegos padėtimi. Jei paaiškėja, kad ankstesnio patikrinimo metu uodega jau buvo eilėje, sistema pažymi buferio perkrovą ir procesui skiria papildomą branduolį.
Paskirstant apkrovą pirmenybė teikiama branduoliams, kuriuose tas pats procesas buvo atliktas anksčiau ir iš dalies liko talpykloje, arba bet kokiems neveikiantiems branduoliams.

Shenango papildomai laikosi požiūrio . Vienai programai paleisti skirti branduoliai stebi viena kitos atliekamų užduočių skaičių. Jei vienas branduolys užbaigia savo užduočių sąrašą anksčiau už kitus, tada jis „atleidžia“ dalį apkrovos nuo kaimynų.
Privalumai ir trūkumai
Apie inžinieriai iš MIT, Shenango gali apdoroti penkis milijonus užklausų per sekundę ir išlaikyti vidutinį 37 mikrosekundžių atsako laiką. Ekspertai teigia, kad kai kuriais atvejais technologija gali padidinti procesorių panaudojimą duomenų centruose iki 100%. Dėl to duomenų centrų operatoriai galės sutaupyti perkant ir prižiūrint serverius.
Sprendimo potencialas ir kitų universitetų specialistai. Pasak Korėjos instituto profesoriaus, MIT sistema padės sumažinti interneto paslaugų vėlavimą. Pavyzdžiui, tai bus naudinga internetinėse parduotuvėse. Išpardavimo dienomis puslapis įkeliamas net antrą kartą iki svetainės peržiūrų skaičiaus sumažėjimo 11%. Greitas apkrovos paskirstymas padės aptarnauti daugiau klientų.
Technologija vis dar turi trūkumų – ji nepalaiko kelių procesorių -sistemos, kuriose lustai yra sujungti su skirtingais atminties moduliais ir „nebendrauja“ tarpusavyje. Tokiu atveju „IOKernel“ gali reguliuoti atskiros procesorių grupės, bet ne visų serverio lustų veikimą.

/ nuotrauka
Panašios technologijos
Kitos procesoriaus apkrovos balansavimo sistemos apima Arachne. Jis apskaičiuoja, kiek branduolių reikės programai, kai ji paleidžiama, ir paskirsto procesus pagal šį rodiklį. Autorių teigimu, maksimalus programos delsa Arachne yra apie 10 tūkstančių mikrosekundžių.
Technologija įgyvendinama kaip C++ biblioteka, skirta Linux, o jo šaltinio kodas pasiekiamas adresu .
Kitas balansavimo įrankis yra ZygOS. Kaip ir Shenango, ši technologija naudoja darbo vagystės metodą procesams perskirstyti. Pasak ZygOS autorių, vidutinė aplikacijos delsa naudojant įrankį yra apie 150 mikrosekundžių, o maksimali – apie 450 mikrosekundžių. Projekto kodas taip pat yra .
išvados
Šiuolaikiniai duomenų centrai ir toliau plečiasi.Didėjimo tendencija ypač pastebima hipermastinių duomenų centrų rinkoje: dabar jau pasaulyje 430 hiperskalės duomenų centrų, tačiau artimiausiais metais jų skaičius gali išaugti 30 proc. Dėl šios priežasties procesorių apkrovos balansavimo technologijos bus labai paklausios. Tokios sistemos kaip „Shenango“ jau yra prieinamos didelių korporacijų, o tokių priemonių skaičius ateityje tik augs.
Įrašai iš pirmojo tinklaraščio apie įmonės IaaS:
Šaltinis: www.habr.com
