Novi CPU ravnotežnik od MIT-a

Sustav Shenango planira se koristiti u data centrima.

Novi CPU ravnotežnik od MIT-a
/ фото Marco Verch CC BY

Prema informacijama jednog od pružatelja, data centri koriste samo 20–40% dostupnih računalskih resursa. U uvjetima povećanog opterećenja ova vrijednost može doseći 60%. 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 ne rade, 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 razvila 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 repozitoriju GitHubu.

Osnovu rješenja čini algoritam IOKernel, koji se pokreće na dodijeljenom jezgru multiprocesne slike. On upravlja zahtjevima za CPU putem okvira DPDK, 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 cirkularnog bafera. 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.

Novi CPU ravnotežnik od MIT-a

Shenango dodatno koristi pristup krađa radaJezgre 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 riječima 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 napominju 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 dovodi 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 NUMA-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.

Novi CPU ravnotežnik od MIT-a
/ фото Tim Reckmann CC BY

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 GitHub.

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 je dostupan javnosti.

Zaključci

Moderna podatkovna centra nastavljaju se širiti, osobito je taj trend vidljiv na tržištu hyperscale podatkovnih centara: trenutno u svijetu postoji 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 implementiraju velike korporacije, a u budućnosti će broj takvih alata samo rasti.

Postovi iz prvog bloga o korporativnom IaaS-u:

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster