PIM-STM: Software Transactional Memory for Processing-In-Memory Systems

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Lopes, André, Castro, Daniel, Romano, Paolo
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866913198881374208
author Lopes, André
Castro, Daniel
Romano, Paolo
author_facet Lopes, André
Castro, Daniel
Romano, Paolo
contents Processing-In-Memory (PIM) is a novel approach that augments existing DRAM memory chips with lightweight logic. By allowing to offload computations to the PIM system, this architecture allows for circumventing the data-bottleneck problem that affects many modern workloads. This work tackles the problem of how to build efficient software implementations of the Transactional Memory (TM) abstraction by introducing PIM-STM, a library that provides a range of diverse TM implementations for UPMEM, the first commercial PIM system. Via an extensive study we assess the efficiency of alternative choices in the design space of TM algorithms on this emerging architecture. We further quantify the impact of using different memory tiers of the UPMEM system (having different trade-offs for what concerns latency vs capacity) to store the metadata used by different TM implementations. Finally, we assess the gains achievable in terms of performance and memory efficiency when using PIM-STM to accelerate TM applications originally conceived for conventional CPU-based systems.
format Preprint
id arxiv_https___arxiv_org_abs_2401_09281
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle PIM-STM: Software Transactional Memory for Processing-In-Memory Systems
Lopes, André
Castro, Daniel
Romano, Paolo
Distributed, Parallel, and Cluster Computing
B.3.3; B.8.2; C.4; D.1.3
Processing-In-Memory (PIM) is a novel approach that augments existing DRAM memory chips with lightweight logic. By allowing to offload computations to the PIM system, this architecture allows for circumventing the data-bottleneck problem that affects many modern workloads. This work tackles the problem of how to build efficient software implementations of the Transactional Memory (TM) abstraction by introducing PIM-STM, a library that provides a range of diverse TM implementations for UPMEM, the first commercial PIM system. Via an extensive study we assess the efficiency of alternative choices in the design space of TM algorithms on this emerging architecture. We further quantify the impact of using different memory tiers of the UPMEM system (having different trade-offs for what concerns latency vs capacity) to store the metadata used by different TM implementations. Finally, we assess the gains achievable in terms of performance and memory efficiency when using PIM-STM to accelerate TM applications originally conceived for conventional CPU-based systems.
title PIM-STM: Software Transactional Memory for Processing-In-Memory Systems
topic Distributed, Parallel, and Cluster Computing
B.3.3; B.8.2; C.4; D.1.3
url https://arxiv.org/abs/2401.09281