Computer systems commonly include multiple processing components. Many computer applications span multiple “tenants” (multi-threaded, multi-process, clustered, multi-data-center, etc.). The multiple components may receive the same operations or instructions to execute. Problems may arise if the order of operations between two processing components can differ, leading to different states for the two processing components.
To alleviate this, systems may run order-critical processes, or portions thereof, through a single system component. Or systems may replicate the end state out to redundant (backup) components. However, these types of architecture may limit the maximum throughput of the system to the shortest time the single system component can process an operation and then replicate its state to its peer machines.
Moreover, redundant computer systems may depend on time/temporal based/controlled coordination to attempt to ensure that multiple components perform events or operations at the same (real) time, or in the same order. However, computer system clocks are susceptible to drift where the clock of one computer/processor may operate at a different, i.e. faster or slower, rate than the clock of another computer/processor. Thus, it can become difficult to ensure that different components perform time-based tasks concurrently or in the same or desired order.
A single component may be used to deterministically control ordering and timing signals. However, the single component may be logically or physically separated from computers that submit messages to the exchange computing system. Other components that process the messages and compute data may need to communicate with, or receive messages and data from, the single component. Ordering the messages at the single component, processing the messages and transmitting response messages, which may be larger in size than the incoming messages, back to the submitting computers may increase latency and decrease throughput, especially when the submitting computer and the ordering component are logically and/or physically remote.