High-end embedded systems, like their general-purpose counterparts, are turning to many-core cluster-based shared-memory architectures that provide a shared memory abstraction subject to non-uniform memory access costs. In order to keep the cores and memory hierarchy simple, many-core embedded systems tend to employ simple, scratchpad-like memories, rather than hardware managed caches that require some form of cache coherence management. These “coherence-free” systems still require some means to synchronize memory accesses and guarantee memory consistency. Conventional lock-based approaches may be employed to accomplish the synchronization, but may lead to both usability and performance issues. Instead, speculative synchronization, such as hardware transactional memory, may be a more attractive approach. However, hardware speculative techniques traditionally rely on the underlying cache-coherence protocol to synchronize memory accesses among the cores. The lack of a cache-coherence protocol adds new challenges in the design of hardware speculative support. In this article, we present a new scheme for hardware transactional memory (HTM) support within a cluster-based, many-core embedded system that lacks an underlying cache-coherence protocol. We propose two alternative data versioning implementations for the HTM support, Full-Mirroring and Distributed Logging and we conduct a performance comparison between them. To the best of our knowledge, these are the first designs for speculative synchronization for this type of architecture. Through a set of benchmark experiments using our simulation platform, we show that our designs can achieve significant performance improvements over traditional lock-based schemes.
|Data di pubblicazione:||2018|
|Titolo:||Hardware Transactional Memory Exploration in Coherence-Free Many-Core Architectures|
|Autore/i:||Papagiannopoulou, Dimitra; Marongiu, Andrea; Moreshet, Tali; Benini, Luca; Herlihy, Maurice; Bahar, R. Iris|
|Digital Object Identifier (DOI):||10.1007/s10766-018-0569-7|
|Codice identificativo ISI:||WOS:000450005000012|
|Codice identificativo Scopus:||2-s2.0-85044947405|
|Citazione:||Hardware Transactional Memory Exploration in Coherence-Free Many-Core Architectures / Papagiannopoulou, Dimitra; Marongiu, Andrea; Moreshet, Tali; Benini, Luca; Herlihy, Maurice; Bahar, R. Iris. - In: INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING. - ISSN 0885-7458. - STAMPA. - 46:6(2018), pp. 1304-1328.|
|Tipologia||Articolo su rivista|
File in questo prodotto:
I documenti presenti in Iris Unimore sono rilasciati con licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Italia, salvo diversa indicazione.
In caso di violazione di copyright, contattare Supporto Iris