Parallel and Distributed Simulation Techniques
170 likes | 330 Views
Parallel and Distributed Simulation Techniques. Achieving speedups in model execution. Optimist mechanisms. Detect and recover causality errors. Exploit parallelism in the cases when no error occurs.
Parallel and Distributed Simulation Techniques
E N D
Presentation Transcript
Parallel and Distributed Simulation Techniques Achieving speedups in model execution
Optimist mechanisms • Detect and recover causality errors. • Exploit parallelism in the cases when no error occurs. • When a non-causal message (straggler message) is received, all the messages with timestamp higher are deleted: Rollback. • This event should be transmitted to the Logical Processes involved.
Time Warp Algorithm • message: transmission/reception timestamp. • Local clock (LVT): smallest reception timestamp of all the non-processed messages. • The process advances while there are messages. • messages representing events: positive. • negative messages (antimessages): carries information about a straggler. • Antimessage of a non-processed positive message: both should be eliminated. Processed: the previous state is restored, the antimessage is retransmitted.
Time Warp – Processing antimessages Vars: LVT, present state, state queue. If antimessage before the message store in the input queue; If T(possitive and antimessage)`>LVT : annihilate If T(antimessage) < LVT : rollback. Local state = last state with time smaller than the antimessage. Destroy message and antimessage
Fossil Collection • GVT: Minimum of LVTs + transmission times of messages sent and not processed. • Events with timestamp < GVT can be deleted. • Compromise between use of memory and overhead.
Lazy cancellation • Aggressive cancellation: rollback to time T; instantaneous messages. • Lazy cancellation: analyze if the result of the new computed message is the same than the previous one. In that case: do not send antimessage. • Lookahead properties without need to be programmed.
Analysis of optimistic algorithms • (+) Higher speedups • (+) Provide lookahead • (+) Do not require extra information given by the programmers • (+) No deadlock (GVT advances). • (-) Computing GVT. • (-) Memory overhead.
Parallel CD++ • A tool to execute Parallel DEVS and Parallel Cell-DEVS models in parallel/distributed environments • Layered architecture based on Warped Parallel CD++ Warped MPI (Message Passing Interface)
xb(5) yb(3) s’ = d ext (s,e,xb) (6a) s’ = d conf (s,e,xb) (6b) l (s) (2) s’ = d int (s) (4) s ta(s) (1) Parallel DEVS Atomic Models DEVS = < Xb, S, Yb, dint , dext , dconf , ta, l >
yb(3) l (s) (2) s’ = d int (s) (4) s ta(s) (1) Parallel DEVS Atomic models DEVS = < Xb, S, Yb, dint , dext , dconf , ta, l >
xb(5) s’ = d ext (s,e,xb) (6a) s ta(s) (1) Parallel DEVS Atomic models DEVS = < Xb, S, Yb, dint , dext , dconf , ta, l >
xb(5) s’ = d conf (s,e,xb) (6b) s ta(s) (1) Parallel DEVS Atomic models DEVS = < Xb, S, Yb, dint , dext , dconf , ta, l >
RADS (Carleton University) • Alpha network and Gamma network