• DocumentCode
    2000914
  • Title

    Conditional Memory Ordering

  • Author

    Von Praun, Christoph ; Cain, Harold W. ; Choi, Jong-Deok ; Ryu, Kyung Dong

  • Author_Institution
    IBM TJ Watson Res. Center, Yorktown Heights, NY
  • fYear
    0
  • fDate
    0-0 0
  • Firstpage
    41
  • Lastpage
    52
  • Abstract
    Conventional relaxed memory ordering techniques follow a proactive model: at a synchronization point, a processor makes its own updates to memory available to other processors by executing a memory barrier instruction, ensuring that recent writes have been ordered with respect to other processors in the system. We show that this model leads to superfluous memory barriers in programs with acquire-release style synchronization, and present a combined hardware/software synchronization mechanism called conditional memory ordering (CMO) that reduces memory ordering overhead. CMO is demonstrated on a lock algorithm that identifies those dynamic lock/unlock operations for which memory ordering is unnecessary, and speculatively omits the associated memory ordering instructions. When ordering is required, this algorithm relies on a hardware mechanism for initiating a memory ordering operation on another processor. Based on evaluation using a software-only CMO prototype, we show that CMO avoids memory ordering operations for the vast majority of dynamic acquire and release operations across a set of multithreaded Java workloads, leading to significant speedups for many. However, performance improvements in the software prototype are hindered by the high cost of remote memory ordering. Using empirical data, we construct an analytical model demonstrating the benefits of a combined hardware-software implementation
  • Keywords
    Java; multi-threading; storage management; synchronisation; conditional memory ordering; hardware-software synchronization; multithreaded Java workloads; Analytical models; Costs; Frequency synchronization; Hardware; Java; Lead; Multiprocessing systems; Process control; Software performance; Software prototyping;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture, 2006. ISCA '06. 33rd International Symposium on
  • Conference_Location
    Boston, MA
  • ISSN
    1063-6897
  • Print_ISBN
    0-7695-2608-X
  • Type

    conf

  • DOI
    10.1109/ISCA.2006.16
  • Filename
    1635939