PDES: Time Warp Mechanism Computing Global Virtual Time

Slides:



Advertisements
Similar presentations
Parallel Discrete Event Simulation Richard Fujimoto Communications of the ACM, Oct
Advertisements

Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Authored by: Seth Gilbert and Nancy Lynch Presented by:
Parallel and Distributed Simulation Global Virtual Time - Part 2.
Time Warp: Global Control Distributed Snapshots and Fossil Collection.
Parallel and Distributed Simulation Time Warp: Basic Algorithm.
Parallel and Distributed Simulation Lookahead Deadlock Detection & Recovery.
Lookahead. Outline Null message algorithm: The Time Creep Problem Lookahead –What is it and why is it important? –Writing simulations to maximize lookahead.
Optimistic Parallel Discrete Event Simulation Based on Multi-core Platform and its Performance Analysis Nianle Su, Hongtao Hou, Feng Yang, Qun Li and Weiping.
Other Optimistic Mechanism, Memory Management. Outline Dynamic Memory Allocation Error Handling Event Retraction Lazy Cancellation Lazy Re-Evaluation.
Parallel and Distributed Simulation Time Warp: Other Mechanisms.
1 Causality. 2 The “happens before” relation happens before (causes)
Time Management in the High Level Architecture. Outline Overview of time management services Time constrained and time regulating federates Related object.
Termination Detection. Goal Study the development of a protocol for termination detection with the help of invariants.
Parallel and Distributed Simulation Time Warp: State Saving.
1 Complexity of Network Synchronization Raeda Naamnieh.
CMPT 431 Dr. Alexandra Fedorova Lecture VIII: Time And Global Clocks.
Seven O’Clock: A New Distributed GVT Algorithm using Network Atomic Operations David Bauer, Garrett Yaun Christopher Carothers Computer Science Murat Yuksel.
Distributed Process Management
Parallel and Distributed Simulation Object-Oriented Simulation.
Election Algorithms and Distributed Processing Section 6.5.
Time Warp OS1 Time Warp Operating System Presenter: Munehiro Fukuda.
Broadcast & Convergecast Downcast & Upcast
Introduction To Time Management Siddharth Misra Background  Distributed Simulation which is nothing but simulation on LAN became a popular tool for.
Parallel and Distributed Simulation FDK Software.
Synchronous Algorithms I Barrier Synchronizations and Computing LBTS.
Hardware Supported Time Synchronization in Multi-Core Architectures 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan,
Parallel and Distributed Simulation Hardware Platforms Simulation Fundamentals.
A Survey of Rollback-Recovery Protocols in Message-Passing Systems.
Parallel and Distributed Simulation Synchronizing Wallclock Time.
Time Warp State Saving and Simultaneous Events. Outline State Saving Techniques –Copy State Saving –Infrequent State Saving –Incremental State Saving.
Parallel and Distributed Simulation Memory Management & Other Optimistic Protocols.
1 Blue Gene Simulator Gengbin Zheng Gunavardhan Kakulapati Parallel Programming Laboratory Department of Computer Science.
A Fault Tolerant Protocol for Massively Parallel Machines Sayantan Chakravorty Laxmikant Kale University of Illinois, Urbana-Champaign.
Winter, 2004CSS490 Synchronization1 Textbook Ch6 Instructor: Munehiro Fukuda These slides were compiled from the textbook, the reference books, and the.
Time Parallel Simulations I Problem-Specific Approach to Create Massively Parallel Simulations.
Chapter 7 - Interprocess Communication Patterns
High Level Architecture Time Management. Time management is a difficult subject There is no real time management in DIS (usually); things happen as packets.
Efficient Algorithms for Distributed Snapshots and Global Virtual Time Approximation Author: Friedermann Mattern Presented By: Shruthi Koundinya.
Timewarp Rigid Body Simulation Brian Mirtich. Simulation Discontinuities “Events that change the dynamic states or the equations of motion of some subset.
Clock Synchronization (Time Management) Deadlock Avoidance Using Null Messages.
Parallel and Distributed Simulation Deadlock Detection & Recovery: Performance Barrier Mechanisms.
Parallel and Distributed Simulation Deadlock Detection & Recovery.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
PDES Introduction The Time Warp Mechanism
Parallel and Distributed Simulation
Parallel Programming By J. H. Wang May 2, 2017.
Global state and snapshot
Parallel and Distributed Simulation Techniques
EEC 688/788 Secure and Dependable Computing
Vemund Reggestad DASIA 20/06/2011 Paper authors:
CSE 486/586 Distributed Systems Global States
CPSC 531: System Modeling and Simulation
Chapter 7 Deadlock.
CPU Scheduling G.Anuradha
Timewarp Elias Muche.
EECS 498 Introduction to Distributed Systems Fall 2017
Inter Process Communication (IPC)
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Parallel and Distributed Simulation
EEC 688/788 Secure and Dependable Computing
Typically for using the shared memory the processes should:
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
The End Of The Line For Static Cyclic Scheduling?
CSE 486/586 Distributed Systems Global States
Parallel Exact Stochastic Simulation in Biochemical Systems
Presentation transcript:

PDES: Time Warp Mechanism Computing Global Virtual Time Advanced Simulation PDES: Time Warp Mechanism Computing Global Virtual Time

Outline GVT Computations: Introduction Computing Global Virtual Time Synchronous vs. Asynchronous GVT vs. LBTS Computing Global Virtual Time Transient Message Problem Simultaneous Reporting Problem Samadi Algorithm Message Acknowledgements Marked Acknowledgment Messages

Global Virtual Time Problems: Observations: Need to Fossil Collect: The Time Warp algorithm consumes more and more memory throughout the execution via the creation of new events. Need to reclaim memory used for processed events, anti-messages, and the state history that is no longer needed. Need a mechanism for operations that cannot be rolled back, e.g. I/O cannot be un-done. Observations: TWLPs only roll back as a result of receiving a message. Positive messages can only be created by an unprocessed or partially processed message.

Global Virtual Time GVT(t): minimum time stamp among all unprocessed or partially processed messages at wallclock time t. Computing GVT trivial if an instantaneous snapshot of the computation could be obtained: compute minimum time stamp among: Unprocessed events & anti-messages within each LP Transient messages (messages sent before time t that are received after time t) Memory associated with events with a TS equal to GVT cannot be reclaimed because GVT could be equal to the TS of an anti-message that has not been processed. Such an anti-message could require one to roll back events with time stamp exactly equal to GVT.

GVT = unprocessed anti-message 3. Annihilate message and antimessage 42 anti-message arrives processed events 27 42 42 55 unprocessed events snapshot LP state 33 57 anti-messages 2. send anti-message Events with time stamps equal to GVT is needed: GVT is 42, and There are two processed events with TS 42. In the first the TWLP processed is canceled by an anti-message with time stamp equal to GVT.

Global Virtual Time GVT(t): minimum time stamp among all unprocessed or partially processed messages at wallclock time t. Computing GVT trivial if an instantaneous snapshot of the computation could be obtained: compute minimum time stamp among: Unprocessed events & anti-messages within each LP Transient messages (messages sent before time t that are received after time t) Synchronous vs. Asynchronous GVT computation Synchronous GVT algorithms: LPs stop processing events once a GVT computation has been detected Asynchronous GVT algorithms: LPs can continue processing events and schedule new events while the GVT computation proceeds “in background”

GVT vs. LBTS GVT algorithms can be used to compute LBTS and vice versa (assuming a fully connected topology and zero lookahead). Both determine the minimum time stamp of messages (or anti-message) that may later arrive Historically, developed separately Often developed using different assumptions (lookahead, topology, etc.) Time Warp Latency to compute GVT typically less critical than the latency to compute LBTS (need to compute LBTS often). Asynchronous execution of GVT computation preferred to allow optimistic event processing to continue

Asynchronous GVT An incorrect GVT algorithm: Difficulties: Controller process: broadcast “compute GVT request” upon receiving the GVT request, each process computes its local minimum and reports it back to the controller Controller computes global minimum, broadcast to others Difficulties: transient message problem: messages sent, but not yet received must be considered in computing GVT simultaneous reporting problem: different processors report their local minima at different points in wallclock times, leading to an incorrect GVT value

The Transient Message Problem Transient message: A message that has been sent, but has not yet been received at its destination Erroneous values of GVT may be computed if the algorithm does not take into account transient messages GVT= min(100, 200) GVT request GVT process report 100 report 200 GVT=100 process ts=90 message here Process 1 ts=90 Process 2 wallclock time

Transient Messages: A Solution Approach: Ensure every message is accounted for by at least one processor when GVT is being computed: Send an acknowledgement message for each message. Sender reports minimum of any unacknowledged messages. Receiver takes responsibility as it receives message. GVT= min(100, 90) GVT request GVT process report 100 report Min(200,90) GVT=90 process ts=90 message here Process 1 ts=90 Process 2 Sender is responsible for unacknowledged messages wallclock time

Simultaneous Reporting Problem Erroneous values of GVT may be computed when processes receive GVT request at different point in time. GVT= min(100) GVT request GVT process GVT= 100 Process 1 report 100 ts=90 Process 2 processes an event with TS 200 after receiving acknowledgment report 200 wallclock time Process 1 doesn’t account for time stamp 90 message Process 2 assumes process 1 will account for the message Do message acknowledgements solve this problem? No, at least not by themselves Solution: Mark acks that are sent after local min has been reported

Samadi’s Algorithm Approach: Send an ack for each event & anti-message received, mark acks after the processor has reported its local minimum Controller broadcast “start GVT” message Each processor reports minimum time stamp among among (1) local messages, (2) unacknowledged sent messages, (3) marked acks that were received subsequent acks sent by process are marked until new GVT is received controller computes global minimum as GVT value, broadcasts new GVT. GVT= min(100,90) start GVT GVT process GVT= 90 marked acks Process 1 report 100 ts=90 marked acks Process 2 marked ack @ 90 report 90 wallclock time

Summary Global Virtual Time Samadi Algorithm Similar to lower bound on time stamp (LBTS) Time Warp: GVT usually not as time critical as LBTS Asynchronous GVT computation highly desirable to avoid unnecessary blocking Samadi Algorithm Transient message problem: Message acknowledgements Simultaneous reporting problem: Mark acknowledgements sent after reporting local minimum Requires acknowledgements on event messages