Answers are grounded in this paper and cite their sources.
Today, distributed systems are typically designed to be largely asynchronous. Designers assume that the network can drop or significantly delay messages at unpredictable times, that there is no way to know how quickly a node might process a message, or how soon it might respond, and that the clocks of different nodes are at most loosely synchronized. These assumptions are certainly safe, but they come at a price: many applications really do need predictable performance, which, on top of an asynchronous system, has to be approximated at great cost and with lots of redundancy, and many distributed protocols for asynchronous systems are much more complex and expensive than their synchronous counterparts.
No takes yet. Share an insight, caveat, or question.
Tian et al. (2019) studied this question.
Synapse has enriched 8 closely related papers on similar clinical questions. Consider them for comparative context: