SaskaÅÄ ar vienu no pakalpojumu sniedzÄjiem, datu centri izmantot tikai 20ā40% no pieejamÄs skaitļoÅ”anas jaudas. Pie lielÄm slodzÄm Å”is indikators var sasniegt 60%. Å Äda resursu sadale noved pie tÄ saukto āzombiju serveruā raÅ”anÄs. TÄs ir maŔīnas, kas lielÄko daļu laika sÄž dÄ«kstÄvÄ, tÄrÄjot enerÄ£iju. MÅ«sdienÄs 30% serveru pasaulÄ ir bez darbagadÄ, patÄrÄjot elektroenerÄ£ijas 30 miljardu dolÄru vÄrtÄ«bÄ.
MIT nolÄma cÄ«nÄ«ties pret neefektÄ«vu skaitļoÅ”anas resursu izmantoÅ”anu.
Inženieru komanda ir izveidojusies procesora slodzes lÄ«dzsvaroÅ”anas sistÄma ar nosaukumu Shenango. TÄs mÄrÄ·is ir uzraudzÄ«t uzdevumu bufera stÄvokli un pÄrdalÄ«t iestrÄguÅ”os procesus (kas nevar saÅemt CPU laiku) uz brÄ«vajÄm maŔīnÄm.
KÄ darbojas Shenango
Shenango ir Linux bibliotÄka C valodÄ ar Rust un C++ saitÄm. Projekta kods un testa pieteikumi ir publicÄti krÄtuves vietnÄ GitHub.
RisinÄjums ir balstÄ«ts uz IOKernel algoritmu, kas darbojas ar Ä«paÅ”u daudzprocesoru sistÄmas kodolu. Tas pÄrvalda CPU pieprasÄ«jumus, izmantojot sistÄmu DPDK, kas ļauj lietojumprogrammÄm tieÅ”i sazinÄties ar tÄ«kla ierÄ«cÄm.
IOkernel izlemj, kuriem kodoliem deleÄ£Ät konkrÄtu uzdevumu. Algoritms arÄ« izlemj, cik kodolu bÅ«s nepiecieÅ”ams. Katram procesam tiek noteikti galvenie kodoli (garantÄtie) un papildu kodoli (burstable) - pÄdÄjie tiek palaisti, ja strauji palielinÄs pieprasÄ«jumu skaits centrÄlajam procesoram.
IOkernel pieprasÄ«jumu rinda ir organizÄta kÄ gredzena buferis. Ik pÄc piecÄm mikrosekundÄm algoritms pÄrbauda, āāvai visi kodolam pieŔķirtie uzdevumi ir izpildÄ«ti. Lai to izdarÄ«tu, tÄ salÄ«dzina paÅ”reizÄjo bufera galvas atraÅ”anÄs vietu ar tÄ astes iepriekÅ”Äjo pozÄ«ciju. Ja izrÄdÄs, ka aste jau bija rindÄ iepriekÅ”ÄjÄs pÄrbaudes laikÄ, sistÄma atzÄ«mÄ bufera pÄrslodzi un pieŔķir procesam papildu kodolu.
Sadalot slodzi, prioritÄte tiek dota kodoliem, kuros tas pats process tika izpildÄ«ts agrÄk un daļÄji palika keÅ”atmiÅÄ, vai jebkuriem dÄ«kstÄves kodoliem.
Shenango turklÄt izmanto pieeju darba zagÅ”ana. Vienas lietojumprogrammas palaiÅ”anai pieŔķirtie kodoli uzrauga viens otram veicamo uzdevumu skaitu. Ja viens kodols pabeidz savu uzdevumu sarakstu pirms citiem, tad tas āatbrÄ«voā daļu slodzes no saviem kaimiÅiem.
PriekŔrocības un trūkumi
Par saskaÅÄ ar inženieri no MIT, Shenango spÄj apstrÄdÄt piecus miljonus pieprasÄ«jumu sekundÄ un uzturÄt vidÄjo atbildes laiku 37 mikrosekundes. Eksperti saka, ka dažos gadÄ«jumos tehnoloÄ£ija var palielinÄt datu centru procesoru izmantoÅ”anas lÄ«meni lÄ«dz 100%. LÄ«dz ar to datu centru operatori varÄs ietaupÄ«t uz serveru iegÄdes un uzturÄÅ”anas rÄÄ·ina.
RisinÄjuma potenciÄls svinÄt un speciÄlisti no citÄm augstskolÄm. SaskaÅÄ ar profesora no Korejas institÅ«ta teikto, MIT sistÄma palÄ«dzÄs samazinÄt tÄ«mekļa pakalpojumu aizkavÄÅ”anos. PiemÄram, tas noderÄs interneta veikalos. IzpÄrdoÅ”anas dienÄs lappuÅ”u ielÄde aizkavÄjas pat otro reizi ŠæŃŠøŠ²Š¾Š“ŠøŃ lÄ«dz vietnes skatÄ«jumu skaita samazinÄjumam par 11%. Ätra slodzes sadale palÄ«dzÄs apkalpot vairÄk klientu.
TehnoloÄ£ijai joprojÄm ir trÅ«kumi - tÄ neatbalsta daudzprocesorus NUMA-sistÄmas, kurÄs mikroshÄmas ir savienotas ar dažÄdiem atmiÅas moduļiem un ānesazinÄsā savÄ starpÄ. Å ajÄ gadÄ«jumÄ IOKernel var regulÄt atseviŔķas procesoru grupas darbÄ«bu, bet ne visas servera mikroshÄmas.
Citas procesoru slodzes lÄ«dzsvaroÅ”anas sistÄmas ietver Arachne. Tas aprÄÄ·ina, cik kodolu bÅ«s nepiecieÅ”ams lietojumprogrammai, startÄjot, un sadala procesus atbilstoÅ”i Å”im rÄdÄ«tÄjam. PÄc autoru domÄm, maksimÄlais lietojumprogrammas latentums ArahnÄ ir aptuveni 10 tÅ«kstoÅ”i mikrosekunžu.
TehnoloÄ£ija ir ieviesta kÄ C++ bibliotÄka operÄtÄjsistÄmai Linux, un tÄs pirmkods ir pieejams vietnÄ GitHub.
VÄl viens lÄ«dzsvaroÅ”anas rÄ«ks ir ZygOS. TÄpat kÄ Shenango, tehnoloÄ£ija izmanto darba zagÅ”anas metodi, lai pÄrdalÄ«tu procesus. PÄc ZygOS autoru domÄm, vidÄjais lietojumprogrammas latentums, izmantojot rÄ«ku, ir aptuveni 150 mikrosekundes, bet maksimÄlais - aptuveni 450 mikrosekundes. Projekta kods arÄ« ir ir publiskajÄ Ä«paÅ”umÄ.
Atzinumi
MÅ«sdienÄ«gie datu centri turpina paplaÅ”inÄties PieaugoÅ”Ä tendence Ä«paÅ”i jÅ«tama hipermÄroga datu centru tirgÅ«: nu jau pasaulÄ tur ir 430 hipermÄroga datu centri, bet tuvÄkajos gados to skaits var pieaugt par 30%. Å Ä« iemesla dÄļ procesoru slodzes lÄ«dzsvaroÅ”anas tehnoloÄ£ijas bÅ«s ļoti pieprasÄ«tas. TÄdas sistÄmas kÄ Shenango jau ir pieejamas Ä«stenot lielÄm korporÄcijÄm, un Å”Ädu rÄ«ku skaits nÄkotnÄ tikai pieaugs.