170 likes | 320 Vues
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.
E N D
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