Sistemi distribuiti: La tecnica della migrazione del codice

Sistemi distribuiti: La tecnica della migrazione del codice

 

La migrazione del codice è un espediente pensato quasi esclusivamente per permettere al sistema di bilanciare il carico di lavoro sui diversi nodi.
Il metodo più efficace, utilizzato per la migrazione del codice, è l’uso di processi a 3 segmenti:
1. segmento del codice -> codice del programma da eseguire
2. segmento delle risorse -> riferimenti alle risorse esterne necessarie all’esecuzione
3. segmento dell’esecuzione -> contesto del processo

E’ inoltre possibile pensare a delle forme alternative:
– mobilità leggera -> viene inoltrato solo il segmento del codice
– mobilità forte -> viene trasferito anche il segmento dell’esecuzione

Sistemi distribuiti - La tecnica della migrazione del codice

La migrazione può avvenire sia su richiesta del mittente che su richiesta del destinatario; inoltre è possibile pensare, una volta terminata la migrazione, di creare un nuovo processo con i segmenti ricevuti, oppure di ripristinare il processo da dove era stato interrotto.

Il collegamento di un processo ad una risorsa può avvenire mediante:
– identificatore univoco (es. URL)
– valore della risorsa -> quando un processo fa riferimento ad una risorsa standard (es. le librerie del C)
– tipo della risorsa -> quando un processo si vuole collegare ad una risorsa di un certo tipo (es. monitor, stampante ecc.)
Infine, si possono classificare le risorse in base al loro legame con la macchina su cui sono situate:
– risorse unattached -> completamente migrabili (es. file o piccoli programmi)
– risorsa fastened -> migrabili ad alto costo (ed. Database)
– risorse fisse

N.B. La migrazione dei processi nei sistemi eterogenei può avere un problema a livello di incompatibilità hardware -> questo è risolvibile servendosi della virtualizzazione (di processo o VMM).

Precedente Definizione e differenza tra processo e thread nei sistemi operativi e distribuiti Successivo Sistemi distribuiti: Caratteristiche e tipologie di comunicazione tra processi

Lascia un commento

*