The exploitation of the inherent parallelism in applications written for shared-memory systems depends critically on the efficiency of the synchronization and data exchange primitives provided by the hardware. The authors discuss and analyze such primitives as they are implemented in the Scalable Coherent Interface (SCI). The SCI synchronization primitives are based on QOLB, a hardware primitive that shows much promise for reducing/eliminating the synchronization and access latencies of shared data. Introducing finer-grained programs in the absence of such latency reduction will have little or no benefit. In particular, the authors discuss how QOLB fits the underlying linked-list cache coherence protocol of SCI. They also show how, for some important scenarios (critical sections and pairwise-sharing, the QOLB primitives in SCI can greatly reduce data communication latencies. >
['Nagi M. Aboulenein', 'James R. Goodman', 'Stein Gjessing', 'Philip J. Woest']
Hardware support for synchronization in the Scalable Coherent Interface (SCI)