Innovazione tecnologica

Da Stanford un algoritmo che aumenta l’uso dei server e riduce i costi del Cloud

La soluzione va oltre la classica distribuzione dei carichi di lavoro basata sulla stima automatica a priori delle esigenze di elaborazione, e punta invece sui livelli di performance desiderati. I primi test rivelano tassi di sfruttamento dei data center intorno al 70%, contro il tradizionale 20%, con evidenti benefici sui costi dell’hardware e sui consumi energetici

Pubblicato il 18 Mar 2014

data-center-cloud-140317162333

Nel tempo l’aumento di potenza abbinato al calo del costo dei processori nelle architetture IT è sempre stato tale da relegare in secondo piano il problema dell’effettivo sfruttamento delle risorse di calcolo disponibili. Con l’avvento su larga scala del cloud computing e la necessità di provvedere velocemente all’allestimento di nuovi data center e relativi armadi di server, la questione assume però molta più priorità. Anche nei momenti di maggior carico infatti, raramente un data center lavora oltre il 20% della propria capacità.

Su questo aspetto hanno lavorato due ingegneri di Stanford, Christina Delimitrou e Christos Kozyrakis, arrivando a una conclusione molto promettente. Come dimostrato dalle prime prove sul campo infatti, l’algoritmo alla base di Quasar, la soluzione di Cluster Management messa a punto da Kozyrakis e Delimitriou, rispettivamente associate professor of electrical engineering e computer science, e ricercatrice di electrical engineering alla Stanford University, è infatti in grado di triplicare la resa.

All’origine della situazione attuale c’è l’estrema varietà nei carichi di lavoro (workload), frutto della combinazione del numero di utenti collegati, delle applicazioni utilizzate, del momento della giornata, o di improvvisi picchi imprevisti nella domanda. Mantenere un abbondante margine è stata finora la soluzione più praticata per affrontare tali picchi. Se fino a oggi tutto questo è risultato compatibile con i costi, ora l’arrivo del cloud rende più costoso mantenere uno spazio di manovra così ampio e da qui ha preso il via il lavoro dei due ingegneri.

Il progetto Quasar ruota intorno a un particolare algoritmo ispirato alle linee guida con cui Amazon o Netflix gestiscono le richieste dei propri prodotti e servizi. Generalmente il compito di un data center è eseguire applicazioni legate alla richieste di servizi o ai social network quando si parla di utenti singoli, piuttosto che analisi dei dati su larga scala nel caso delle aziende. In base alle singole caratteristiche, la domanda di risorse è estremamente variabile. In ambito cloud, i software dedicati si curano di distribuire i carichi di lavoro ai vari server, in genere sulla base di una sorta di prenotazione, stimando a priori le esigenze di un programma in esecuzione. Se i calcoli, come in genere avviene, per prudenza sono stimati in eccesso, ecco che sommando tutti i carichi di lavoro prenotati si crea una porzione consistente di capacità allocata ma non utilizzata.

Individuato il punto debole in questo sistema di occupazione a priori delle disponibilità, l’obiettivo è stato cercare di superarlo. Invece di chiedere una stima sulle risorse necessarie, il sistema elaborato a Stanford si interroga sulle prestazioni che si intendono raggiungere. Per esempio, se un’applicazione è chiamata a rispondere a richieste inviate dagli utenti, il problema che si pone Quasar è quanti utenti soddisfare, e con quali tempi di risposta. I relativi contratti di servizio non vengono più calcolati sulla potenza messa a disposizione, ma sulle prestazioni desiderate.

Dal punto di vista pratico tutto parte dal multitasking. Tutti i server sono in grado di supportarlo, ma non è detto sia sempre la soluzione migliore. Quasar analizza la situazione, vale a dire le applicazioni da eseguire, e decide in modo autonomo quali server tra quelli a disposizione hanno le caratteristiche migliori per eseguire un’applicazione e se questa conviene o meno sia eseguita in ambiente multitasking. Dall’algoritmo è quindi possibile ricavare indicazioni sul numero minimo di server che devono essere a disposizione e come distribuire nell’insieme le relative applicazioni su ogni macchina.

In linea di principio, il ragionamento non è difficile. La situazione cambia però quando ci si trova davanti alla realtà di un data center, con decine o centinaia di server per migliaia di applicazioni. In pratica, il criterio individuato da Delimitrou e Kozyrakis si ispira alla funzione che mostra i video – nel caso di Netflix – ai quali un utente può essere interessato in base alle scelte più recenti. Allo stesso modo, il database Quasar cerca di capire a priori come si comportano certe applicazioni su certe tipologie di server. Attraverso un processo chiamato di collaborative filtering, queste informazioni permettono di calcolare quanta potenza di calcolo è necessaria per raggiungere le prestazioni richieste e quanto sia compatibile con esecuzioni in contesti multitasking.

I primi risultati dei test pratici sono incoraggianti. Un test condotto presso l’Università del Michigan su un parco macchine di duecento server ha raggiunto un tasso di utilizzo delle risorse pari al 70%, rispettando rigorosi requisiti in fatto di prestazioni.

Un ulteriore aspetto che ha già attirato l’attenzione di potenziali grandi utenti, come per esempio Google, sono le prospettive di risparmi. Sfruttare meglio ogni singolo server significa infatti ridurne il numero. Quindi, in prima battuta abbattere la bolletta energetica e a lungo termine rimandare la necessità di acquistare nuove macchine o ampliare i data center. Per questo, i due ingegneri sono già impegnati a estendere la portata di Quasar fino a migliaia di server distribuiti su più data center, in pieno rispetto dell’ottica cloud che va oltre i confini fisici.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati