Parallel and high-performance computing

At the end of each simulation timestep, every worker must finish its current chunk before any worker begins the next timestep. Which synchronization primitive most directly expresses this requirement?