Abstract
There have been several recent efforts to improve the performance of fences. The most aggressive designs allow post fence accesses to retire and complete before the fence completes. Unfortunately, such designs present implementation difficulties due to their reliance on global state and structures. This paper's goal is to optimize both the performance and the implementability of fences. We start-off with a design like the most aggressive ones but without the global state. We call it Weak Fence or wF. Since the concurrent execution of multiple wFs can deadlock, we combine wFs with a conventional fence (i.e., Strong Fence or sF) for the less performance-critical thread(s). We call the result an Asymmetric fence group. We also propose a taxonomy of Asymmetric fence groups under TSO. Compared to past aggressive fences, Asymmetric fence groups both are substantially easier to implement and have higher average performance. The two main designs presented (WS+ and W+) speed-up workloads under TSO by an average of 13% and 21%, respectively, over conventional fences.
Original language | English (US) |
---|---|
Pages (from-to) | 531-543 |
Number of pages | 13 |
Journal | ACM SIGPLAN Notices |
Volume | 50 |
Issue number | 4 |
DOIs | |
State | Published - Apr 2015 |
Keywords
- Fences
- Parallel programming
- Sequential consistency
- Shared-memory machines
- Synchronization
ASJC Scopus subject areas
- General Computer Science