Sustav Shenango planira se koristiti u data centrima.
/ фото
Prema informacijama jednog od pružatelja, data centri samo 20–40% dostupnih računalskih resursa. U uvjetima povećanog opterećenja ova vrijednost . Ova raspodjela resursa dovodi do pojave takozvanih «zombi servera». To su mašine koje veći dio vremena stoje, bespotrebno trošeći električnu energiju. Danas 30% servera u svijetu , trošeći struju u vrijednosti od 30 milijardi dolara godišnje.
S MIT-a odlučili su se boriti protiv neefikasne potrošnje računalskih resursa.
Tim inženjera razvio je sustav balansiranja opterećenja za procesore pod nazivom Shenango. Njegova svrha je nadgledati stanje zadatkovnog bafera i preraspodijeliti «zapeli» procese (koji ne mogu dobiti procesorsko vrijeme) na slobodne mašine.
Kako radi Shenango
Shenango je Linux biblioteka napisana u jeziku C s Rust i C++ vezivima. Kod projekta i testne aplikacije objavljene su na GitHubu.
Osnovu rješenja čini algoritam IOKernel, koji se pokreće na dodijeljenom jezgru multiprocesne slike. On upravlja zahtjevima za CPU putem okvira , koji omogućava aplikacijama da izravno komuniciraju s mrežnim uređajima.
IOKernel odlučuje kojem će jezgru dodijeliti određeni zadatak. Algoritam također odlučuje koliko će jezgri biti potrebno. Za svaki proces određuju se osnovna jezgra (garantirana) i dodatna (proširiva) – druga se pokreću u slučaju naglog povećanja broja zahtjeva za CPU.
Red zahtjeva IOKernel organiziran je u obliku . Svakih pet mikrosekundi algoritam provjerava jesu li svi zadaci dodijeljeni jezgru izvršeni. Za to uspoređuje trenutačnu poziciju «glave» bafera s prethodnom pozicijom njegovog «rep». Ukoliko se ispostavi da se rep već nalazio u redu u trenutku prethodne provjere, sustav označava preopterećenje bafera i dodjeljuje procesu dodatno jezgro.
Pri raspodjeli opterećenja prednost se daje jezgrama na kojima je takav proces ranije bio izvršen i djelomično ostao u cache memoriji, ili bilo kojim neaktivnim jezgrama.

Shenango dodatno koristi pristup Jezgre dodijeljene za rad jedne aplikacije prate broj zadaća među sobom. Ako jedno jezgro završi svoju listu zadataka prije ostalih, preuzima dio opterećenja susjeda.
Prednosti i nedostaci
Po inženjera s MIT-a, Shenango može obraditi pet milijuna zahtjeva u sekundi i održavati prosječno vrijeme odziva od 37 mikrosekundi. Stručnjaci tvrde da tehnologija može povećati iskorištenost procesora u podatkovnim centrima do 100%. Kao rezultat, operateri podatkovnih centara će moći uštedjeti na kupnji i održavanju poslužitelja.
Potencijal rješenja i stručnjaci s drugih sveučilišta. Prema mišljenju profesora iz korejskog instituta, sustav s MIT-a pomoći će smanjiti zastoje u radu web usluga. Na primjer, bit će koristan u radu online trgovina. Tijekom rasprodaja, čak i sekunda kašnjenja pri učitavanju stranice do smanjenja broja pregleda stranice za 11%. Pravovremeno raspodjeljivanje opterećenja pomoći će da se opsluži više klijenata.
Tehnologija još uvijek ima nedostatke — ne podupire višeprocesorske -sustave, gdje su čipovi povezani s različitim modulima memorije i ne „komuniciraju” međusobno. U ovom slučaju, IOKernel može regulirati rad posebne grupe procesora, ali ne svih čipova poslužitelja.

/ фото
Slične tehnologije
Među drugim sustavima za ravnotežu opterećenja procesora može se istaknuti Arachne. Ona procjenjuje koliko će jezgri biti potrebno aplikaciji u trenutku pokretanja i raspodjeljuje procese u skladu s tim pokazateljem. Prema procjenama autora, maksimalno kašnjenje rada aplikacije u Arachne iznosi oko 10 tisuća mikrosekundi.
Tehnologija je implementirana u obliku C++ biblioteke za Linux, a njezin izvorni kod dostupan je na .
Još jedan alat za ravnotežu je ZygOS. Kao i Shenango, tehnologija koristi metodu 'work stealing' za preraspodjelu procesa. Prema podacima autora ZygOS-a, prosječno kašnjenje u radu aplikacija prilikom korištenja alata iznosi oko 150 mikrosekundi, a maksimalno — oko 450 mikrosekundi. Kod projekta također .
Zaključci
Moderna podatkovna centra nastavljaju se širiti, osobito je taj trend vidljiv na tržištu hyperscale podatkovnih centara: trenutno u svijetu 430 hiper skalabilnih centara podataka, no u narednim godinama njihov broj bi se mogao povećati za 30%. Zbog tog razloga, tehnologije uravnoteženja opterećenja procesora će biti vrlo tražene. Sustavi poput Shenango već se sada velike korporacije, a u budućnosti će broj takvih alata samo rasti.
Postovi iz prvog bloga o korporativnom IaaS-u:
Izvor: habr.com
