DocumentCode
2817532
Title
Is SC+ILP=RC?
Author
Guiady, C. ; Falsafi, Babak ; Vijaykumar, T.N.
Author_Institution
Dept. of Electr. & Comput. Eng., Purdue Univ., West Lafayette, IN, USA
fYear
1999
fDate
1999
Firstpage
162
Lastpage
171
Abstract
Sequential consistency (SC) is the simplest programming interface for shared-memory systems but imposes program order among all memory operations, possibly precluding high performance implementations. Release consistency (RC), however, enables the highest performance implementations but puts the burden on the programmer to specify which memory operations need to be atomic and in program order. This paper shows, for the first time, that SC implementations can perform as well as RC implementations if the hardware provides enough support for speculation. Both SC and RC implementations rely on reordering and overlapping memory operations for high performance. To enforce order when necessary, an RC implementation uses software guarantees, whereas an SC implementation relies on hardware speculation. Our SC implementation, called SC++, closes the performance gap because: (1) the hardware allows not just loads, as some current SC implementations do, but also stores to bypass each other speculatively to hide remote latencies, (2) the hardware provides large speculative state for not just processor, as previously proposed, but also memory to allow out-of-order memory operations, (3) the support for hardware speculation does not add excessive overheads to processor pipeline critical paths, and (4) well-behaved applications incur infrequent rollbacks of speculative execution. Using simulation, we show that SC++ achieves an RC implementation´s performance in all the six applications we studied
Keywords
application program interfaces; parallel architectures; performance evaluation; shared memory systems; high performance implementations; memory operations; out-of-order memory operations; performance implementations; processor pipeline critical paths; programming interface; release consistency; reordering; sequential consistency; shared-memory systems; software guarantees; Computational modeling; Computer interfaces; Delay; Hardware; High performance computing; Microprocessors; Out of order; Pipelines; Programming profession; World Wide Web;
fLanguage
English
Publisher
ieee
Conference_Titel
Computer Architecture, 1999. Proceedings of the 26th International Symposium on
Conference_Location
Atlanta, GA
ISSN
1063-6897
Print_ISBN
0-7695-0170-2
Type
conf
DOI
10.1109/ISCA.1999.765948
Filename
765948
Link To Document