Accelerating Graph Applications Using Phased Transactional Memory
Autor(a) principal: | |
---|---|
Data de Publicação: | 2021 |
Outros Autores: | , , , , |
Tipo de documento: | Artigo de conferência |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UNESP |
Texto Completo: | http://dx.doi.org/10.1007/978-3-030-85665-6_26 http://hdl.handle.net/11449/222442 |
Resumo: | 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. |
id |
UNSP_de72eab56976c0b59c7f759325c2ba17 |
---|---|
oai_identifier_str |
oai:repositorio.unesp.br:11449/222442 |
network_acronym_str |
UNSP |
network_name_str |
Repositório Institucional da UNESP |
repository_id_str |
2946 |
spelling |
Accelerating Graph Applications Using Phased Transactional MemoryGraph processingHardware transactional memoryLarge-scale graphsSoftware transactional memoryDue 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.Institute of Computing UNICAMPUniversidade Estadual Paulista (UNESP)Universidade Estadual Paulista (UNESP)Universidade Estadual de Campinas (UNICAMP)Universidade Estadual Paulista (UNESP)Morales, Catalina MunozMurari, Rafael [UNESP]de Carvalho, Joao P. L.Honorio, Bruno ChinelatoBaldassin, Alexandro [UNESP]Araujo, Guido2022-04-28T19:44:44Z2022-04-28T19:44:44Z2021-01-01info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/conferenceObject421-434http://dx.doi.org/10.1007/978-3-030-85665-6_26Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), v. 12820 LNCS, p. 421-434.1611-33490302-9743http://hdl.handle.net/11449/22244210.1007/978-3-030-85665-6_262-s2.0-85115163216Scopusreponame:Repositório Institucional da UNESPinstname:Universidade Estadual Paulista (UNESP)instacron:UNESPengLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)info:eu-repo/semantics/openAccess2022-04-28T19:44:44Zoai:repositorio.unesp.br:11449/222442Repositório InstitucionalPUBhttp://repositorio.unesp.br/oai/requestrepositoriounesp@unesp.bropendoar:29462022-04-28T19:44:44Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP)false |
dc.title.none.fl_str_mv |
Accelerating Graph Applications Using Phased Transactional Memory |
title |
Accelerating Graph Applications Using Phased Transactional Memory |
spellingShingle |
Accelerating Graph Applications Using Phased Transactional Memory Morales, Catalina Munoz Graph processing Hardware transactional memory Large-scale graphs Software transactional memory |
title_short |
Accelerating Graph Applications Using Phased Transactional Memory |
title_full |
Accelerating Graph Applications Using Phased Transactional Memory |
title_fullStr |
Accelerating Graph Applications Using Phased Transactional Memory |
title_full_unstemmed |
Accelerating Graph Applications Using Phased Transactional Memory |
title_sort |
Accelerating Graph Applications Using Phased Transactional Memory |
author |
Morales, Catalina Munoz |
author_facet |
Morales, Catalina Munoz Murari, Rafael [UNESP] de Carvalho, Joao P. L. Honorio, Bruno Chinelato Baldassin, Alexandro [UNESP] Araujo, Guido |
author_role |
author |
author2 |
Murari, Rafael [UNESP] de Carvalho, Joao P. L. Honorio, Bruno Chinelato Baldassin, Alexandro [UNESP] Araujo, Guido |
author2_role |
author author author author author |
dc.contributor.none.fl_str_mv |
Universidade Estadual de Campinas (UNICAMP) Universidade Estadual Paulista (UNESP) |
dc.contributor.author.fl_str_mv |
Morales, Catalina Munoz Murari, Rafael [UNESP] de Carvalho, Joao P. L. Honorio, Bruno Chinelato Baldassin, Alexandro [UNESP] Araujo, Guido |
dc.subject.por.fl_str_mv |
Graph processing Hardware transactional memory Large-scale graphs Software transactional memory |
topic |
Graph processing Hardware transactional memory Large-scale graphs Software transactional memory |
description |
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. |
publishDate |
2021 |
dc.date.none.fl_str_mv |
2021-01-01 2022-04-28T19:44:44Z 2022-04-28T19:44:44Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/conferenceObject |
format |
conferenceObject |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://dx.doi.org/10.1007/978-3-030-85665-6_26 Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), v. 12820 LNCS, p. 421-434. 1611-3349 0302-9743 http://hdl.handle.net/11449/222442 10.1007/978-3-030-85665-6_26 2-s2.0-85115163216 |
url |
http://dx.doi.org/10.1007/978-3-030-85665-6_26 http://hdl.handle.net/11449/222442 |
identifier_str_mv |
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), v. 12820 LNCS, p. 421-434. 1611-3349 0302-9743 10.1007/978-3-030-85665-6_26 2-s2.0-85115163216 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
421-434 |
dc.source.none.fl_str_mv |
Scopus reponame:Repositório Institucional da UNESP instname:Universidade Estadual Paulista (UNESP) instacron:UNESP |
instname_str |
Universidade Estadual Paulista (UNESP) |
instacron_str |
UNESP |
institution |
UNESP |
reponame_str |
Repositório Institucional da UNESP |
collection |
Repositório Institucional da UNESP |
repository.name.fl_str_mv |
Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP) |
repository.mail.fl_str_mv |
repositoriounesp@unesp.br |
_version_ |
1834483206252920832 |