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ë një bibliotekë Linux në C me lidhje Rust dhe C++. Kodi i projektit dhe aplikacionet e testimit publikohen 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 -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 saj burim ë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

Shto një koment