Edinburgh Research Explorer

Efficient sequential consistency via conflict ordering

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Original languageEnglish
Title of host publicationProceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems
Place of PublicationNew York, NY, USA
PublisherACM
Pages273-286
Number of pages14
ISBN (Print)978-1-4503-0759-8
DOIs
StatePublished - 2012

Publication series

NameASPLOS '12
PublisherACM

Abstract

Although the sequential consistency (SC) model is the most intuitive, processor designers often choose to support relaxed memory consistency models for higher performance. This is because SC implementations that match the performance of relaxed memory models require post-retirement speculation and its associated hardware costs. In this paper we propose an efficient approach for enforcing SC without requiring post-retirement speculation. While prior SC implementations guarantee SC by explicitly completing memory operations within a processor in program order, we guarantee SC by completing conflicting memory operations, within and across processors, in an order that is consistent with the program order. More specifically, we identify those conflicting memory operations whose ordering is critical for the maintenance of SC and explicitly order them. This allows us to safely (non-speculatively) complete memory operations past pending writes, thus reducing memory ordering stalls. Our experiments with SPLASH-2 programs show that SC can be achieved efficiently, with performance comparable to RMO (relaxed memory order).

ID: 3566706