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
Link To Document