Improving Phased Transactional Memory via Commit Throughput and Capacity Estimation

Bibliographic Details
Main Author: Morales, Catalina Munoz
Publication Date: 2021
Other Authors: Honorio, Bruno, Baldassin, Alexandro [UNESP], Araujo, Guido
Format: Conference object
Language: eng
Source: Repositório Institucional da UNESP
Download full: http://dx.doi.org/10.1109/SBAC-PAD53543.2021.00016
http://hdl.handle.net/11449/223446
Summary: Transactional Memory (TM) is a programming abstraction that aims to ease parallel programming in shared-memory architectures. Both Hardware (HTM) and Software Transactional Memory (STM) implementations have been extensively studied in the literature. Modern approaches seek to combine both HTM and STM to better exploit performance. In particular, Phased TMs (PhTMs) systems execute transactions in phases, not allowing both hardware and software transactions to run concurrently to avoid coordination overheads. The main challenge in designing PhTM systems is to dynamically choose a proper execution mode. Usually, a transition mechanism is developed based on metrics such as transaction size and abort rates to guide the phase migration. However, the tuning of such metrics is not an easy task, since it may lead to over-fitting and poor performance for the general case. This paper advances state-of-the-art research on PhTM by proposing a different approach to phase selection: The use of commit throughput and cache simulation to mimic the behavior of HTM storage constraints while in STM mode. When compared to previous work, this approach leads to a simpler and more efficient mechanism to assess the state of the execution modes in run time. Experimental results using STAMP and two graph processing applications show how the Commit Throughput-based mechanism is able to outperform a state-of-the-art Phased TM runtime (PhTM∗) with speedups of up to 5x.
id UNSP_1f050ceb66500b75c3b8d34ec3833c46
oai_identifier_str oai:repositorio.unesp.br:11449/223446
network_acronym_str UNSP
network_name_str Repositório Institucional da UNESP
repository_id_str 2946
spelling Improving Phased Transactional Memory via Commit Throughput and Capacity EstimationHardware Transactional Memoryshared memorySoftware Transactional MemoryTransactional Memory (TM) is a programming abstraction that aims to ease parallel programming in shared-memory architectures. Both Hardware (HTM) and Software Transactional Memory (STM) implementations have been extensively studied in the literature. Modern approaches seek to combine both HTM and STM to better exploit performance. In particular, Phased TMs (PhTMs) systems execute transactions in phases, not allowing both hardware and software transactions to run concurrently to avoid coordination overheads. The main challenge in designing PhTM systems is to dynamically choose a proper execution mode. Usually, a transition mechanism is developed based on metrics such as transaction size and abort rates to guide the phase migration. However, the tuning of such metrics is not an easy task, since it may lead to over-fitting and poor performance for the general case. This paper advances state-of-the-art research on PhTM by proposing a different approach to phase selection: The use of commit throughput and cache simulation to mimic the behavior of HTM storage constraints while in STM mode. When compared to previous work, this approach leads to a simpler and more efficient mechanism to assess the state of the execution modes in run time. Experimental results using STAMP and two graph processing applications show how the Commit Throughput-based mechanism is able to outperform a state-of-the-art Phased TM runtime (PhTM∗) with speedups of up to 5x.UNICAMP Institute of ComputingUniv. Estadual Paulista (UNESP)Univ. Estadual Paulista (UNESP)Universidade Estadual de Campinas (UNICAMP)Universidade Estadual Paulista (UNESP)Morales, Catalina MunozHonorio, BrunoBaldassin, Alexandro [UNESP]Araujo, Guido2022-04-28T19:50:44Z2022-04-28T19:50:44Z2021-01-01info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/conferenceObject44-53http://dx.doi.org/10.1109/SBAC-PAD53543.2021.00016Proceedings - Symposium on Computer Architecture and High Performance Computing, p. 44-53.1550-6533http://hdl.handle.net/11449/22344610.1109/SBAC-PAD53543.2021.000162-s2.0-85124367941Scopusreponame:Repositório Institucional da UNESPinstname:Universidade Estadual Paulista (UNESP)instacron:UNESPengProceedings - Symposium on Computer Architecture and High Performance Computinginfo:eu-repo/semantics/openAccess2022-04-28T19:50:44Zoai:repositorio.unesp.br:11449/223446Repositório InstitucionalPUBhttp://repositorio.unesp.br/oai/requestrepositoriounesp@unesp.bropendoar:29462022-04-28T19:50:44Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP)false
dc.title.none.fl_str_mv Improving Phased Transactional Memory via Commit Throughput and Capacity Estimation
title Improving Phased Transactional Memory via Commit Throughput and Capacity Estimation
spellingShingle Improving Phased Transactional Memory via Commit Throughput and Capacity Estimation
Morales, Catalina Munoz
Hardware Transactional Memory
shared memory
Software Transactional Memory
title_short Improving Phased Transactional Memory via Commit Throughput and Capacity Estimation
title_full Improving Phased Transactional Memory via Commit Throughput and Capacity Estimation
title_fullStr Improving Phased Transactional Memory via Commit Throughput and Capacity Estimation
title_full_unstemmed Improving Phased Transactional Memory via Commit Throughput and Capacity Estimation
title_sort Improving Phased Transactional Memory via Commit Throughput and Capacity Estimation
author Morales, Catalina Munoz
author_facet Morales, Catalina Munoz
Honorio, Bruno
Baldassin, Alexandro [UNESP]
Araujo, Guido
author_role author
author2 Honorio, Bruno
Baldassin, Alexandro [UNESP]
Araujo, Guido
author2_role 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
Honorio, Bruno
Baldassin, Alexandro [UNESP]
Araujo, Guido
dc.subject.por.fl_str_mv Hardware Transactional Memory
shared memory
Software Transactional Memory
topic Hardware Transactional Memory
shared memory
Software Transactional Memory
description Transactional Memory (TM) is a programming abstraction that aims to ease parallel programming in shared-memory architectures. Both Hardware (HTM) and Software Transactional Memory (STM) implementations have been extensively studied in the literature. Modern approaches seek to combine both HTM and STM to better exploit performance. In particular, Phased TMs (PhTMs) systems execute transactions in phases, not allowing both hardware and software transactions to run concurrently to avoid coordination overheads. The main challenge in designing PhTM systems is to dynamically choose a proper execution mode. Usually, a transition mechanism is developed based on metrics such as transaction size and abort rates to guide the phase migration. However, the tuning of such metrics is not an easy task, since it may lead to over-fitting and poor performance for the general case. This paper advances state-of-the-art research on PhTM by proposing a different approach to phase selection: The use of commit throughput and cache simulation to mimic the behavior of HTM storage constraints while in STM mode. When compared to previous work, this approach leads to a simpler and more efficient mechanism to assess the state of the execution modes in run time. Experimental results using STAMP and two graph processing applications show how the Commit Throughput-based mechanism is able to outperform a state-of-the-art Phased TM runtime (PhTM∗) with speedups of up to 5x.
publishDate 2021
dc.date.none.fl_str_mv 2021-01-01
2022-04-28T19:50:44Z
2022-04-28T19:50: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.1109/SBAC-PAD53543.2021.00016
Proceedings - Symposium on Computer Architecture and High Performance Computing, p. 44-53.
1550-6533
http://hdl.handle.net/11449/223446
10.1109/SBAC-PAD53543.2021.00016
2-s2.0-85124367941
url http://dx.doi.org/10.1109/SBAC-PAD53543.2021.00016
http://hdl.handle.net/11449/223446
identifier_str_mv Proceedings - Symposium on Computer Architecture and High Performance Computing, p. 44-53.
1550-6533
10.1109/SBAC-PAD53543.2021.00016
2-s2.0-85124367941
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv Proceedings - Symposium on Computer Architecture and High Performance Computing
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 44-53
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_ 1834484142189838336