Restructuring a parallel simulation to improve cache behavior in a shared-memory multiprocessor
David R. Cheriton, Hendrik A. Goosen, Hugh W. Holbrook, Philip Machanick · 1993
Synchronization is a significant cost in many parallel programs, and can be a major bottleneck if it is handled in a centralized fashion using traditional shared-memory constructs such as barriers. In a parallel time-stepped simulation, the use of global synchronization primitives limits scalability, increases the sensitivity to load imbalance, and reduces the potential for exploiting locality to improve cache behavior.