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:
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.
Potrebbe essere una buona idea allocare i processi su alcune delle cpu e spegnere le altre:
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
Gli algoritmi possono essere:
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á.
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.
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.
La migrazione dei processi puó avvenire tramite una negoziazione in cui gli starter utility dei vari sistemi comunicano prima dello scambio di un processo.
Puó capitare che una workstation vada in crisi e rimandi al mittente i processi che non siano i propri.
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.