Uus protsessori koormuse tasakaalustaja MIT-ilt

Shenango süsteemi plaanitakse kasutusele võtta andmekeskustes.

Uus protsessori koormuse tasakaalustaja MIT-ilt
/ foto Marco verch CC BY

Ühe pakkuja sõnul andmekeskused kasutamine vaid 20–40% olemasolevast arvutusvõimsusest. Suure koormuse korral see indikaator võib ulatuda 60% -ni. Selline ressursside jaotus toob kaasa nn zombiserverite tekkimise. Need on masinad, mis istuvad suurema osa ajast jõude ja raiskavad energiat. Tänapäeval on 30% maailma serveritest on ilma tööta, tarbides aastas 30 miljardi dollari väärtuses elektrit.

MIT otsustas võidelda arvutusressursside ebatõhusa kasutamise vastu.

Insenerimeeskond on arenenud protsessori koormuse tasakaalustamise süsteem nimega Shenango. Selle eesmärk on jälgida ülesannete puhvri olekut ja jaotada kinni jäänud protsessid (mis ei saa CPU aega vastu võtta) vabadele masinatele ümber.

Kuidas Shenango töötab

Shenango on C-vormingus Linuxi teek koos Rust ja C++ sidemetega. Projekti kood ja testitaotlused avaldatakse aastal hoidlad GitHubis.

Lahendus põhineb IOKerneli algoritmil, mis töötab mitme protsessoriga süsteemi spetsiaalsel tuumal. See haldab CPU taotlusi raamistiku abil DPDK, mis võimaldab rakendustel suhelda otse võrguseadmetega.

IOkernel otsustab, millistele tuumadele konkreetne ülesanne delegeerida. Algoritm otsustab ka selle, kui palju südamikke on vaja. Iga protsessi jaoks määratakse peamised tuumad (garanteeritud) ja täiendavad tuumad (pursketavad) - viimased käivitatakse protsessorile esitatavate päringute arvu järsu suurenemise korral.

IOkerneli päringu järjekord on korraldatud kujul rõnga puhver. Algoritm kontrollib iga viie mikrosekundi järel, kas kõik tuumale määratud ülesanded on täidetud. Selleks võrdleb ta puhvri pea praegust asukohta selle saba eelmise asukohaga. Kui selgub, et saba oli eelmise kontrolli ajal juba järjekorras, märgib süsteem puhvri ülekoormuse ja eraldab protsessile täiendava tuuma.

Koormuse jaotamisel on eelisjärjekorras tuumad, millel sama protsess käivitati varem ja mis jäid osaliselt vahemällu, või suvalised jõudeolevad tuumad.

Uus protsessori koormuse tasakaalustaja MIT-ilt

Shenango kasutab lisaks sellele lähenemist töö varastamine. Ühe rakenduse käitamiseks eraldatud tuumad jälgivad üksteise ülesannete arvu. Kui üks tuum lõpetab oma ülesannete loetelu enne teisi, siis "vabastab" ta osa oma naabrite koormusest.

Eelised ja puudused

Edasi sõnad MIT-i insenerid, Shenango on võimeline töötlema viis miljonit päringut sekundis ja säilitama keskmise reaktsiooniaja 37 mikrosekundit. Eksperdid ütlevad, et mõnel juhul võib tehnoloogia tõsta andmekeskuste protsessorite kasutusmäära 100%-ni. Tänu sellele saavad andmekeskuste operaatorid kokku hoida serverite ostmise ja hoolduse arvelt.

Lahenduse potentsiaal tähistama ja spetsialistid teistest ülikoolidest. Korea instituudi professori sõnul aitab MIT-süsteem vähendada veebiteenuste viivitusi. Näiteks on see kasulik veebipoodides. Müügipäevadel esineb lehe laadimisel isegi sekundiline viivitus приводит saidi vaatamiste arvu vähenemiseni 11%. Koormuse kiire jaotamine aitab teenindada rohkem kliente.

Tehnoloogial on endiselt puudusi - see ei toeta multiprotsessorit NUMA-süsteemid, milles kiibid on ühendatud erinevate mälumoodulitega ja ei "suhtle" omavahel. Sel juhul saab IOKernel reguleerida eraldi protsessorite rühma, kuid mitte kõigi serverikiipide tööd.

Uus protsessori koormuse tasakaalustaja MIT-ilt
/ foto Tim Reckmann CC BY

Sarnased tehnoloogiad

Teiste protsessori koormuse tasakaalustamise süsteemide hulka kuulub Arachne. See arvutab, kui palju südamikke rakendus vajab käivitamisel, ja jaotab protsessid selle indikaatori järgi. Autorite sõnul on Arachne rakenduse maksimaalne latentsus umbes 10 tuhat mikrosekundit.

Tehnoloogiat rakendatakse Linuxi C++ raamatukoguna ja selle lähtekood on saadaval aadressil GitHub.

Teine tasakaalustamise tööriist on ZygOS. Sarnaselt Shenangole kasutab tehnoloogia protsesside ümberjaotamiseks töövarguse meetodit. ZygOS-i autorite sõnul on keskmine rakenduse latentsus tööriista kasutamisel umbes 150 mikrosekundit ja maksimaalne umbes 450 mikrosekundit. Projekti kood on ka on avalikus omandis.

Järeldused

Kaasaegsed andmekeskused jätkavad laienemist. Eriti märgatav on tõusutrend hüperskaala andmekeskuste turul: nüüd juba maailmas seal on 430 hüperskaala andmekeskust, kuid lähiaastatel võib nende arv kasvada 30%. Sel põhjusel on protsessori koormuse tasakaalustamise tehnoloogiate järele suur nõudlus. Sellised süsteemid nagu Shenango on juba saadaval rakendama suurkorporatsioonid ja selliste tööriistade arv tulevikus ainult kasvab.

Postitused esimesest ettevõtte IaaS-i blogist:

Allikas: www.habr.com

Lisa kommentaar