|
@@ -0,0 +1,72 @@
|
|
|
+# Piattaforme e Software per la rete - lezione 9
|
|
|
+#### William Fornaciari
|
|
|
+###### 12 May 2016
|
|
|
+## Distributed Process Allocation
|
|
|
+### Migrazione
|
|
|
+Le politiche di scheduling __non migratorie__ Fanno sí che un processo rimanga sulla
|
|
|
+macchina su cui é partito finché non termina
|
|
|
+Le politiche di scheduling __migratorie__ permettono di spostare
|
|
|
+un task giá in esecuzione su una macchina adatta.
|
|
|
+Tuttavia questo introduce dell'*overhead* consistente in:
|
|
|
+- Tempo
|
|
|
+- Consumo energia
|
|
|
+- Quantitá di memoria
|
|
|
+Il problema principale é dovuto allo spostamento dei dati necessari all'applicazione.
|
|
|
+Per quanto riguarda l'energia, non é detto che usare una macchina piú potente migliori
|
|
|
+il rendimento energetico, e inoltre viene spesa energia anche per il trasferimento.
|
|
|
+
|
|
|
+Quindi le migrazioni hanno senso se durano abbastanza a lungo da dare benefici
|
|
|
+di 10 volte l'overhead, inoltre non é detto che sia possibile interrompere
|
|
|
+l'applicazione per trasferirla.
|
|
|
+
|
|
|
+### Overall design issues
|
|
|
+Potrebbe essere una buona idea allocare i processi su alcune delle cpu e spegnere le altre:
|
|
|
+- Una CPU scarica consuma sempre di piú di una CPU spenta.
|
|
|
+O potrebbe servire tenere delle CPU scariche se si pensa che debba arrivare un picco di utilizzo.
|
|
|
+
|
|
|
+Per quanto riguarda la __logica delle comunicazioni__ Puó essere utile mettere in un sistema distribuito
|
|
|
+due processi che comunicano di frequente sulla stessa macchina, o nel caso siano thread, eventualmente
|
|
|
+incorporarli in un unico processo.
|
|
|
+Se abbiamo grosse moli di dati conviene se possibile metterle sulla stessa macchina che li deve elaborare
|
|
|
+
|
|
|
+Per la __availability__ cioé nel caso di upgrade di componenti hardware puó essere spostata la macchina
|
|
|
+virtuale o nel caso non sia disponibile, solo il processo.
|
|
|
+
|
|
|
+Per quanto riguarda il carico termico, conviene bilanciare il profilo termico spostando il processo
|
|
|
+su varie macchine in modo da mitigare il problema del __thermal breakdown__
|
|
|
+
|
|
|
+### Allocation algorithms: taxonomy
|
|
|
+Gli algoritmi possono essere:
|
|
|
+- Deterministici o euristici
|
|
|
+- Centralizzati o distribuiti
|
|
|
+- Ottimi o sub-ottimi
|
|
|
+
|
|
|
+Un altro aspetto di questi algoritmi é che modificando lo stato del sistema non appena
|
|
|
+si avvicina una situazione sub-ottima, questo puó portare a delle instabilitá.
|
|
|
+
|
|
|
+### Migrazione dei processi
|
|
|
+La migrazione consiste nel trasferire parte dello stato di un processo su una macchina
|
|
|
+di destinazione per permettere il proseguimento.
|
|
|
+La migrazione puó essere avviata dal sistema operativo che possiede il quadro complessivo,
|
|
|
+o dal processo stesso.
|
|
|
+
|
|
|
+### Modellazione con grafi
|
|
|
+Consiste nel tracciare i processi e le dipendenze con nodi e archi, e fare un taglio in modo
|
|
|
+che la macchina soddisfi i requisiti dei nodi nel taglio, e che i collegamenti esterni siano minimizzati.
|
|
|
+
|
|
|
+### Algoritmo centralizzati
|
|
|
+- Up-Down (manager-worker)
|
|
|
+- Algoritmo euristico (probing)
|
|
|
+- Bidding
|
|
|
+
|
|
|
+### Negoziazione
|
|
|
+La migrazione dei processi puó avvenire tramite una negoziazione in cui gli starter utility
|
|
|
+dei vari sistemi comunicano prima dello scambio di un processo.
|
|
|
+
|
|
|
+### Eviction
|
|
|
+Puó capitare che una workstation vada in crisi e rimandi al mittente i processi che non siano i propri.
|
|
|
+
|
|
|
+### Co-scheduling
|
|
|
+Spesso conviene migrare i processi in gruppo,
|
|
|
+ad esempio gruppi di processi che comunicano tra di loro possono essere schedulati per lo stesso time slot
|
|
|
+su macchine diverse, in modo che possano comunicare senza ritardi.
|