TY - JOUR
T1 - DeNovoND
T2 - Efficient hardware support for disciplined non-determinism
AU - Sung, Hyojin
AU - Komuravelli, Rakesh
AU - Adve, Sarita V.
PY - 2013/4
Y1 - 2013/4
N2 - Recent work has shown that disciplined shared-memory programming models that provide deterministic-by-default semantics can simplify both parallel software and hardware. Specifically, the De- Novo hardware system has shown that the software guarantees of such models (e.g., data-race-freedom and explicit side-effects) can enable simpler, higher performance, and more energy-efficient hardware than the current state-of-the-art for deterministic programs. Many applications, however, contain non-deterministic parts; e.g., using lock synchronization. For commercial hardware to exploit the benefits of DeNovo, it is therefore necessary to extend DeNovo to support non-deterministic applications. This paper proposes DeNovoND, a system that supports lockbased, disciplined non-determinism, with the simplicity, performance, and energy benefits of DeNovo. We use a combination of distributed queue-based locks and access signatures to implement simple memory consistency semantics for safe non-determinism, with a coherence protocol that does not require transient states, invalidation traffic, or directories, and does not incur false sharing. The resulting system is simpler, shows comparable or better execution time, and has 33% less network traffic on average (translating directly into energy savings) relative to a state-of-theart invalidation-based protocol for 8 applications designed for lock synchronization.
AB - Recent work has shown that disciplined shared-memory programming models that provide deterministic-by-default semantics can simplify both parallel software and hardware. Specifically, the De- Novo hardware system has shown that the software guarantees of such models (e.g., data-race-freedom and explicit side-effects) can enable simpler, higher performance, and more energy-efficient hardware than the current state-of-the-art for deterministic programs. Many applications, however, contain non-deterministic parts; e.g., using lock synchronization. For commercial hardware to exploit the benefits of DeNovo, it is therefore necessary to extend DeNovo to support non-deterministic applications. This paper proposes DeNovoND, a system that supports lockbased, disciplined non-determinism, with the simplicity, performance, and energy benefits of DeNovo. We use a combination of distributed queue-based locks and access signatures to implement simple memory consistency semantics for safe non-determinism, with a coherence protocol that does not require transient states, invalidation traffic, or directories, and does not incur false sharing. The resulting system is simpler, shows comparable or better execution time, and has 33% less network traffic on average (translating directly into energy savings) relative to a state-of-theart invalidation-based protocol for 8 applications designed for lock synchronization.
KW - Cache coherence
KW - Disciplined parallelism
KW - Memory consistency
KW - Non-determinism
KW - Shared memory
UR - http://www.scopus.com/inward/record.url?scp=84880129994&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84880129994&partnerID=8YFLogxK
U2 - 10.1145/2499368.2451119
DO - 10.1145/2499368.2451119
M3 - Article
AN - SCOPUS:84880129994
SN - 1523-2867
VL - 48
SP - 13
EP - 25
JO - ACM SIGPLAN Notices
JF - ACM SIGPLAN Notices
IS - 4
ER -