Answers are grounded in this paper and cite their sources.
Many applications perform frequent scatter update operations to large data structures. For example, in push-style graph algorithms, processing each vertex requires updating the data of all its neighbors. Neighbors are often scattered over the whole graph, so these scatter updates have poor spatial and temporal locality. In current systems, scatter updates suffer high synchronization costs and high memory traffic. These drawbacks make push-style execution unattractive, and, when algorithms allow it, programmers gravitate towards pull-style implementations based on gather reads instead.
No takes yet. Share an insight, caveat, or question.
Mukkara et al. (2019) studied this question.
Synapse has enriched 8 closely related papers on similar clinical questions. Consider them for comparative context: