Noul echilibrator de încărcare a procesorului de la MIT

Sistemul Shenango este planificat să fie utilizat în centrele de date.

Noul echilibrator de încărcare a procesorului de la MIT
/ fotografie Marco Verch CC BY

Potrivit unuia dintre furnizori, centrele de date utilizare doar 20–40% din puterea de calcul disponibilă. La sarcini mari acest indicator poate ajunge la 60%. Această distribuție a resurselor duce la apariția așa-numitelor „servere zombie”. Acestea sunt mașini care stau inactiv de cele mai multe ori, risipind energie. Astăzi 30% dintre serverele din lume sunt fără muncă, consumând energie electrică în valoare de 30 de miliarde de dolari pe an.

MIT a decis să combată utilizarea ineficientă a resurselor de calcul.

Echipa de ingineri a dezvoltat sistem de echilibrare a sarcinii procesorului numit Shenango. Scopul său este de a monitoriza starea tamponului de activități și de a redistribui procesele blocate (care nu pot primi timp CPU) către mașinile libere.

Cum funcționează Shenango

Shenango este o bibliotecă Linux în C cu legături Rust și C++. Codul proiectului și aplicațiile de testare sunt publicate în depozite pe GitHub.

Soluția se bazează pe algoritmul IOKernel, care rulează pe un nucleu dedicat al unui sistem multiprocesor. Gestionează cererile CPU folosind un cadru DPDK, care permite aplicațiilor să comunice direct cu dispozitivele din rețea.

IOKernel decide căror nuclee să delege o anumită sarcină. Algoritmul decide, de asemenea, de câte nuclee vor fi necesare. Pentru fiecare proces, sunt determinate nucleele principale (garantate) și altele suplimentare (burstable) - acestea din urmă sunt lansate în cazul unei creșteri puternice a numărului de solicitări către CPU.

Coada de solicitări IOKernel este organizată ca tampon inel. La fiecare cinci microsecunde, algoritmul verifică dacă toate sarcinile atribuite nucleului au fost finalizate. Pentru a face acest lucru, compară locația actuală a capului tamponului cu poziția anterioară a cozii acestuia. Dacă se dovedește că coada era deja în coadă la momentul verificării anterioare, sistemul notează supraîncărcarea tamponului și alocă un nucleu suplimentar procesului.

La distribuirea încărcării, se acordă prioritate nucleelor ​​pe care același proces a fost executat mai devreme și a rămas parțial în cache, sau oricăror nuclee inactive.

Noul echilibrator de încărcare a procesorului de la MIT

În plus, Shenango adoptă această abordare furtul de munca. Nucleele alocate pentru a rula o aplicație monitorizează numărul de sarcini pe care le are reciproc. Dacă un nucleu își termină lista de sarcini înaintea celorlalți, atunci „eliberează” o parte din sarcină de la vecinii săi.

Avantaje și dezavantaje

Pe conform ingineri de la MIT, Shenango este capabil să proceseze cinci milioane de solicitări pe secundă și să mențină un timp mediu de răspuns de 37 de microsecunde. Experții spun că în unele cazuri tehnologia poate crește rata de utilizare a procesoarelor din centrele de date până la 100%. Drept urmare, operatorii centrelor de date vor putea economisi la achiziționarea și întreținerea serverelor.

Potential de solutie marca și specialiști din alte universități. Potrivit unui profesor de la un institut coreean, sistemul MIT va ajuta la reducerea întârzierilor în serviciile web. De exemplu, va fi util în magazinele online. În zilele de vânzare există chiar și o a doua întârziere în încărcarea paginii приводит la o scădere a numărului de vizualizări ale site-ului cu 11%. Distribuția promptă a încărcăturii va ajuta la deservirea mai multor clienți.

Tehnologia are încă dezavantaje - nu acceptă multiprocesor NUMA-sisteme în care cipurile sunt conectate la diferite module de memorie și nu „comunică” între ele. În acest caz, IOKernel poate reglementa funcționarea unui grup separat de procesoare, dar nu a tuturor cipurilor de server.

Noul echilibrator de încărcare a procesorului de la MIT
/ fotografie Tim Reckmann CC BY

Tehnologii similare

Alte sisteme de echilibrare a sarcinii procesorului includ Arachne. Acesta calculează de câte nuclee va avea nevoie o aplicație când pornește și distribuie procesele în funcție de acest indicator. Potrivit autorilor, latența maximă a unei aplicații în Arachne este de aproximativ 10 mii de microsecunde.

Tehnologia este implementată ca bibliotecă C++ pentru Linux, iar codul sursă este disponibil la GitHub.

Un alt instrument de echilibrare este ZygOS. Ca și Shenango, tehnologia folosește metoda furtului de muncă pentru a redistribui procesele. Potrivit autorilor ZygOS, latența medie a aplicației la utilizarea instrumentului este de aproximativ 150 de microsecunde, iar maxima este de aproximativ 450 de microsecunde. Codul proiectului este, de asemenea este în domeniul public.

Constatări

Centrele de date moderne continuă să se extindă. Tendința de creștere este vizibilă mai ales pe piața centrelor de date hiperscale: acum în lume există 430 de centre de date hiperscale, dar în următorii ani numărul acestora ar putea crește cu 30%. Din acest motiv, tehnologiile de echilibrare a sarcinii procesorului vor fi la mare căutare. Sisteme precum Shenango sunt deja disponibile implementează corporații mari, iar numărul acestor instrumente va crește doar în viitor.

Postări de pe primul blog despre IaaS corporative:

Sursa: www.habr.com

Adauga un comentariu