Nova CPU-ŝarĝbalancilo de MIT

La Shenango-sistemo estas planita esti uzata en datumcentroj.

Nova CPU-ŝarĝbalancilo de MIT
/ foto Kadro Verch CC BY

Laŭ unu el la provizantoj, datumcentroj uzi nur 20–40% de disponebla komputika potenco. Ĉe altaj ŝarĝoj ĉi tiu indikilo povas atingi 60%. Ĉi tiu distribuo de rimedoj kondukas al la apero de tiel nomataj "zombiaj serviloj". Ĉi tiuj estas maŝinoj, kiuj sidas senmovaj plejofte, malŝparante energion. Hodiaŭ 30% de serviloj en la mondo estas sen laboro, konsumante 30 miliardojn USD da elektro jare.

MIT decidis kontraŭbatali la malefikan uzon de komputikresursoj.

Inĝeniera teamo disvolviĝis procesora ŝarĝbalanca sistemo nomata Shenango. Ĝia celo estas kontroli la staton de la taskobufro kaj redistribui blokitajn procezojn (kiuj ne povas ricevi CPU-tempon) al liberaj maŝinoj.

Kiel Shenango funkcias

Shenango estas Linukso-biblioteko en C kun Rust kaj C++-ligoj. La projektkodo kaj testaj aplikaĵoj estas publikigitaj en deponejoj sur GitHub.

La solvo baziĝas sur la IOKernel-algoritmo, kiu funkcias sur dediĉita kerno de multprocesora sistemo. Ĝi administras CPU-petojn uzante kadron DPDK, kiu permesas al aplikaĵoj komuniki rekte kun retaj aparatoj.

La IOKernel decidas al kiuj kernoj delegi specifan taskon. La algoritmo ankaŭ decidas kiom da kernoj estos bezonataj. Por ĉiu procezo, la ĉefaj kernoj (garantiitaj) kaj pliaj (rompeblaj) estas determinitaj - ĉi-lastaj estas lanĉitaj okaze de akra kresko de la nombro da petoj al la CPU.

La petovico de IOKernel estas organizita kiel ringa bufro. Ĉiujn kvin mikrosekundojn, la algoritmo kontrolas ĉu ĉiuj taskoj asignitaj al la kerno finiĝis. Por fari tion, ĝi komparas la nunan lokon de la kapo de la bufro kun la antaŭa pozicio de ĝia vosto. Se rezultas, ke la vosto jam estis en la vosto en la momento de la antaŭa kontrolo, la sistemo notas la bufran superŝarĝon kaj asignas plian kernon por la procezo.

Dum distribuado de la ŝarĝo, prioritato estas donita al kernoj sur kiuj la sama procezo estis efektivigita pli frue kaj parte restis en la kaŝmemoro, aŭ al iuj neaktivaj kernoj.

Nova CPU-ŝarĝbalancilo de MIT

Shenango krome prenas la aliron ŝtelado de laboro. La kernoj asignitaj por ruli unu aplikaĵon monitoras la nombron da taskoj reciproke. Se unu kerno finas sian liston de taskoj antaŭ la aliaj, tiam ĝi "malpezigas" parton de la ŝarĝo de siaj najbaroj.

Fortoj kaj malfortoj

Por laŭ inĝenieroj de MIT, Shenango kapablas prilabori kvin milionojn da petoj je sekundo kaj konservi mezan respondtempon de 37 mikrosekundoj. Fakuloj diras, ke en iuj kazoj la teknologio povas pliigi la utiligan indicon de procesoroj en datumcentroj al 100%. Kiel rezulto, datumcentraj funkciigistoj povos ŝpari sur la aĉeto kaj prizorgado de serviloj.

Solvo-potencialo festi kaj specialistoj de aliaj universitatoj. Laŭ profesoro de korea instituto, la MIT-sistemo helpos redukti malfruojn en retservoj. Ekzemple, ĝi estos utila en interretaj vendejoj. En vendaj tagoj estas eĉ dua malfruo en paĝa ŝarĝo Poŝtita al malpliiĝo de la nombro da retejoj je 11%. Prompta ŝarĝa distribuo helpos servi pli da klientoj.

La teknologio ankoraŭ havas malavantaĝojn - ĝi ne subtenas multiprocesoron EN-sistemoj en kiuj blatoj estas konektitaj al malsamaj memormoduloj kaj ne "komunikas" unu kun la alia. En ĉi tiu kazo, IOKernel povas reguligi la funkciadon de aparta grupo de procesoroj, sed ne ĉiuj servilaj blatoj.

Nova CPU-ŝarĝbalancilo de MIT
/ foto Tim Reckmann CC BY

Similaj teknologioj

Aliaj procesoraj ŝarĝbalancaj sistemoj inkludas Arachne. Ĝi kalkulas kiom da kernoj bezonos aplikaĵo kiam ĝi komenciĝas, kaj distribuas procezojn laŭ ĉi tiu indikilo. Laŭ la aŭtoroj, la maksimuma latenco de aplikaĵo en Arachne estas ĉirkaŭ 10 mil mikrosekundoj.

La teknologio estas efektivigita kiel C++-biblioteko por Linukso, kaj ĝia fontkodo estas havebla ĉe GitHub.

Alia ekvilibriga ilo estas ZygOS. Kiel Shenango, la teknologio uzas la laborŝtelan metodon por redistribui procezojn. Laŭ la aŭtoroj de ZygOS, la averaĝa aplika latenco kiam vi uzas la ilon estas ĉirkaŭ 150 mikrosekundoj, kaj la maksimumo estas ĉirkaŭ 450 mikrosekundoj. La projektkodo ankaŭ estas estas en la publika domeno.

trovoj

Modernaj datumcentroj daŭre vastiĝas.La kreskanta tendenco estas precipe rimarkebla en la merkato de hiperskalaj datumcentroj: nun en la mondo ekzistas 430 hiperskalaj datumcentroj, sed en la venontaj jaroj ilia nombro eble pliiĝos je 30%. Tial, procesoraj ŝarĝaj ekvilibraj teknologioj estos tre postulataj. Sistemoj kiel Shenango jam haveblas efektivigi grandaj korporacioj, kaj la nombro de tiaj iloj nur kreskos estonte.

Afiŝoj de la Unua blogo pri kompania IaaS:

fonto: www.habr.com

Aldoni komenton