The key to conservative PDES is to make sure no causality error
will occur before processing an event. Different strategies exist.
Statically specify the links that indicate which processes may
communicate with which other processes. An LP can send messages
only to specified LPs.
E.g.: when simulating the operation of a number of airports with
airplanes taking-off and landing, we may speicify that airplanes
take off from A can only land on B and C. This way we have a fixed
link.
Messages arriving on each incoming link are stored in FIFO
order for the LP to process. Each of the incoming links maintains
a clock that is equal to either the timestamp of the message at
the head of the queue if the queue is not empty, or the timestamp
of the last received message if the queue is empty.
The LP repeatedly selects the link with the samllest clock and,
if there is a message in that link's queue, processes it.
If the selected queue is empty, the process blocks.
The above protocol guarantees that each process will only process
events in non-decreasing timestamp order, thereby ensuring adherence
to the local causality constraint.
Problems: if a cycle of empty queues arises that all have
small clock value, each process in the cycle must block, and the simulation
deadlocks. (See Figure 2 on page 34 of Fujimoto's 1990 CACM paper).
To solve this problem, a null message is utilized. An LP
sends messages to all of its out-going links in a round-robin fashion.
If at a time the LP doesn't have a message for on particular out-going
link, a null message with timestamp is sent to that link.
Doing so guarantees that the receiving LP will not have to block, thus
deadlock is avoided.
The null message from with timestamp
essentially tells
the reciving process that will not send events in the future
to other LPs with timestamp smaller than .
How to compute ? is the minimum of all
incoming links timestamp and first event's timestamp on LP's own event list.
This protocol works correctly. However, it generates large number
of null messages, thus waste of processing time.
Large amount of work has been done to improve the performance
of conservative approach to PDES.