In the implementation of the protocol, each host processor executes the following loop until the simulation terminates: Simulate the next simulation quantum of each LP assigned to that processor (in any order); synchronize with all other host processors.
Sequential simulation engines e.g. Proteus[BDC91] and Tango[DGH91], and parallel simulation engines e.g Wisconsin Wind Tunnel[RHL93] and SimOS[Sim], use the quantum protocol. Since the quantum protocol requires frequent global synchronizations when executed as a safe protocol, it is not efficient, especially when executed in parallel, when synchronization overheads tend to dominate the execution time of the simulation. Consequently, many simulation engines also execute the quantum protocol in an unsafe manner i.e. with the simulation quantum, Q, greater than the minimum message passing latency, L, of the target machine. Consequently, simulations are efficient, but might make significantly incorrect predictions. Additionally, parallel executions of the unsafe quantum protocol may not be repeatable: different runs of the same simulator might have different target traces.