TY - GEN
T1 - Sharing-Aware Data Mapping in Software Transactional Memory
AU - Pasqualin, Douglas Pereira
AU - Diener, Matthias
AU - Du Bois, André Rauber
AU - Pilla, Maurício Lima
N1 - Publisher Copyright:
© 2022, Springer Nature Switzerland AG.
PY - 2022
Y1 - 2022
N2 - Software transactional memory (STM) is an abstraction used for thread synchronization that borrows the concept of transactions from databases. It is often easier to use than locks, proving a high-level abstraction for software developers. In current multicore architectures, data locality is an important aspect of STM performance. Sharing-aware mapping is a technique that aims to improve the performance of applications by mapping threads and data (in the form of memory pages) according to their memory access behavior. In prior work, we successfully used information gained from tracking STM variables and STM operations to perform an effective sharing-aware thread mapping. In this paper, we attempt to extend such a mechanism to perform data mapping. Although initial results using a synthetic application were encouraging, data mapping did not improve performance when using realistic workloads. Contrary to thread mapping, where only keeping track of STM operations is sufficient to perform an effective thread mapping, data mapping requires a global vision of memory page accesses of the application to be able to improve the performance, which STM runtimes can not provide.
AB - Software transactional memory (STM) is an abstraction used for thread synchronization that borrows the concept of transactions from databases. It is often easier to use than locks, proving a high-level abstraction for software developers. In current multicore architectures, data locality is an important aspect of STM performance. Sharing-aware mapping is a technique that aims to improve the performance of applications by mapping threads and data (in the form of memory pages) according to their memory access behavior. In prior work, we successfully used information gained from tracking STM variables and STM operations to perform an effective sharing-aware thread mapping. In this paper, we attempt to extend such a mechanism to perform data mapping. Although initial results using a synthetic application were encouraging, data mapping did not improve performance when using realistic workloads. Contrary to thread mapping, where only keeping track of STM operations is sufficient to perform an effective thread mapping, data mapping requires a global vision of memory page accesses of the application to be able to improve the performance, which STM runtimes can not provide.
KW - Data mapping
KW - NUMA
KW - Sharing-aware
KW - Software transactional memory
UR - http://www.scopus.com/inward/record.url?scp=85129907951&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85129907951&partnerID=8YFLogxK
U2 - 10.1007/978-3-031-04580-6_32
DO - 10.1007/978-3-031-04580-6_32
M3 - Conference contribution
AN - SCOPUS:85129907951
SN - 9783031045790
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 481
EP - 492
BT - Embedded Computer Systems
A2 - Orailoglu, Alex
A2 - Jung, Matthias
A2 - Reichenbach, Marc
PB - Springer
T2 - 21st International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation, SAMOS 2021
Y2 - 4 July 2021 through 8 July 2021
ER -