• Non ci sono risultati.

Simulazione Parallela e Distribuita

N/A
N/A
Protected

Academic year: 2021

Condividi "Simulazione Parallela e Distribuita"

Copied!
13
0
0

Testo completo

(1)

Simulazione Parallela e Distribuita

Approccio conservativo: approfondimenti

Gabriele D’Angelo g

gda@cs.unibo.it

http://www.cs.unibo.it/~gdangelo

Dipartimento di Scienze dell’Informazione

Università degli Studi di Bologna g g

(2)

Sommario

„

Messaggi “null”, forma standard

„

Problemi dell’algoritmo standard

„

Variazione del CMB: “null” su richiesta

„

Lookahead

„

Definizione ed importanza

„

Modifica del valore: incremento, decremento

„

Deadlock Detection e Recovery (Chandy/Misra)

„

Deadlock Detection e Recovery (Chandy/Misra)

Simulazione Parallela e Distribuita 2

© 2007 Gabriele D’Angelo

(3)

Algoritmo basato su messaggi “null”

WHILE ( i l ti i t ) WHILE (simulation is not over)

wait until each FIFO contains at least one message remove smallest time stamped event from its FIFO remove smallest time stamped event from its FIFO process that event

send null messages to neighboring LPs with time stamp indicating a lower bound on future messages sent to that LP (current time plus minimum transit time between airports)

END-LOOP END LOOP

Variazione: gli LP richiedono esplicitamente un messaggio “null” quando una delle code diventa vuota

una delle code diventa vuota

• meno messaggi da spedire e processare

• incremento del tempo di sincronizzazione p

(4)

Problemi dell’algoritmo

ORD (attesa su

7

Messaggi “null”:

7

(attesa su

SFO) JFK: timestamp = 5.5

6.0

SFO: timestamp = 6.0 7.5 6 5

JFK (attesa su

1510

5.5

6.5

ORD: timestamp = 6.5

7.0 JFK: timestamp = 7.0

9 8

( SFO ORD)

(attesa su JFK)

SFO: timestamp = 7.5 ORD: processa il messaggio con TS 7

0 5

Sono necessari 5 messaggi “null” per un solo evento

messaggio con TS=7

Ritardo minimo tra gli aeroporti: 3 unità di tempo JFK ha inizialmente tempo 5

0.5

Simulazione Parallela e Distribuita 4

© 2007 Gabriele D’Angelo

Il numero dei messaggi “null” aumenta al ridursi

del tempo minimo di volo

(5)

Lookahead uguale a zero: livelock g

ORD

77

ORD (waiting on SFO) 5.0

JFK ( iti

1510

5.0

5.0 5.0

9 8

(waiting on ORD) SFO

(waiting on JFK) on JFK)

Livelock: ciclo senza fine di messaggi “null” attraverso i quali

LP è i d di il i i l

nessun LP è in grado di avanzare il proprio tempo simulato Nel sistema non possono esistere cicli con valore di lookahead

pa i a e o

pari a zero

(6)

Lookahead

L’algoritmo basato su messaggi “null” è fondato sulla capacità di di l di t d l i t Q t di t

di predire la distanza del prossimo evento. Questa distanza temporale è detta lookahead

„

ORD è a tempo simulato 5, il tempo minimo di comunicazione tra due aeroporti è fissato a 3, quindi il prossimo messaggio proveniente da ORD deve avere tempo minimo 8

Approfondimento:

„

Link Lookahead (associato ad ogni link uscente)

„

LP Lookahead (associato al logical process)

„

LP Lookahead (associato al logical process)

Link Lookahead e LP Lookahead sono equivalenti qualora il q q lookahead su tutti i link uscenti sia uguale

Simulazione Parallela e Distribuita 6

© 2007 Gabriele D’Angelo

(7)

Lookahead e modello simulato

Il Lookahead è dipendente dal modello simulato:

• può derivare da vincoli fisici del sistema simulato tempo minimo perchè

• può derivare da vincoli fisici del sistema simulato, tempo minimo perchè un’entità possa modificare lo stato di un’altra (es. tempo di volo di un aereo, velocità di un proiettile ecc.)

• può derivare da caratteristiche delle entità simulate (es nella simulazione non

• può derivare da caratteristiche delle entità simulate (es. nella simulazione non esiste nessun evento che possa modificare il comportamento di una certa entità per un determinato lasso di tempo futuro)

ò d i d i di t ll ( l’ t t è i d di

• può derivare da un margine di tolleranza (es. l’utente non è in grado di percepire differenze temporali di entità inferiore ad un certo valore

• la simulazione può essere in grado di precalcolare la prossima interazione

h à l ll’i t d l i t è ffi i t

che avverrà, la conoscenza all’interno del sistema è sufficiente per avere un controllo preciso su quanto deve ancora avvenire (es. si seguono delle tracce prefissate di comportamento)

Le simulazioni time-stepped hanno un uso implicito del lookahead; gli

eventi a “tempo attuale” sono considerati come indipendenti (e quindi

concorrenti) i nuovi eventi generati si riferiscono a time-step futuri

concorrenti), i nuovi eventi generati si riferiscono a time step futuri

(8)

Importanza del Lookahead

Ogni LP deve processare gli eventi in ordine non decrescente

event

LP C

LP D messagio possibile

processabile

event

SENZA lookahead

LP B

LP C p

messaggio possibile processabile

CON lookahead

LP A NON processabile

processabile

LT +L Logical Time LT

A

Ogni Logical Process A, dichiara un valore di lookahead L

A

: il time stamp di ogni evento generato da LP deve essere ≥ LT + L

LT

A

+L

A

generato da LP deve essere ≥ LT

A

+ L

A

• Il lookahead è presente in modo “più o meno evidente” in tutti gli algoritmi di sincronizzazione pessimistici (detti anche conservativi)

Simulazione Parallela e Distribuita 8

© 2007 Gabriele D’Angelo

Il lookahead è necessario per l’elaborazione concorrente dei messaggi con

time-stamp diverso: grosso impatto sulle prestazioni!

(9)

Modificare il valore del lookahead

„

Incremento

„

Nessun problema, la modifica può essere immediata p p

„

Decremento d

„

I diritti acquisiti vanno garantiti

„

Il decremento non può essere immediato

„

Se un LP si trova a tempo simulato 10 e lookahead pari a 5

„

Se un LP si trova a tempo simulato 10 e lookahead pari a 5, allora ha garantito che il suo messaggio successivo avrà

tempo minimo 15

„

Se il lookahead fosse immediatamente decrementato ad 1

„

Se il lookahead fosse immediatamente decrementato ad 1, potrebbe generare un evento con time stamp pari a 11

„

Il lookahead può essere decrementato di K unità di tempo

solo dopo che per l’LP è trascorso un tempo simulato di

solo dopo che per l’LP è trascorso un tempo simulato di

lunghezza minima pari a K

(10)

Esempio

„

SFO: tempo simulato = 10, lookahead = 5

„

Tempo minimo per gli eventi futuri ≥ 15 Tempo minimo per gli eventi futuri ≥ 15

„

SFO: richiede una riduzione del lookahead ad 1

7 17

5 4 3 6

Lookahead

7

15 14 13

16 Tempo minimo per gli eventi

17

3 2

1 11

13

12 futuri

LP clock

10 15

Simulazione Parallela e Distribuita 10

© 2007 Gabriele D’Angelo

(11)

Deadlock Detection & Recoveryy

Algoritmo eseguito in maniera indipendente da ogni LP

WHILE (simulation is not over)

wait until each FIFO contains at least one message remove smallest time stamped event from its FIFO process that event

END LOOP END-LOOP

„

Non ci sono messaggi “null”

„

La simulazione procede fino al deadlock a s u a o e p ocede o a dead oc

„

Meccanismo per rilevare il deadlock

„

Meccanismo per il recovery dal deadlock

(12)

Deadlock Recoveryy

Deadlock recovery: indentificare un evento “safe” che può essere processato senza violare la causalità del sistema

p

DEADLOCK! ORD

7

(attesa da

Assumiamo tempo minimo “di volo” = 3

(attesa da SFO)

JFK (attesa da

ORD)

10

SFO (attesa da

Quali eventi sono “safe”?

9 8

ORD) (attesa da

JFK)

• Time stamp 7: evento “minimo” presente nel sistema

• Time stamp 8, 9: sono “safe” grazie al lookahead

Simulazione Parallela e Distribuita 12

© 2007 Gabriele D’Angelo

• Time stamp 10: è “safe” anche questo evento

(13)

Simulazione Parallela e Distribuita

Approfondimenti sul Lookahead

Gabriele D’Angelo g

gda@cs.unibo.it

http://www.cs.unibo.it/~gdangelo

Dipartimento di Scienze dell’Informazione

Università degli Studi di Bologna g g

Riferimenti

Documenti correlati

Sul piano prettamente pratico, invece, puoi ritagliarti del tempo per l’esercizio cardio che, come ormai ben sai, richiede più tempo, nelle giornate meno ricche di impegni e

del provvedimento di estremi ignoti della Commissione ( di cui all'art.12 del bando di selezione per la definizione delle istanze di opposizione alle

Hanno una distribuzione della ricchezza che non ha più la forma a campana con pochi poveri e pochi ricchi, ma quella dell’elefante con tanti poveri e pochi

Due amici decidono di fare una gara, partendo simultaneamente dagli estremi opposti di una pista lunga 100 m. Il primo percorre la parte iniziale della pista alla velocità

Come anticipato nell’introduzione, una condanna penale diventa definitiva solamente dopo che siano terminati tutti i gradi di giudizio: in pratica, solo dopo la sentenza

il ricorso deve essere dichiarato inammissibile ed il ricorrente condannato al pagamento delle spese processuali e, non sussistendo ragioni di esonero, della sanzione pecuniaria di

Non è un caso che il sistema complesso di responsabilità sanitaria cerchi di prendere in considerazione i diversi livelli qualitativi delle strutture che erogano le prestazioni per

6: Il medico fonda l’esercizio delle proprie compe- tenze tecnico-professionali sui principi di efficacia e di appropria- tezza; il 13: le prescrizioni medi- che, oltre ad