Improving Phased Transactional Memory via Commit Throughput and Capacity Estimation
Main Author: | |
---|---|
Publication Date: | 2021 |
Other Authors: | , , |
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 |