As processes can take a long time to reply, can fail, or even simply leave the network during execution
of the system, the communication between processes is uncertain. To take into account this
uncertainty, the literature uses an underlying model that considers:
Latency: the time required to transmit a message.
Computation: the time for a process to execute a step.
Synchronous model: there exists a known finite time bound δ on latency, and there
exists a known finite bound ϕ on computation.
Asynchronous model: there are no bounds on latency neither on computation a process
takes.
Partially synchronous model: this model stands between the two previous models. It
assumes the existence of a bound δ on latency and a bound ϕ on computation [DLS88],
but their values are unknown. It considers that both bounds δ and ϕ exist, but only after
a time t called Global Stabilization Time (GST). Before GST, no bounds exist, such as
the system is unstable and behaves asynchronously, and after the GST, both bounds exist
such as the system became stable and behaves synchronously.
Among these three timing models, synchronous systems are included in partially synchronous
systems, which are included in asynchronous systems, as shown in 2.1 [Cam20].
Figure 2.1: Representation of the three main timing models.
Note that there exist many other intermediate models between the synchronous and asynchronous
models.
The different types of temporal models are summarized in 2.1.