HeTM: Transactional Memory for Heterogeneous Systems

05/02/2019
by   Daniel Castro, et al.
0

Modern heterogeneous computing architectures, which couple multi-core CPUs with discrete many-core GPUs (or other specialized hardware accelerators), enable unprecedented peak performance and energy efficiency levels. Unfortunately, though, developing applications that can take full advantage of the potential of heterogeneous systems is a notoriously hard task. This work takes a step towards reducing the complexity of programming heterogeneous systems by introducing the abstraction of Heterogeneous Transactional Memory (HeTM). HeTM provides programmers with the illusion of a single memory region, shared among the CPUs and the (discrete) GPU(s) of a heterogeneous system, with support for atomic transactions. Besides introducing the abstract semantics and programming model of HeTM, we present the design and evaluation of a concrete implementation of the proposed abstraction, which we named Speculative HeTM (SHeTM). SHeTM makes use of a novel design that leverages on speculative techniques and aims at hiding the inherently large communication latency between CPUs and discrete GPUs and at minimizing inter-device synchronization overhead. SHeTM is based on a modular and extensible design that allows for easily integrating alternative TM implementations on the CPU's and GPU's sides, which allows the flexibility to adopt, on either side, the TM implementation (e.g., in hardware or software) that best fits the applications' workload and the architectural characteristics of the processing unit. We demonstrate the efficiency of the SHeTM via an extensive quantitative study based both on synthetic benchmarks and on a porting of a popular object caching system.

READ FULL TEXT
research
10/20/2011

Efficient Synchronization Primitives for GPUs

In this paper, we revisit the design of synchronization primitives---spe...
research
10/19/2021

Energy-based Accounting Model for Heterogeneous Supercomputers

In this paper we present a new accounting model for heterogeneous superc...
research
09/03/2020

Software-Distributed Shared Memory for Heterogeneous Machines: Design and Use Considerations

Distributed shared memory (DSM) allows to implement and deploy applicati...
research
10/20/2018

Learning-based Application-Agnostic 3D NoC Design for Heterogeneous Manycore Systems

The rising use of deep learning and other big-data algorithms has led to...
research
12/11/2020

Trash Talk: Accelerating Garbage Collection on Integrated GPUs is Worthless

Systems integrating heterogeneous processors with unified memory provide...
research
01/19/2019

A Two-Layer Component-Based Allocation for Embedded Systems with GPUs

Component-based development is a software engineering paradigm that can ...
research
08/18/2019

The Maximum Common Subgraph Problem: A Portfolio Approach

The Maximum Common Subgraph is a computationally challenging problem wit...

Please sign up or login with your details

Forgot password? Click here to reset