A computer-implemented method for performing a time-triggered distribution of messages from a region of networked machines to multiple destinations, the method comprising: running a software-based synchronization process to synchronize each of a plurality of gateways with a reference clock (245, 640), wherein each gateway is a machine on a perimeter of the region of networked machines and is connected to transmit messages to multiple destinations, wherein the software-based synchronization process comprises: exchanging probes between pairs of machines, wherein the machines exchanging probes include the gateways; for different pairs of machines, estimating an offset between the pair of machines based on the transit times of probes exchanged between the pair of machines; wherein the transit time is based on a transmit timestamp from the machine transmitting the probe and a receive timestamp from the machine receiving the probe, and one of the machines produces timestamps based on the reference clock (245, 640); for different loops of at least three machines, calculating a loop offset error, which is defined as the sum of the estimated offsets between pairs of machines around the loop; and adjusting estimated absolute offsets of the machines based on the loop offset errors, wherein the absolute offset of a machine is defined relative to the reference clock (245, 640); the gateways receiving messages from within the region of networked machines for distribution to multiple destinations outside the region of networked machines according to a distribution schedule based on absolute time relative to the reference clock (245, 640); the gateways performing the distribution of the received messages, wherein each gateway determines absolute time based on that gateway's synchronization with the reference clock (245, 640), and the gateways each receiving instructions from a coordinator device including the distribution schedule; wherein the coordinator assigns a given machine to be part of multiple loops when assigning pairs, and wherein some of the loops include the reference clock (245, 640). running a software-based synchronization process to synchronize each of a plurality of gateways with a reference clock (245, 640), wherein each gateway is a machine on a perimeter of the region of networked machines and is connected to transmit messages to multiple destinations, wherein the software-based synchronization process comprises: exchanging probes between pairs of machines, wherein the machines exchanging probes include the gateways; for different pairs of machines, estimating an offset between the pair of machines based on the transit times of probes exchanged between the pair of machines; wherein the transit time is based on a transmit timestamp from the machine transmitting the probe and a receive timestamp from the machine receiving the probe, and one of the machines produces timestamps based on the reference clock (245, 640); for different loops of at least three machines, calculating a loop offset error, which is defined as the sum of the estimated offsets between pairs of machines around the loop; and adjusting estimated absolute offsets of the machines based on the loop offset errors, wherein the absolute offset of a machine is defined relative to the reference clock (245, 640); exchanging probes between pairs of machines, wherein the machines exchanging probes include the gateways; for different pairs of machines, estimating an offset between the pair of machines based on the transit times of probes exchanged between the pair of machines; wherein the transit time is based on a transmit timestamp from the machine transmitting the probe and a receive timestamp from the machine receiving the probe, and one of the machines produces timestamps based on the reference clock (245, 640); for different loops of at least three machines, calculating a loop offset error, which is defined as the sum of the estimated offsets between pairs of machines around the loop; and adjusting estimated absolute offsets of the machines based on the loop offset errors, wherein the absolute offset of a machine is defined relative to the reference clock (245, 640); the gateways receiving messages from within the region of networked machines for distribution to multiple destinations outside the region of networked machines according to a distribution schedule based on absolute time relative to the reference clock (245, 640); the gateways performing the distribution of the received messages, wherein each gateway determines absolute time based on that gateway's synchronization with the reference clock (245, 640), and the gateways each receiving instructions from a coordinator device including the distribution schedule; wherein the coordinator assigns a given machine to be part of multiple loops when assigning pairs, and wherein some of the loops include the reference clock (245, 640).