22) Quali sono le problematiche delle politiche di migrazione?

Politiche di migrazione (mantenute all'esterno del kernel)

in dipendenza del tipo di processo:

processo non preemptable

si decide la allocazione dei processi prima della creazione, quindi la generazione in nodi determinati avviene solo se conosciamo le esigenze del processo prima di generarlo, e ciò implica dinamicità limitata

esistono modelli studiati per verificare la convenienza della migrazione in caso di più job (quindi processi generalmente non comunicanti)

processo preemptable

le entità possono muoversi per fare fronte a variazioni dinamiche delle specifiche

fasi costituenti

valutazione del carico (V)

carico locale

carico globale

trasferimento (T)

chi trasferire

quando trasferire

locazione (L)

dove migrare

Scheduling

impatto sullo scheduling

del nodo di partenza

del nodo di arrivo

tipi di politiche

politiche statiche: predefinite e decise a priori

V: carico soglia fisso (p.e. numero processi)

T: movimento del processo più "nuovo"

L: migrazione da un certo nodo sorgente sempre a un predefinito destinatario

politiche semidinamiche: predefinite con limitate dipendenze dallo stato corrente (o anche politiche probabilistiche)

V: carico soglia variabile

T: identificazione ciclica tra i processi

L: allocazione su destinatario ciclico

politiche dinamiche: non predefinite ma strettamente dipendenti dallo stato corrente

V: confronto con carichi dei nodi vicini (carico medio)

T: informazioni sullo stato dei processi

L: ricerca dei potenziali nodi destinatari

Decisione di migrazione

centralizzata

un’unica entità controlla tutti i movimenti, quindi collo di bottiglia

distribuita

raccolta implicita di informazioni

decisione basata su confronto di informazioni

piggybacking di informazioni di carico

confronto su base locale con lo stato degli altri nodi (vicinato)

decentralizzata

scambio esplicito di informazioni tra nodi

confronto delle informazioni attraverso protocolli di scambio informazioni (esplicita cooperazione)

Responsabilità della migrazione; coppia sender-receiver

Iniziativa del sender

il nodo carico si preoccupa di trovare un opportuno ricevente (receiver)

Iniziativa del receiver

un nodo scarico trova potenziali attività da eseguire identificando il mittente (sender)

schemi misti

Iniziativa del sender: più adatta a carichi bassi

Iniziativa del receiver: più adatta a carichi medi-elevati

politiche di carico:

a soglia fissa

confronto con vicini

politiche di trasferimento:

vicino predeterminato o random

probe: verifica di alcuni vicini

politiche di locazione

ad accettazione incondizionata:

random

probabilistiche

cycle

shortest queue

ad accettazione condizionata:

probing

bidding

Anche con politiche semplici si ottengono significativi miglioramenti rispetto al caso senza migrazione. Politiche più sofisticate, ad esempio muovere il processo più a lungo in attesa, non migliorano tanto sensibilmente la situazione da controbilanciare la complicazione introdotta.

 

 


Back
Index
Next