Il Cloud Computing: Gestione delle risorse

Gestione delle risorse per un sistema intrinsecamente complesso tali come il cloud computing richiede diversi modi di misurazione e di allocazione delle risorse.

Dan Marinescu

Adattato da "il Cloud Computing: Teoria e pratica"(Elsevier Science & Libri di tecnologia)

Gestione delle risorse è una funzione di nucleo necessaria di qualsiasi sistema di origine antropica. Essa colpisce i tre criteri di base per la valutazione di sistema: prestazioni, funzionalità e costi. Gestione inefficiente delle risorse ha un effetto negativo diretto sulla performance e costo. Anche indirettamente può influenzare la funzionalità del sistema. Alcune funzioni che fornisce il sistema potrebbero diventare troppo costosi o inefficace a causa di scarse prestazioni.

Un'infrastruttura di cloud computing è un sistema complesso con un gran numero di risorse condivise. Questi sono soggetti a richieste imprevedibili e può essere influenzati da eventi esterni oltre il vostro controllo. Gestione delle risorse cloud richiede complesse politiche e decisioni per ottimizzazione multi-obiettivo. È estremamente impegnativo a causa della complessità del sistema, che rende impossibile avere informazioni precise sullo stato globale. È anche soggetto a incessanti e imprevedibili interazioni con l'ambiente.

Le strategie per la gestione delle risorse cloud connesso con i modelli di consegna di tre nuvola, infrastruttura come servizio (IaaS), piattaforma come servizio (PaaS) e Software come servizio (SaaS), differiscono uno da altro. In tutti i casi, il provider di servizi cloud di fronte a carichi grandi, fluttuante che sfida l'affermazione di elasticità della nube. In alcuni casi, quando essi possono predire che un picco può essere previsto, essi possono accantonamento risorse in anticipo. Ad esempio, stagionali servizi Web possono essere soggetti a picchi.

Per un picco non pianificato, la situazione è leggermente più complicata. È possibile utilizzare Auto scalatura per i carichi di picco non pianificato, purché ci sia un pool di risorse è possibile rilasciare o allocare on demand e un sistema di monitoraggio che consente di decidere in tempo reale di riassegnare le risorse. Ridimensionamento automatico è supportato dai servizi PaaS come Google App Engine. Ridimensionamento automatico per IaaS è complicato a causa della mancanza di norme.

Nella nube, dove modifiche sono frequenti e imprevedibili, controllo centralizzato è improbabile per fornire garanzie di prestazioni e servizio continue. Infatti, controllo centralizzato non può fornire soluzioni adeguate per l'host delle politiche di gestione cloud che devi far rispettare.

Politiche autonome sono di grande interesse a causa della scala del sistema, il gran numero di richieste di servizio, la popolazione di grandi utenti e l'imprevedibilità del carico. Il rapporto tra la media della risorsa picco ha bisogno può essere grande.

Politiche e meccanismi

Una politica in genere si riferisce al principale che guida le decisioni, mentre meccanismi rappresentano i mezzi per attuare le politiche. Separare le politiche da meccanismi è un principio guida in informatica. Butler Lampson e Per Brinch Hansen offrono solidi argomenti per questa separazione nel contesto del OS design.

È possibile raggruppare i criteri di gestione delle risorse cloud vagamente in cinque classi:

L'obiettivo esplicito di una politica di controllo di ammissione è impedire al sistema di accettare carichi di lavoro in violazione dei criteri di sistema ad alto livello. Ad esempio, un sistema non può accettare un carico di lavoro aggiuntivo che impedirebbe di completare il lavoro già in corso o contratta. Limitare il carico di lavoro richiede qualche conoscenza dello stato del sistema globale. In un sistema dinamico, questa informazione è spesso obsolete al meglio.

Allocazione capacità significa allocazione delle risorse per le singole istanze. Un'istanza è un'attivazione del servizio. Individuazione di risorse che sono soggetti a molteplici vincoli di ottimizzazione globale richiede alla ricerca un grande spazio quando lo stato dei singoli sistemi sta cambiando così rapidamente.

È possibile eseguire il bilanciamento del carico e l'ottimizzazione di energia localmente, ma politiche globali di bilanciamento del carico e l'ottimizzazione di energia incontrano le stesse difficoltà come quelli già discussi. Ottimizzazione di energia e di bilanciamento del carico sono correlate e possono influenzare il costo di fornitura dei servizi.

Il significato comune di bilanciamento del carico di termine è quello di distribuire uniformemente il carico per un insieme di server. Ad esempio, si consideri il caso di quattro server identico, A, B, C e D. Loro carichi relativi sono 80 per cento, il 60 per cento, 40 per cento e 20 per cento, rispettivamente, della loro capacità. Bilanciamento del carico perfetto si tradurrebbe in tutti i server con lo stesso carico di lavoro — 50 per cento della capacità di ciascun server.

Nel cloud computing, un critico obiettivo è minimizzare il costo della prestazione del servizio. In particolare, questo significa anche ridurre al minimo il consumo energetico. Questo porta ad un diverso significato di bilanciamento del carico di termine. Invece di avere il carico uniformemente distribuito tra tutti i server, vogliamo concentrarlo e utilizzare il minor numero di server mentre gli altri il passaggio alla modalità standby, uno stato in cui un server utilizza meno energia. Nel nostro esempio, il carico da D migreranno ad A e il carico da C migreranno a B. Così, A e B verrà caricato a piena capacità, mentre C e D passerà alla modalità standby.

Qualità del servizio è il che aspetto della gestione delle risorse che è probabilmente il più difficile a indirizzo e, allo stesso tempo, forse il più critico per il futuro del cloud computing. Strategie di gestione risorsa destinazione spesso congiuntamente prestazioni e consumo di potenza.

Tensione dinamica e frequenza scalatura tecniche (DVFS) come SpeedStep di Intel e AMD PowerNow abbassare la tensione e la frequenza per diminuire il consumo energetico. Motivato inizialmente dalla necessità di risparmiare energia per dispositivi mobili, queste tecniche hanno migrato a praticamente tutti i processori, inclusi quelli utilizzati su server ad alte prestazioni. A causa di più bassi voltaggi e frequenze, diminuisce le prestazioni del processore. Tuttavia, lo fa ad un tasso sostanzialmente più lento che il consumo di energia.

Praticamente tutti i meccanismi ottimali o quasi ottimali per affrontare le classi di cinque criteri non scala. Hanno tipicamente un singolo aspetto della gestione delle risorse, ad esempio il controllo ammissione di destinazione ma ignorare la conservazione dell'energia. Molti richiedono calcoli complessi che non possono essere effettuati efficacemente nel tempo a disposizione per rispondere. Modelli di prestazione sono complesse, soluzioni analitiche sono insolubili e i sistemi di monitoraggio utilizzati per raccogliere informazioni sullo stato di questi modelli possono essere troppo invadente e in grado di fornire dati precisi.

Pertanto, molte tecniche sono concentrati sulle prestazioni del sistema in termini di velocità effettiva e il tempo nel sistema. Essi includono raramente compromessi energia o garanzie di QoS. Alcune tecniche sono basate su ipotesi irrealistiche. Ad esempio, allocazione di capacità è visto come un problema di ottimizzazione, ma sotto l'ipotesi che i server sono protetti da sovraccarico.

Controllo la nuvola

Tecniche di allocazione in nuvole di computer devono basarsi su un approccio disciplinato, anziché metodi ad hoc. I quattro meccanismi di base per l'implementazione di politiche di gestione delle risorse sono:

  • **Teoria di controllo:**Teoria di controllo utilizza feedback per garantire la stabilità del sistema e predire il comportamento transitorio, ma può solo predire il comportamento locale.
  • **Apprendimento automatico:**Un vantaggio importante delle tecniche di apprendimento automatico è che non hanno bisogno di un modello di prestazioni del sistema. È possibile applicare questa tecnica a coordinare i diversi gestori di sistema autonomo.
  • **Basata sull'utilità:**Approcci basati sull'utilità richiedono un modello di prestazioni e un meccanismo di correlare il livello utente prestazioni con costo.
  • **Meccanismi di mercato-oriented/economico:**Tali meccanismi non richiedono un modello di sistema, quali la combinazione di aste per fasci di risorse.

Dovrebbe essere fatta una distinzione tra i carichi di lavoro interattivi e non-interattiva. Le tecniche di gestione interattiva dei workload (servizi Web, ad esempio) coinvolgono controllo di flusso e posizionamento dinamico di applicazione, mentre quelle per i carichi di lavoro non interattivi sono focalizzate sulla pianificazione.

Una discreta quantità di lavori riportati in letteratura è dedicata alla gestione delle risorse dei carichi di lavoro interattive — alcuni a non-interattiva e solo pochi workload a eterogeneo, una combinazione delle due. Pianificazione avanti per come si sta andando a gestire queste contribuirà a garantire una transizione fluida per lavorare con la nuvola.

Dan C. Marinescu

Dan C. Marinescu era un professore di informatica presso l'Università di Purdue dal 1984 al 2001. Poi si unì al dipartimento di informatica presso la University of Central Florida. Ha ricoperto incarichi di facoltà visita presso l'IBM T. J. Watson Research Center, l'Istituto di scienze informazioni a Pechino, la divisione di sistemi scalabili di Intel Corp, Deutsche Telecom AG e INRIA Rocquancourt in Francia. Suoi interesse coperchio parallelo e distribuito sistemi di ricerca, di cloud computing, scientifico di calcolo, computazione quantistica e teoria dell'informazione quantistica.

Per ulteriori informazioni su questo e altri titoli di Elsevier, check out Elsevier Science & Libri di tecnologia.

Contenuti correlati