Publication: A hybrid static-dynamic classification for dual-consistency cache coherence
Authors
Jimborean, Alexandra ; Ros Bardisa, Alberto
item.page.secondaryauthor
item.page.director
Publisher
IEEE
publication.page.editor
publication.page.department
DOI
10.1109/TPDS.2016.2528241
item.page.type
info:eu-repo/semantics/article
Description
Ros, A., & Jimborean, A. (2016). A hybrid static-dynamic classification for dual-consistency cache coherence. IEEE Transactions on Parallel and Distributed Systems, 27(11), 3101-3115.
Abstract
Traditional cache coherence protocols manage all memory accesses equally and ensure the strongest memory model,
namely, sequential consistency. Recent cache coherence protocols based on self-invalidation advocate for the model sequential
consistency for data-race-free, which enables powerful optimizations for race-free code. However, for racy code these cache coherence
protocols provide sub-optimal performance compared to traditional protocols.
This paper proposes SPEL++, a dual-consistency cache coherence protocol that supports two execution modes: a traditional
sequential-consistent protocol and a protocol that provides weak consistency (or sequential consistency for data-race-free). SPEL++
exploits a static-dynamic hybrid classification of memory accesses based on (i) a compile-time identification of extended data-race-free
code regions for OpenMP applications and (ii) a runtime classification of accesses based on the operating system’s memory page
management. By executing racy code under the sequential-consistent protocol and race-free code under the cache coherence protocol
that provides sequential consistency for data-race-free, the end result is an efficient execution of the applications while still providing
sequential consistency. Compared to a traditional protocol, we show improvements in performance from 19% to 38% and reductions in
energy consumption from 47% to 53%, on average for different benchmark suites, on a 64-core chip multiprocessor
publication.page.subject
Citation
IEEE Transactions on Parallel and Distributed Systems, 27(11), 3101-3115.
item.page.embargo
Collections
Ir a Estadísticas
Este ítem está sujeto a una licencia Creative Commons. http://creativecommons.org/licenses/by-nc-nd/4.0/