Nuovo bilanciatore di carico CPU dal MIT

Si prevede di utilizzare il sistema Shenango nei data center.

Nuovo bilanciatore di carico CPU dal MIT
/ фото Marco Verch CC BY

Secondo uno dei fornitori, i data center utilizzano utilizzano solo il 20-40% delle capacità computazionali disponibili. In caso di carichi elevati, questa percentuale può raggiungere il 60%. Questa distribuzione delle risorse porta alla creazione di quelli che vengono chiamati «server zombie». Queste sono macchine che rimangono inattive la maggior parte del tempo, sprechando energia elettrica. Oggi il 30% dei server nel mondo risultano inattivi, consumando elettricità per 30 miliardi di dollari all'anno.

Al MIT hanno deciso di combattere lo spreco inefficiente delle risorse computazionali.

Un team di ingegneri ha sviluppato hanno sviluppato un sistema di bilanciamento del carico sui processori chiamato Shenango. Il suo obiettivo è monitorare lo stato del buffer delle attività e ridistribuire i processi "bloccati" (che non riescono a ottenere tempo della CPU) su macchine libere.

Come funziona Shenango

Shenango è una libreria Linux scritta in C con binding per Rust e C++. Il codice del progetto e le applicazioni di test sono pubblicati in repository su GitHub.

La base della soluzione è un algoritmo IOKernel, che viene eseguito su un core dedicato di un sistema multiprocessore. Questo gestisce le richieste alla CPU tramite un framework DPDK, che consente alle applicazioni di interagire direttamente con i dispositivi di rete.

IOKernel decide a quale core trasferire un compito specifico. L'algoritmo determina anche quanti core saranno necessari. Per ogni processo vengono definiti core principali (guaranteed) e core aggiuntivi (burstable): i secondi vengono avviati in caso di improvvisa aumentata delle richieste alla CPU.

La coda delle richieste di IOKernel è organizzata come un buffer circolare. Ogni cinque microsecondi, l'algoritmo verifica se tutti i compiti assegnati al core sono stati completati. Per fare ciò, confronta la posizione attuale della "testa" del buffer con la posizione precedente della sua "coda". Se si scopre che la coda era già presente nella coda al momento della precedente verifica, il sistema segna un sovraccarico del buffer e assegna un core aggiuntivo al processo.

Nella distribuzione del carico, si dà priorità ai core su cui lo stesso processo è già stato eseguito in precedenza e che è rimasto parzialmente nella cache, o a qualsiasi core inattivo.

Nuovo bilanciatore di carico CPU dal MIT

Shenango utilizza inoltre l'approccio work stealingI nuclei assegnati a un'applicazione monitorano il numero di compiti l'uno dell'altro. Se un nucleo termina la propria lista di compiti prima degli altri, "scarica" parte del carico sui vicini.

Vantaggi e svantaggi

Secondo gli esperti, i principali problemi dell'Internet delle cose sono le password facilmente indovinabili (spesso sono presenti password di fabbrica preimpostate, accessibili pubblicamente) e i firmware obsoleti dei dispositivi. In migliori dei casi, gli aggiornamenti vengono pubblicati con notevoli ritardi, nel peggiore — non vengono rilasciati affatto (a volte la possibilità di aggiornamento non è nemmeno prevista a livello tecnico). Di conseguenza, molti dispositivi IoT vengono compromessi attraverso modi banali, come vulnerabilità nell'interfaccia web. Quasi tutte queste vulnerabilità sono critiche, ma il produttore ha possibilità estremamente limitate di creare rapidamente una patch e distribuirla come aggiornamento. ingegneri del MIT, Shenango è in grado di gestire cinque milioni di richieste al secondo e mantenere un tempo di risposta medio di 37 microsecondi. Gli esperti affermano che in alcuni casi la tecnologia può aumentare il tasso di utilizzo dei processori nei data center fino al 100%. Di conseguenza, gli operatori dei DC potranno risparmiare sull'acquisto e sulla manutenzione dei server.

Il potenziale della soluzione sottolineano e esperti di altre università. Secondo un professore di un istituto coreano, il sistema del MIT aiuterà a ridurre i ritardi nel funzionamento dei servizi web. Ad esempio, sarà utile per i negozi online. Nei giorni di vendita, anche un ritardo di un secondo nel caricamento della pagina fornisce può portare a una riduzione del numero di visualizzazioni del sito dell'11%. Una distribuzione tempestiva del carico aiuterà a servire più clienti.

La tecnologia ha ancora alcune limitazioni: non supporta i sistemi multiprocessore NUMA- in cui i chip sono collegati a diversi moduli di memoria e non "comunicano" tra loro. In questo caso, IOKernel può regolare il funzionamento di un gruppo separato di processori, ma non di tutti i chip del server.

Nuovo bilanciatore di carico CPU dal MIT
/ фото Tim Reckmann CC BY

Tecnologie analoghe

Tra gli altri sistemi di bilanciamento del carico sui processori, si distingue Arachne. Essa calcola quanti nuclei saranno necessari all'applicazione al momento del suo avvio e distribuisce i processi in base a questo indicatore. Secondo gli autori, il ritardo massimo di funzionamento dell'applicazione in Arachne è di circa 10.000 microsecondi.

La tecnologia è implementata come una libreria C++ per Linux, e il suo codice sorgente è disponibile su GitHub.

Un altro strumento di bilanciamento è ZygOS. Proprio come Shenango, la tecnologia utilizza per il ridistribuzione dei processi il metodo del furto di lavoro. Secondo gli autori di ZygOS, il ritardo medio nel funzionamento delle applicazioni quando si utilizza lo strumento è di circa 150 microsecondi, mentre quello massimo è di circa 450 microsecondi. Il codice del progetto è anch'esso disponibile pubblicamente.

Conclusioni

I moderni DC continuano a espandersi, soprattutto la tendenza all'aumento è evidente nel mercato dei data center hyperscale: attualmente nel mondo esiste 430 data center ipermassivi, ma nei prossimi anni il loro numero potrebbe aumentare del 30%. Per questo motivo, le tecnologie di bilanciamento del carico sui processori saranno molto richieste. Sistemi come Shenango stanno già venendo implementati da grandi aziende e in futuro il numero di questi strumenti continuerà a crescere.

Post dal Primo blog su IaaS aziendale:

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS - ProHoster