Nou equilibrador de càrrega de la CPU del MIT

Es preveu que el sistema Shenango s'utilitzi als centres de dades.

Nou equilibrador de càrrega de la CPU del MIT
/ foto Marco verch CC BY

Segons un dels proveïdors, els centres de dades ús només el 20-40% de la potència informàtica disponible. A càrregues altes aquest indicador pot arribar al 60%. Aquesta distribució de recursos porta a l'aparició dels anomenats "servidors zombis". Són màquines que es queden inactius la major part del temps, malgastant energia. Avui el 30% dels servidors del món estan sense feina, consumint 30 milions de dòlars d'electricitat a l'any.

El MIT va decidir combatre l'ús ineficient dels recursos informàtics.

Equip d’enginyeria s’ha desenvolupat sistema d'equilibri de càrrega del processador anomenat Shenango. El seu propòsit és supervisar l'estat de la memòria intermèdia de tasques i redistribuir els processos encallats (que no poden rebre temps de CPU) a màquines lliures.

Com funciona Shenango

Shenango és una biblioteca de Linux en C amb enllaços Rust i C++. El codi del projecte i les aplicacions de prova es publiquen a repositoris a GitHub.

La solució es basa en l'algorisme IOKernel, que s'executa en un nucli dedicat d'un sistema multiprocessador. Gestiona les sol·licituds de CPU mitjançant un marc DPDK, que permet que les aplicacions es comuniquin directament amb dispositius de xarxa.

L'IOKernel decideix a quins nuclis delegar una tasca específica. L'algorisme també decideix quants nuclis es necessitaran. Per a cada procés, es determinen els nuclis principals (garantits) i els addicionals (esclatables); aquests últims es llancen en cas d'augmentar el nombre de peticions a la CPU.

La cua de sol·licituds IOKernel s'organitza com buffer d'anell. Cada cinc microsegons, l'algorisme comprova si s'han completat totes les tasques assignades al nucli. Per fer-ho, compara la ubicació actual del cap del buffer amb la posició anterior de la seva cua. Si resulta que la cua ja estava a la cua en el moment de la comprovació anterior, el sistema nota la sobrecàrrega del buffer i assigna un nucli addicional per al procés.

Quan es distribueix la càrrega, es dóna prioritat als nuclis en els quals el mateix procés s'ha executat anteriorment i ha quedat parcialment a la memòria cau, o als nuclis inactius.

Nou equilibrador de càrrega de la CPU del MIT

Shenango també adopta l'enfocament robar feina. Els nuclis assignats per executar una aplicació controlen el nombre de tasques que tenen els altres. Si un nucli acaba la seva llista de tasques abans que els altres, aleshores "alleuja" part de la càrrega dels seus veïns.

Avantatges i desavantatges

En segons enginyers del MIT, Shenango és capaç de processar cinc milions de sol·licituds per segon i mantenir un temps de resposta mitjà de 37 microsegons. Els experts diuen que en alguns casos la tecnologia pot augmentar la taxa d'utilització dels processadors als centres de dades fins al 100%. Com a resultat, els operadors de centres de dades podran estalviar en la compra i manteniment de servidors.

Potencial de solució celebrar i especialistes d'altres universitats. Segons un professor d'un institut coreà, el sistema del MIT ajudarà a reduir els retards en els serveis web. Per exemple, serà útil a les botigues en línia. Els dies de venda fins i tot hi ha un segon retard en la càrrega de la pàgina приводит a una disminució del nombre de visites del lloc en un 11%. La distribució ràpida de la càrrega ajudarà a servir més clients.

La tecnologia encara té inconvenients: no admet multiprocessador EN-sistemes en els quals els xips estan connectats a diferents mòduls de memòria i no es “comunican” entre ells. En aquest cas, IOKernel pot regular el funcionament d'un grup separat de processadors, però no tots els xips del servidor.

Nou equilibrador de càrrega de la CPU del MIT
/ foto Tim Reckmann CC BY

Tecnologies semblants

Altres sistemes d'equilibri de càrrega del processador inclouen Arachne. Calcula quants nuclis necessitarà una aplicació quan s'iniciï i distribueix els processos segons aquest indicador. Segons els autors, la latència màxima d'una aplicació a Arachne és d'uns 10 mil microsegons.

La tecnologia s'implementa com a biblioteca C++ per a Linux i el seu codi font està disponible a GitHub.

Una altra eina d'equilibri és ZygOS. Igual que Shenango, la tecnologia utilitza el mètode de robatori de treball per redistribuir processos. Segons els autors de ZygOS, la latència mitjana de l'aplicació quan s'utilitza l'eina és d'uns 150 microsegons i el màxim és d'uns 450 microsegons. El codi del projecte també ho és és de domini públic.

Troballes

Els centres de dades moderns continuen expandint-se. La tendència creixent es nota especialment en el mercat dels centres de dades d'hiperescala: ara al món hi ha 430 centres de dades d'hiperescala, però en els propers anys el seu nombre pot augmentar un 30%. Per aquest motiu, les tecnologies d'equilibri de càrrega del processador tindran una gran demanda. Sistemes com Shenango ja estan disponibles implementar grans corporacions, i el nombre d'aquestes eines només augmentarà en el futur.

Publicacions del primer bloc sobre IaaS corporatiu:

Font: www.habr.com

Afegeix comentari