15) Quali sono le caratteristiche della migrazione?
Obiettivi:
Un uso delle risorse più corretto ed efficiente in quanto:
esiste disomogeneità delle risorse fisiche
esistono file partizionati e presenti su nodi specifici
Bilanciamento del carico computazionale: divisione del carico tra i nodi secondo necessità
Tolleranza ai guasti: una risorsa può essere trasferita in altro nodo prima del crash totale
Dinamicità e mobilita: possibilità di fare fronte a una allocazione anche non ottimale, o non più ottimale
Requisiti:
Che cosa migra?
Processi
i processi sono intesi come entità computazionali mobili che si spostano da un nodo ad un altro
il processo è composto dallo stato iniziale + i cambiamenti: un sottoinsieme di questo deve essere trasferito da un nodo ad altro
Dati
file spostati da un nodo ad un altro
Oggetti
In sistemi con modelli computazionali diversi si possono considerare altri candidati (oggetti)
Problema della gestione dell’invio messaggi: in caso di migrazione e durante la migrazione occorre gestire i messaggi da spedire a chi sta migrando
Ridirezione dei messaggi
bufferizzazione dei messaggi arrivati per il processo da parte del kernel, che riceve poi i messaggi
Il nodo di partenza tiene traccia della allocazione del processo; i clienti mandano al vecchio nodo
Riqualificazione dell'allocazione
i messaggi arrivati per il processo sono mantenuti ma i clienti sono informati della nuova allocazione
si mandano messaggi a tutti i potenziali clienti
Il nodo di partenza tiene traccia della allocazione del processo solo fino al completamento del trasferimento
Recovery da parte dei clienti
Non si mantiene la nuova allocazione del processo e non si informano i clienti
Il messaggio può fallire: è compito del cliente di ritrovare la nuova allocazione