Data center management Flashcards
Quali sono gli obbiettivi di massima della gestione di un datacenter? Come possiamo vederlo?
Quali sono le metriche di performance?
Massimizzare i guadagni ridecendo i costi e garantire le SLA (requisiti di troughput e response time nei confronti dei clienti). Si può vedere come un problema di ottimizzazione, con diverse metriche:
- Key Performance Indicator: metriche di performance del sistema
- Vincoli: requisiti aggiuntivi di sistema
_____
Possiamo considerare
- il consumo energetico delle componenti computazionali, networking, storage e cooling. Si tende ai green data center che mira a ridurre la borwn energy e promuovere quella green (prodotta da fonti rinnovabili).
- SLA: requisiti contrattuali nei confronti del cliente, tempi di risposta, throughput e disponibilità di sistema. Solitamente il tempo di risposta, una finestra di 24 ore non ha senso se è spesso inattivo, serve una finestra di minuti, non deve essere preso dai logs che tengono conto delle tempistiche lato client. Usiamo metriche 90-percentile
- Utilizzo delle risorse CPU: La variazione dek carico ha un impatto sul funzionamento della CPU e la temperatura. Accensioni e spegnimenti improvvisi di un server può causare shock termico e riduce la vita della macchina. Usiamo il fattore di accelarazione AF il parametro principale. Dobbiamo tenere conto dell’utilizzo della CPU, guardando gli istanti in cui la macchina rimane idle, ma anche considerando il carico il numero di processi in attesa di esecuzione.
La probabilità busy ρ = λ/µ. - Utilizzo delle risorse rete: Analogo alla CPU, utilizzo dei canali di rete, assicurandoci che la banda teorica non può essere mai raggiunta. Le metriche per misurare l’utilizzazione sono il troughput (dati trasmessi nel tempo) e la bandwidth (massimo dei dati che è possibile trasmettere)
- Failure rate
- Affidabilità / Disponibilità
Quali sono i tipi di modelli di performance?
- Modello energetico: nel caso semplice consideriamo la dipendenza lineare tra utilizzo CPU e dissipazione calore. Se ci concentriamo sul consumo energetico CPU adottando il modello Dynamic Voltage Frequency Scaling (DVFS), dove l’energia varia con un fattore cubico rispetto alla frequenza del processore. Ci possiamo basare sul disco o anche sulla rete (utilizzo). Se gli apparati di rete hanno consumo fisso le SDN no.
- Modelli basati sull’affidabilità: Tipicamente usati come vincoli di un modello, bisogna tenere conto se i sistemi sono collegati in serie o parallelo, della gestione delle failure e i livello di replicazione. Abbiamo singoli o multipli DC, e li gestiamo in 2 layer: distribuzione sulla serie di DC, oppure la reazione di un datacenter al carico. Se abbiamo tanti DC, usiamo dei predittori per il carico futuro, facendo fronte alle località delle richieste e gestire i costi delle VM. Nel secondo caso invece l’attenzione ` e sul singolo DC e su come scalarlo, reagire agli errori di predizione e ai burst di traffico, allocare le VM necessarie e infine gestire la sincronizzazione tra i vari DC
- Modelli economici: Un provider deve chiedersi sul come agire in caso di alto traffico e nel caso di sottoutilizzo. Utilizziamo dei modelli di prezzo nelle varie VM per massimizzare il ritorno. Queste macchine sono:
- Istanze di VM dedicate: macchine economiche, per utilizzi mensili e annui, sempre disponibili. (paagte in anticipo)
- Istanze di VM on demand: alti costi (il triplo) utilizzo ad ore sempre disponibili.
- Spot VM: vendute all’asta per fare profitto, per un breve termine e non sempre disponibili. Il tempo di non disponibilità è rimborsato.
Quali sono le variabili decisionali?
- posizionamento delle VM: può essere visto come un bin packing problem mono dimensionale se consideriamo CPU e multi dim se consideriamo anche RA, CPU… Inoltre è necessario fare analisi su più istanti temporali in base all’utilizzazione delle risorse. Dato che il bin packing scoppia all’aumentare il numero di VM, dobbiamo lavorare in classi di servizio, questo permette di categorizzare le macchine in base a quale risorsa usano di più, riducendo le dimensioni del problema a costo della precisione, questo serve per DC che vogliono predirre il traffico in tempi accettabili.
Abbiamo la formula
min (sum [s in S] Os) numero di server accessi che vogliano minimizzare
sum[s in S] Im,s =1 indica se server acceso o spento, macchina m in server S.
per ogni s,r,t sum Rir(t)Im,s < Vr,s*Os
Vr,s è la risorsa disponibile in s, praticamente vogliamo che le risorse dispobili nel server devono essere maggiori di quelle utilizzate.
- VM migration: la migrazione avviene quando il server è sottoutilizzato <=20% , var gms- quando esce gms+ quando entra
- Ottimizzazione della rete: dobbiamo fare in modo che le macchine comunichino in modo ottimale, definendo quali macchine devono stare vicine. Definire i vincoli delle risorse per garantire disponibilità e niente sovraccarichi. Minimazzare il numero di hops, mirare al consumo di en…. utilizzo della banda evitando bottle neck.
- Orchestrazione
Quali sono le soluzioni in ambito industriale?
Abbiamo soluzioni basati sull’utilizzo: con una regola del pollice per evitare server sovracarichi o sottoutilizzati. Usiamo 2 soglie 20% sotto spegniamo e 80% migriamo
Per modellare l’andamento dell’utilizzazione in ottica di predizioni, sono spesso utilizzate tecniche
di predizioni tramite la regressione. I predittori di carico non sono, pero, molto utilizzati in
ambito industriale, perch´e non sempre il carico e predicibile e talvolta
e meglio reagire in ritardo
piuttosto che reagire male.
Eco cloud: la migrazione viene vista come un porcesso stocastico locale per stabile se il server deve scaricarsi o accettare nuove macchine. Ad ogni VM viene data una probabilità di essere oggetto o destinazione di una migrazione. Tra 40 e 70% saranno destinazione. Se si raggiunge un utilizzo del 90% difficilmente accetto macchine, probabilmente si scarica, se invece ha basso utilizzo si migra e si spegne. Si cerca di convergere a uno stato dove i nodi sono utilizzati medio alti. Tiene conto di molte caratteristiche e parametri, inoltre abbiamo un buon panorama di tutto.
MBFD: Questo algoritmo considera a differenza del BFD, macchine virtuali eterogenee, il posizionamento guarda al minimizzare il consumo energetico. La selezione delle macchine da migrare mira a minimizzare il numero di migrazioni, accensioni e spegnimenti. Su questa base vengono scelte macchine più vicine alla soglia o casualmente.
Hierarchical: Il tempo di risposta è modellato su reti di code.
Si basa sul distribuire il carico su più DC nel lungo termine, nel breve termine la posizione delle VM. L’algoritmo long term ragiona ad ore a cui fa riferimento la frequenza di pagamento delle VM utilizzando un predittore per il traffico in arrivo.
L’algoritmo breve termine, segue il principio di receding horizon, applica decisioni solo per il passo temporale prossimo considerando l’intera finestra temporale. Ripetendo per il secondo passo etc…
VMPlanner: Si cerca di posizionare le VM in modo corretto per ridurre sovraccarichi della rete cercando di allegerire la parte core della rete. E’ NP Hard quindi lo dividiamo in sotto problemi:
1)Balanced minimum k-cut problems: le VM vengono raggruppate in classi di traffico
2) Quadratic assigment problem: i gruppi vengono mappati su vari rack all’interno del DC
3) Multi commodity flow problem: una volta trovato il posizionamento, viene deciso come viene mappato il flusso di traffico sulla geometria ottenuta
La soluzione ideale è quella d’implementare un infrastruttura di rete adattiva, in grado di gestire flussi indipendentemente dalla grandezza. I nodi riconoscono il flusso e riorg le loro matrici
JCDME: Approccio che mira a minimizzare il costo energetico tenendo conto di tanti parametri, ognuno con un peso. La migrazione essendo onerosa devo avere il costo spalmato su più unità di tempo, bisogna essere sicuri che dopo la migrazione il sistema non richieda un livello basso di energia.