Accelerating Graph Applications Using Phased Transactional Memory

Due to their fine-grained operations and low conflict rates, graph processing algorithms expose a large amount of parallelism that has been extensively exploited by various parallelization frameworks. Transactional Memory (TM) is a programming model that uses an optimistic concurrency control mechan...

Full description

Saved in:
Bibliographic Details
Published inEuro-Par 2021: Parallel Processing Vol. 12820; pp. 421 - 434
Main Authors Morales, Catalina Munoz, Murari, Rafael, de Carvalho, Joao P. L., Honorio, Bruno Chinelato, Baldassin, Alexandro, Araujo, Guido
Format Book Chapter
LanguageEnglish
Published Switzerland Springer International Publishing AG 2021
Springer International Publishing
SeriesLecture Notes in Computer Science
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Due to their fine-grained operations and low conflict rates, graph processing algorithms expose a large amount of parallelism that has been extensively exploited by various parallelization frameworks. Transactional Memory (TM) is a programming model that uses an optimistic concurrency control mechanism to improve the performance of irregular applications, making it a perfect candidate to extract parallelism from graph-based programs. Although fast Hardware TM (HTM) instructions are now available in the ISA extensions of some major processor architectures (e.g., Intel and ARM), balancing the usage of Software TM (STM) and HTM to compensate for capacity and conflict aborts is still a challenging task. This paper presents a Phased TM implementation for graph applications, called Graph-Oriented Transactional Memory (GoTM). It uses a three-state (HTM, STM, GLOCK) concurrency control automaton that leverages both HTM and STM implementations to speed-up graph applications. Experimental results using seven well-known graph programs and real-life workloads show that GoTM can outperform other Phased TM systems and lock-based concurrency mechanisms such as the one present in Galois, a state-of-the-art framework for graph computations.
Bibliography:C.M. Morales—This work was supported by FAPESP (grant 2017/15236-0) under the CEPID Center for Computational Engineering and Sciences project.
ISBN:9783030856649
303085664X
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-030-85665-6_26