Barrier synchronization is a useful parallel programming construct for ensuring that all processors are at a particular location in the code before any processor is allowed to continue. Barrier synchronization is integral to programming models such as the Bulk Synchronous Parallel model. Specialized hardware is often used to improve the performance of a barrier synchronization operation. With continued improvement in processor performance, more efficient synchronization mechanisms are required to counter the rising relative cost of synchronization operations. A high-speed, distributed barrier synchronization mechanism has been developed for broadcast-based optical interconnection networks. This mechanism avoids multiple conversions between optical and electrical signals by having each processor locally decide whether the barrier in which it is participating has been satisfied. It also allows arbitrary sized partitions to be built dynamically during the execution of a program. Simulations of the current hardware design estimate that the barrier synchronization requires less than 300 ns for a 128-processor system.
[1]
Umakishore Ramachandran,et al.
A Distributed Hardware Barrier in an Optical Bus-Based Distributed Shared Memory Multiprocessor
,
1992,
ICPP.
[2]
Henry G. Dietz,et al.
Dynamic Barrier Architecture for Multi-Mode Fine-Grain Parallelism Using Conventional Processors
,
1994,
1994 International Conference on Parallel Processing Vol. 1.
[3]
Ronan Keryell,et al.
Activity Counter: New Optimization for the dynamic scheduling of SIMD Control Flow
,
1993,
1993 International Conference on Parallel Processing - ICPP'93.
[4]
Rhonda Kay Gaede,et al.
The simultaneous optical multiprocessor exchange bus
,
1995,
Proceedings of Second International Workshop on Massively Parallel Processing Using Optical Interconnections.
[5]
Isaac D. Scherson,et al.
Efficient techniques for fast nested barrier synchronization
,
1995,
SPAA '95.
[6]
Leslie G. Valiant,et al.
A bridging model for parallel computation
,
1990,
CACM.