Novu equilibratore di carica di CPU da MIT

U sistema Shenango hè previstu per esse usatu in centri di dati.

Novu equilibratore di carica di CPU da MIT
/ foto Marcu Verch CC BY

Sicondu unu di i fornituri, i centri di dati usu solu 20-40% di a putenza informatica dispunibule. À carichi elevati stu indicatore pò ghjunghje sin'à 60%. Questa distribuzione di risorse porta à l'emergenza di i cosiddetti "servitori zombie". Quessi sò machini chì stanu inattivu a maiò parte di u tempu, perdendu energia. Oghje 30% di i servitori in u mondu sò senza travagliu, cunsumendu $ 30 miliardi di elettricità annu.

MIT hà decisu di cumbatte l'usu inefficace di e risorse di l'informatica.

Squadra ingegneria hà sviluppatu sistema di equilibriu di carica di u processatore chjamatu Shenango. U so scopu hè di monitorà u statu di u buffer di u travagliu è di redistribuisce i prucessi stuck (chì ùn ponu micca riceve u tempu di CPU) à e macchine libere.

Cumu funziona Shenango

Shenango hè una libreria Linux in C cù Rust è C++ bindings. U codice di u prughjettu è l'applicazioni di teste sò publicati in repository nantu à GitHub.

A suluzione hè basatu annantu à l'algoritmu IOKernel, chì corre nantu à un core dedicatu di un sistema multiprocessore. Gestisce e richieste di CPU utilizendu un framework DPDK, chì permette à l'applicazioni di cumunicà direttamente cù i dispositi di rete.

L'IOKernel decide à quale kernel delegate un compitu specificu. L'algoritmu decide ancu quanti core seranu necessarii. Per ogni prucessu, i nuclei principali (garantiti) è supplementari (burstable) sò determinati - l'ultimi sò lanciati in casu di un forte aumentu di u numeru di richieste à u CPU.

A fila di richieste IOKernel hè urganizata cum'è buffer d'anellu. Ogni cinque microsecondi, l'algoritmu verifica per vede s'ellu tutti i travaglii assignati à u core sò stati cumpletati. Per fà questu, paraguna a situazione attuale di a testa di u buffer cù a pusizione precedente di a so cuda. Se risulta chì a cuda era digià in a fila à u mumentu di a verificazione precedente, u sistema nota u buffer overload è attribuisce un core supplementu per u prucessu.

Quandu si distribuisce a carica, a priorità hè data à i nuclei nantu à quale u stessu prucessu hè statu eseguitu prima è parzialmente si ferma in a cache, o à qualsiasi core idle.

Novu equilibratore di carica di CPU da MIT

Shenango piglia ancu l'approcciu robba di travagliu. I nuclei assignati per eseguisce una applicazione monitoranu u numeru di tarei chì l'altru hà. Se un core finisce a so lista di e so attività prima di l'altri, allora "stende" parte di a carica da i so vicini.

Avvanzi è disadvanessamenti

By sicondu ingegneri da MIT, Shenango hè capaci di processà cinque milioni di dumande per seconda è mantene un tempu di risposta mediu di 37 microsecondi. I sperti dicenu chì in certi casi, a tecnulugia pò aumentà a rata d'utilizazione di i prucessori in i centri di dati à 100%. In u risultatu, l'operatori di u centru di dati puderanu salvà nantu à a compra è u mantenimentu di i servitori.

Soluzione potenziale festighjà è specialisti da altre università. Sicondu un prufessore di un istitutu coreanu, u sistema MIT aiuterà à riduce i ritardi in i servizii web. Per esempiu, serà utile in i buttreghi in linea. In i ghjorni di vendita ci hè ancu un secondu ritardu in a carica di a pagina приводит à una diminuzione di u numeru di viste di u situ da 11%. A distribuzione pronta di carica aiuterà à serve più clienti.

A tecnulugia hà sempre svantaghji - ùn sustene micca multiprocessore Numa-sistemi in quale chips sò cunnessi à diversi moduli di memoria è ùn "comunicanu" micca cù l'altri. In questu casu, IOKernel pò regulà l'operazione di un gruppu separatu di processori, ma micca tutti i chips di u servitore.

Novu equilibratore di carica di CPU da MIT
/ foto Tim Reckmann CC BY

Tecnulugie simili

Altri sistemi di bilanciamentu di carica di u processore includenu Arachne. Calcula quanti nuclei averà bisognu di una applicazione quandu principia, è distribuisce i prucessi secondu questu indicatore. Sicondu l'autori, a latenza massima di una applicazione in Arachne hè di circa 10 mila microsecondi.

A tecnulugia hè implementata cum'è una biblioteca C ++ per Linux, è u so codice fonte hè dispunibule à GitHub.

Un altru strumentu di equilibriu hè ZygOS. Cum'è Shenango, a tecnulugia usa u metudu di robba di travagliu per redistribuisce i prucessi. Sicondu l'autori di ZygOS, a latenza media di l'applicazione quandu si usa l'uttellu hè di circa 150 microsecondi, è u massimu hè di circa 450 microseconds. U codice di u prugettu hè ancu hè in u duminiu publicu.

scuperti

I centri di dati muderni cuntinueghjanu à espansione A tendenza crescente hè soprattuttu notevuli in u mercatu di i centri di dati iperscale: avà in u mondu Ci hè 430 centri di dati hyperscale, ma in l'anni à vene u so numeru pò aumentà da 30%. Per quessa, i tecnulugii di bilanciamentu di carica di u processore seranu in grande dumanda. Sistemi cum'è Shenango sò digià dispunibili implementà grandi corporazioni, è u numeru di tali strumenti cresce solu in u futuru.

Posts da u primu blog nantu à l'IaaS corporativu:

Source: www.habr.com

Add a comment