• 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