Balancues i ri i ngarkesës së CPU nga MIT

Sistemi Shenango është planifikuar të përdoret në qendrat e të dhënave.

Balancues i ri i ngarkesës së CPU nga MIT
/ Foto Marco verch CC BY

Sipas njĂ« prej ofruesve, qendrat e tĂ« dhĂ«nave pĂ«rdorim vetĂ«m 20–40% tĂ« fuqisĂ« llogaritĂ«se tĂ« disponueshme. NĂ« ngarkesa tĂ« larta ky tregues mund tĂ« arrijĂ« 60%. Kjo shpĂ«rndarje e burimeve çon nĂ« shfaqjen e tĂ« ashtuquajturve "serverĂ«t zombie". KĂ«to janĂ« makina qĂ« rrinĂ« boshe shumicĂ«n e kohĂ«s, duke humbur energji. Sot 30% e serverĂ«ve nĂ« botĂ« janĂ« pa punĂ«, duke konsumuar 30 miliardĂ« dollarĂ« energji elektrike nĂ« vit.

MIT vendosi të luftojë përdorimin joefikas të burimeve kompjuterike.

Ekip inxhinierik ka zhvilluar Sistemi i balancimit të ngarkesës së procesorit i quajtur Shenango. Qëllimi i tij është të monitorojë gjendjen e tamponit të detyrave dhe të rishpërndajë proceset e bllokuara (që nuk mund të marrin kohën e CPU) në makinat e lira.

Si funksionon Shenango

Shenango është Linux- një bibliotekë C me lidhje Rust dhe C++. Kodi i projektit dhe aplikacionet e testimit janë publikuar në depove në GitHub.

Zgjidhja bazohet në algoritmin IOKernel, i cili funksionon në një bërthamë të dedikuar të një sistemi shumëprocesorësh. Ai menaxhon kërkesat e CPU duke përdorur një kornizë Dpdk, i cili lejon aplikacionet të komunikojnë drejtpërdrejt me pajisjet e rrjetit.

IOKernel vendos se cilit kernel do t'i delegojë një detyrë specifike. Algoritmi vendos gjithashtu se sa bërthama do të nevojiten. Për secilin proces, përcaktohen bërthamat kryesore (të garantuara) dhe ato shtesë (të shpërthyeshme) - këto të fundit lëshohen në rast të një rritje të mprehtë të numrit të kërkesave për CPU.

Radha e kĂ«rkesave IOkernel organizohet si tampon unaze. Çdo pesĂ« mikrosekonda, algoritmi kontrollon pĂ«r tĂ« parĂ« nĂ«se tĂ« gjitha detyrat e caktuara nĂ« bĂ«rthamĂ« kanĂ« pĂ«rfunduar. PĂ«r ta bĂ«rĂ« kĂ«tĂ«, ai krahason vendndodhjen aktuale tĂ« kokĂ«s sĂ« tamponit me pozicionin e mĂ«parshĂ«m tĂ« bishtit tĂ« tij. NĂ«se rezulton se bishti ishte tashmĂ« nĂ« radhĂ« nĂ« kohĂ«n e kontrollit tĂ« mĂ«parshĂ«m, sistemi vĂ«ren mbingarkesĂ«n e tamponit dhe cakton njĂ« bĂ«rthamĂ« shtesĂ« pĂ«r procesin.

Gjatë shpërndarjes së ngarkesës, përparësi u jepet bërthamave në të cilat i njëjti proces është ekzekutuar më herët dhe pjesërisht ka mbetur në cache, ose çdo bërthame boshe.

Balancues i ri i ngarkesës së CPU nga MIT

Shenango gjithashtu merr qasjen vjedhja e punës. Bërthamat e alokuara për të ekzekutuar një aplikacion monitorojnë numrin e detyrave që ka njëri-tjetri. Nëse një bërthamë përfundon listën e detyrave para të tjerave, atëherë ai "lehtëson" një pjesë të ngarkesës nga fqinjët e tij.

Avantazhet dhe disavantazhet

Mbi sipas inxhinierë nga MIT, Shenango është në gjendje të përpunojë pesë milionë kërkesa në sekondë dhe të mbajë një kohë mesatare përgjigjeje prej 37 mikrosekonda. Ekspertët thonë se në disa raste teknologjia mund të rrisë shkallën e përdorimit të përpunuesve në qendrat e të dhënave në 100%. Si rezultat, operatorët e qendrave të të dhënave do të jenë në gjendje të kursejnë në blerjen dhe mirëmbajtjen e serverëve.

Potenciali i zgjidhjes Mark dhe specialistĂ« nga universitete tĂ« tjera. Sipas njĂ« profesori nga njĂ« institut korean, sistemi MIT do tĂ« ndihmojĂ« nĂ« reduktimin e vonesave nĂ« shĂ«rbimet e internetit. PĂ«r shembull, do tĂ« jetĂ« i dobishĂ«m nĂ« dyqanet online. NĂ« ditĂ«t e shitjeve ka edhe njĂ« vonesĂ« tĂ« dytĂ« nĂ« ngarkimin e faqeve проĐČĐŸĐŽĐžŃ‚ nĂ« njĂ« ulje tĂ« numrit tĂ« shikimeve tĂ« faqes me 11%. ShpĂ«rndarja e shpejtĂ« e ngarkesĂ«s do tĂ« ndihmojĂ« nĂ« shĂ«rbimin e mĂ« shumĂ« klientĂ«ve.

Teknologjia ka ende tĂ« meta - nuk mbĂ«shtet multiprocesor NË-sistemet nĂ« tĂ« cilat çipat janĂ« tĂ« lidhur me module tĂ« ndryshme memorie dhe nuk "komunikojnĂ«" me njĂ«ri-tjetrin. NĂ« kĂ«tĂ« rast, IOKernel mund tĂ« rregullojĂ« funksionimin e njĂ« grupi tĂ« veçantĂ« procesorĂ«sh, por jo tĂ« gjithĂ« çipat e serverĂ«ve.

Balancues i ri i ngarkesës së CPU nga MIT
/ Foto Tim Reckmann CC BY

Teknologji të ngjashme

Sisteme të tjera të balancimit të ngarkesës së procesorit përfshijnë Arachne. Ai llogarit se sa bërthama do t'i nevojiten një aplikacioni kur të fillojë dhe shpërndan proceset sipas këtij treguesi. Sipas autorëve, vonesa maksimale e një aplikacioni në Arachne është rreth 10 mijë mikrosekonda.

Teknologjia zbatohet si një bibliotekë C++ për Linux, dhe kodi i tij burimor është i disponueshëm në GitHub.

Një tjetër mjet balancues është ZygOS. Ashtu si Shenango, teknologjia përdor metodën e vjedhjes së punës për të rishpërndarë proceset. Sipas autorëve të ZygOS, vonesa mesatare e aplikimit gjatë përdorimit të mjetit është rreth 150 mikrosekonda, dhe maksimumi është rreth 450 mikrosekonda. Kodi i projektit është gjithashtu është në domenin publik.

Gjetjet

Qendrat moderne të të dhënave vazhdojnë të zgjerohen. Tendenca në rritje është veçanërisht e dukshme në tregun e qendrave të të dhënave në shkallë të lartë: tani në botë nuk ka 430 qendra të dhënash në shkallë të lartë, por në vitet e ardhshme numri i tyre mund të rritet me 30%. Për këtë arsye, teknologjitë e balancimit të ngarkesës së procesorit do të jenë shumë të kërkuara. Sistemet si Shenango janë tashmë të disponueshme zbatojnë korporatat e mëdha, dhe numri i mjeteve të tilla vetëm do të rritet në të ardhmen.

Postime nga blogu i parë në lidhje me IaaS të korporatës:

Burimi: www.habr.com

Bleni njĂ« host tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, serverĂ« VPS VDS đŸ”„ Bleni hosting tĂ« besueshĂ«m tĂ« faqeve tĂ« internetit me mbrojtje DDoS, servera VPS VDS | ProHoster