26.08.2013 Views

3.1 MB - Evernote

3.1 MB - Evernote

3.1 MB - Evernote

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.5.1 Conservative Algorithms<br />

11<br />

Fundamental Concepts<br />

Conservative algorithms prevent that causal dependent events are executed out of order<br />

by executing only “safe” events [12]. An LP will consider an event to be “safe” if it is<br />

guaranteed that the LP cannot later receive an event with an earlier time stamp. The<br />

main task of conservative algorithms is to provide such guarantees so that LPs can<br />

determine which of the events are guaranteed and can be executed.<br />

Definition: guaranteed event<br />

An event e with the timestamp t which is to be executed in LPi is called guaranteed<br />

event if LPi knows all events with a timestamp t’ < t that it will need to execute during<br />

the whole simulation.<br />

One drawback of conservative algorithms is that LPs will have to wait or block if they<br />

don’t have any “safe” events. This can even lead to deadlocks where all LPs are waiting<br />

for guarantees so that they can execute their events. Many of the conservative<br />

algorithms also require additional information about the simulation model like the<br />

communication topology 1 or lookahead 2 information. Further details about conservative<br />

algorithms can be found in [12], [34].<br />

2.5.2 Optimistic Algorithms<br />

Optimistic algorithms allow causal dependent events to be executed out of order first<br />

but they provide mechanisms to later recover from possible violations of the causal<br />

order. The best-known and most analysed optimistic algorithm is Time Warp [16] on<br />

which many other optimistic algorithms are based. In Time Warp an LP will first<br />

execute all events in its local event list but if it receives an event from another LP with a<br />

time stamp smaller than the ones already executed then it will rollback all its events that<br />

should have been executed after the event just received. State checkpointing 3 (also<br />

1 describes which LP can send events to which other LP<br />

2 is the models ability to predict the future course of events [5]<br />

3 the state of the simulation is saved into a state list together with the current simulation<br />

time after the execution of each event or in other defined intervals

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!