26.08.2013 Views

3.1 MB - Evernote

3.1 MB - Evernote

3.1 MB - Evernote

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

24<br />

Parallel Transaction-oriented Simulation<br />

object read access events can be avoided if the LP that contains the object has passed<br />

the time of the read access. In this case the object value for the required point in<br />

simulation time could be read from the saved system state instead of rolling back the<br />

whole LP.<br />

Another even simpler solution to the problem of accessing objects in other LPs is to<br />

prevent the access of objects in other LPs all together, i.e. to allow only access to<br />

objects within the same LP. This sounds like a contradiction but by preventing one LP<br />

from accessing local objects in another LP the event that wants to access a particular<br />

object needs to be moved to the LP that holds that object. For the example from Figure<br />

7 this means that instead of synchronizing the object access from event e4 on LP2 to<br />

object o1 held by LP1 the event e4 is moved to LP1 that holds object o1 so that accessing<br />

the object can be performed as a local action. This solution reduces the problem to the<br />

general problem of moving events and synchronisation between LPs as solved by<br />

discrete event synchronisation algorithms (see section 2.5).<br />

4.1.3 Analysis of GPSS language<br />

A synchronisation strategy is a requirement for parallel discrete event simulation<br />

because LPs cannot predict the correct causal order of the events they will execute as<br />

they can receive further events from other LPs at any time. When applying discrete<br />

event synchronisation algorithms to transaction-oriented simulation based on GPSS/H it<br />

is first of interest to analyse which of the GPSS/H blocks 6 can actually cause the<br />

transfer of Transactions to another LP or which of them require access to objects that<br />

might be located at a different LP. Because Transactions usually move from one block<br />

to the next a transfer to a different LP can only be the result of a block that causes the<br />

execution of a Transaction to jump to a different block than the next following including<br />

blocks that can cause a conditional branching of the execution path. The following two<br />

tables list GPSS/H blocks that can change the execution path of a Transaction or that<br />

access other objects within the model.<br />

6 A detailed description of the GPSS/H language and its block types can be found in<br />

[26].

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

Saved successfully!

Ooh no, something went wrong!