Export Ready — 

LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM

Bibliographic Details
Main Author: Costa, Michael Alexandre
Publication Date: 2021
Format: Master thesis
Language: por
Source: Repositório Institucional da UFPel - Guaiaca
Download full: http://guaiaca.ufpel.edu.br/handle/prefix/8016
Summary: Software Transactional Memory (STM) is an alternative to synchronization using locks and monitors. STM allows the programmer to write parallel codes in a simpler way, as it is possible to replace the use of locks with atomic blocks. However, with the increase in parallelism, there is an increase in contention, which in STM is reflected in a greater number of conflicts. Seeking to optimize STM performance, many studies focus on reducing the number of conflicts through schedulers. However, in current architectures, it is also important to consider where program memory is allocated and how it is accessed. This dissertation proposes a NUMA-Aware scheduler for STM, entitled Lups Transactional Memory Scheduler (LTMS), which, at runtime, collects data about the application and architecture used to optimize the execution of STM in NUMA architectures. For this, the scheduling strategy is divided into three steps. The first provides an initialization mechanism, creating queues that reflect the thread distribution architecture and strategies, to analyze the impact that thread distribution has on the application. The second step presents a mechanism to collect data at runtime, in this step data about the threads and their transactions, memory accesses and the used architecture are collected. The third step brings a system for migration of threads at runtime, which comes into action after a conflict occurs, this step seeks to group conflicting threads minimizing future conflicts and reducing the cost of memory access. For decision-making at this stage, two heuristics were developed to understand the STM behavior in relation to latency cost and conflict intensity. To carry out tests, the LTMS was implemented with the TinySTM library and was used with a set of STAMP benchmarks. The experiments were performed using the different thread distribution and migration strategies developed and compared with the TinySTM 1.0.5 library. The experiments showed for most benchmarks lower abort rate and better execution time.
id UFPL_22dc3c826dafbcc71b45c2a22b82628b
oai_identifier_str oai:guaiaca.ufpel.edu.br:prefix/8016
network_acronym_str UFPL
network_name_str Repositório Institucional da UFPel - Guaiaca
repository_id_str
spelling LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STMTransaction Scheduler for NUMA ArchitecturesComputaçãoMemórias Transacionais - TMNon-Uniform Memory Access - NUMAEscalonadorTransactional Memory - TMNon-Uniform Memory Access - NUMASchedulerCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOSoftware Transactional Memory (STM) is an alternative to synchronization using locks and monitors. STM allows the programmer to write parallel codes in a simpler way, as it is possible to replace the use of locks with atomic blocks. However, with the increase in parallelism, there is an increase in contention, which in STM is reflected in a greater number of conflicts. Seeking to optimize STM performance, many studies focus on reducing the number of conflicts through schedulers. However, in current architectures, it is also important to consider where program memory is allocated and how it is accessed. This dissertation proposes a NUMA-Aware scheduler for STM, entitled Lups Transactional Memory Scheduler (LTMS), which, at runtime, collects data about the application and architecture used to optimize the execution of STM in NUMA architectures. For this, the scheduling strategy is divided into three steps. The first provides an initialization mechanism, creating queues that reflect the thread distribution architecture and strategies, to analyze the impact that thread distribution has on the application. The second step presents a mechanism to collect data at runtime, in this step data about the threads and their transactions, memory accesses and the used architecture are collected. The third step brings a system for migration of threads at runtime, which comes into action after a conflict occurs, this step seeks to group conflicting threads minimizing future conflicts and reducing the cost of memory access. For decision-making at this stage, two heuristics were developed to understand the STM behavior in relation to latency cost and conflict intensity. To carry out tests, the LTMS was implemented with the TinySTM library and was used with a set of STAMP benchmarks. The experiments were performed using the different thread distribution and migration strategies developed and compared with the TinySTM 1.0.5 library. The experiments showed for most benchmarks lower abort rate and better execution time.Sem bolsaMemória transacional em Software (STM) é uma alternativa à sincronização utilizando locks e monitores. A STM permite ao programador escrever códigos paralelos de forma mais simples, pois é possível substituir o uso de bloqueios por blocos atômicos. Porém, com o aumento do paralelismo existe um aumento na contenção que em STM se reflete em um maior número de conflitos. Buscando otimizar o desempenho de STM, muitos estudos focam na redução do número de conflitos por meio de escalonadores. Contudo, nas arquiteturas atuais também é importante considerar onde a memória do programa está alocada e como ela é acessada. Esta dissertação propõe um escalonador NUMA-Aware para STM, intitulado Lups Transactional Memory Scheduler (LTMS), o qual em tempo de execução, coleta dados sobre a aplicação e arquitetura utilizada para otimizar a execução de STM em arquiteturas NUMA. Para isto a estratégia de escalonamento é dividido em três etapas. A primeira fornece um mecanismo de inicialização, com criação de filas que reflitam a arquitetura e estratégias de distribuição de threads, para analisar o impacto que a distribuição de threads possui sobre a aplicação. A segunda etapa apresenta um mecanismo para coletar dados em tempo de execução, nesta etapa são coletados dados sobre as threads e suas transações, os acessos à memória e a arquitetura utilizada. A terceira etapa traz um sistema para migração de threads em tempo de execução, o qual entra em ação após a ocorrência de um conflito, esta etapa busca agrupar threads conflitantes minimizando conflitos futuros e reduzindo o custo de acesso à memória. Para a tomada de decisão desta etapa, foram desenvolvidas duas heurísticas para entender o comportamento da STM em relação ao custo de latência e intensidade de conflitos. Para realização de testes o LTMS foi implementado junto a biblioteca TinySTM e foi utilizado com conjunto de benchmarks STAMP. Os experimentos foram executados utilizando as diferentes estratégias de distribuição e migração de threads desenvolvidos e comparados com a biblioteca TinySTM 1.0.5. Os experimentos apresentaram para maioria dos benchmarks menor taxa de abort e melhor tempo de execução.Universidade Federal de PelotasCentro de Desenvolvimento TecnológicoPrograma de Pós-Graduação em ComputaçãoUFPelBrasilhttp://lattes.cnpq.br/9077460145415117http://lattes.cnpq.br/3277487290886063Du Bois, André RauberCosta, Michael Alexandre2021-10-04T22:00:36Z2021-10-04T22:00:36Z2021-06-24info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfCOSTA, Michael Alexandre. LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM.. Orientador: André Du Bois. 2021. 57 f. Dissertação (Mestrado em Ciência da Computação) – Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2021.http://guaiaca.ufpel.edu.br/handle/prefix/8016porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPel - Guaiacainstname:Universidade Federal de Pelotas (UFPEL)instacron:UFPEL2023-07-13T06:02:57Zoai:guaiaca.ufpel.edu.br:prefix/8016Repositório InstitucionalPUBhttp://repositorio.ufpel.edu.br/oai/requestrippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.bropendoar:2023-07-13T06:02:57Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)false
dc.title.none.fl_str_mv LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM
Transaction Scheduler for NUMA Architectures
title LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM
spellingShingle LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM
Costa, Michael Alexandre
Computação
Memórias Transacionais - TM
Non-Uniform Memory Access - NUMA
Escalonador
Transactional Memory - TM
Non-Uniform Memory Access - NUMA
Scheduler
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM
title_full LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM
title_fullStr LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM
title_full_unstemmed LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM
title_sort LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM
author Costa, Michael Alexandre
author_facet Costa, Michael Alexandre
author_role author
dc.contributor.none.fl_str_mv http://lattes.cnpq.br/9077460145415117
http://lattes.cnpq.br/3277487290886063
Du Bois, André Rauber
dc.contributor.author.fl_str_mv Costa, Michael Alexandre
dc.subject.por.fl_str_mv Computação
Memórias Transacionais - TM
Non-Uniform Memory Access - NUMA
Escalonador
Transactional Memory - TM
Non-Uniform Memory Access - NUMA
Scheduler
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Computação
Memórias Transacionais - TM
Non-Uniform Memory Access - NUMA
Escalonador
Transactional Memory - TM
Non-Uniform Memory Access - NUMA
Scheduler
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description Software Transactional Memory (STM) is an alternative to synchronization using locks and monitors. STM allows the programmer to write parallel codes in a simpler way, as it is possible to replace the use of locks with atomic blocks. However, with the increase in parallelism, there is an increase in contention, which in STM is reflected in a greater number of conflicts. Seeking to optimize STM performance, many studies focus on reducing the number of conflicts through schedulers. However, in current architectures, it is also important to consider where program memory is allocated and how it is accessed. This dissertation proposes a NUMA-Aware scheduler for STM, entitled Lups Transactional Memory Scheduler (LTMS), which, at runtime, collects data about the application and architecture used to optimize the execution of STM in NUMA architectures. For this, the scheduling strategy is divided into three steps. The first provides an initialization mechanism, creating queues that reflect the thread distribution architecture and strategies, to analyze the impact that thread distribution has on the application. The second step presents a mechanism to collect data at runtime, in this step data about the threads and their transactions, memory accesses and the used architecture are collected. The third step brings a system for migration of threads at runtime, which comes into action after a conflict occurs, this step seeks to group conflicting threads minimizing future conflicts and reducing the cost of memory access. For decision-making at this stage, two heuristics were developed to understand the STM behavior in relation to latency cost and conflict intensity. To carry out tests, the LTMS was implemented with the TinySTM library and was used with a set of STAMP benchmarks. The experiments were performed using the different thread distribution and migration strategies developed and compared with the TinySTM 1.0.5 library. The experiments showed for most benchmarks lower abort rate and better execution time.
publishDate 2021
dc.date.none.fl_str_mv 2021-10-04T22:00:36Z
2021-10-04T22:00:36Z
2021-06-24
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv COSTA, Michael Alexandre. LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM.. Orientador: André Du Bois. 2021. 57 f. Dissertação (Mestrado em Ciência da Computação) – Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2021.
http://guaiaca.ufpel.edu.br/handle/prefix/8016
identifier_str_mv COSTA, Michael Alexandre. LTMS - Lups Transactional Memory Scheduler: um escalonador NUMA-Aware para STM.. Orientador: André Du Bois. 2021. 57 f. Dissertação (Mestrado em Ciência da Computação) – Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2021.
url http://guaiaca.ufpel.edu.br/handle/prefix/8016
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Pelotas
Centro de Desenvolvimento Tecnológico
Programa de Pós-Graduação em Computação
UFPel
Brasil
publisher.none.fl_str_mv Universidade Federal de Pelotas
Centro de Desenvolvimento Tecnológico
Programa de Pós-Graduação em Computação
UFPel
Brasil
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPel - Guaiaca
instname:Universidade Federal de Pelotas (UFPEL)
instacron:UFPEL
instname_str Universidade Federal de Pelotas (UFPEL)
instacron_str UFPEL
institution UFPEL
reponame_str Repositório Institucional da UFPel - Guaiaca
collection Repositório Institucional da UFPel - Guaiaca
repository.name.fl_str_mv Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)
repository.mail.fl_str_mv rippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.br
_version_ 1845919921625628672