Mostrar el registro sencillo del ítem
Sharing-aware thread mapping in software transactional memory
| dc.creator | Pasqualin, Douglas Pereira | |
| dc.date.accessioned | 2021-06-18T22:19:03Z | |
| dc.date.available | 2021-06-18T22:19:03Z | |
| dc.date.issued | 2021-04-28 | |
| dc.identifier.citation | PASQUALIN, Douglas Pereira. Sharing-Aware Thread Mapping in Software Transactional Memory. Advisor: André Rauber Du Bois. 2021. 114 f. Thesis (Doctorate in Computer Science) – Technology Development Center, Federal University of Pelotas, Pelotas, 2021. | pt_BR |
| dc.identifier.uri | http://guaiaca.ufpel.edu.br/handle/prefix/7721 | |
| dc.description.abstract | Memória Transacional em Software (MTS) é uma abstração para a sincronização de threads na programação paralela. Uma de suas vantagens é a simplicidade, pois é possível substituir o uso de bloqueios por blocos atômicos. Além disso, a implementação de MTS é responsável por garantir uma execução consistente, por exemplo, sem deadlocks ou condições de corrida. Com relação ao desempenho de MTS, existem muitos estudos focados na redução do número de cancelamentos. Contudo, nas atuais arquiteturas multicore, com complexas hierarquias de memória, é também importante considerar onde a memória do programa está alocada e como ela é acessada. Esta tese propõe o uso de uma técnica chamada mapeamento baseado em compartilhamento a qual consiste em mapear threads para núcleos de processamento e páginas de memória para nós NUMA com base no seu padrão de acesso à memória para melhorar o desempenho de aplicações que utilizam MTS. A primeira contribuição desta tese é um mecanismo para detectar o padrão de acesso à memória em bibliotecas de MTS. Ele consiste em rastrear e analisar como threads executam operações de MTS. As informações coletadas podem ser utilizadas para criar um mapeamento otimizado de threads para núcleos de processamento, com o objetivo de melhorar a eficiência das operações de MTS. A segunda contribuição é a caracterização do padrão de acesso à memória de aplicações que utilizam MTS, fornecendo informações para guiar um mapeamento de threads com base no padrão de compartilhamento da aplicação. A terceira contribuição é um mecanismo para efetuar um mapeamento de threads baseado em compartilhamento para aplicações que utilizam MTS. Primeiramente é apresentado Static-SharingAware (SSA), que baseado em uma análise prévia do padrão de compartilhamento da aplicação, mapeia threads para núcleos de processamento de forma estática. Após, é apresentado STMap, um mecanismo que opera dinamicamente e com baixa sobrecarga, com o objetivo de detectar o padrão de acesso à memoria e efetuar o mapeamento de threads durante a execução do programa. Em experimentos com o benchmark STAMP e outras aplicações sintéticas, ambos mecanismos apresentaram ganhos de desempenho quando comparados com o escalonador padrão do Linux. | pt_BR |
| dc.description.sponsorship | Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES | pt_BR |
| dc.language | por | pt_BR |
| dc.publisher | Universidade Federal de Pelotas | pt_BR |
| dc.rights | OpenAccess | pt_BR |
| dc.subject | Computação | pt_BR |
| dc.subject | Software transactional memory | pt_BR |
| dc.subject | Sharing-aware | pt_BR |
| dc.subject | Thread mapping | pt_BR |
| dc.subject | Communication | pt_BR |
| dc.subject | Memória transacional em software | pt_BR |
| dc.subject | Sensibilidade ao compartilhamento | pt_BR |
| dc.subject | Mapeamento de thread | pt_BR |
| dc.subject | Comunicação | pt_BR |
| dc.title | Sharing-aware thread mapping in software transactional memory | pt_BR |
| dc.title.alternative | Mapeamento de threads baseado em compartilhamento em memórias transacionais em software | pt_BR |
| dc.type | doctoralThesis | pt_BR |
| dc.contributor.authorLattes | http://lattes.cnpq.br/3523820267263034 | pt_BR |
| dc.contributor.advisorLattes | http://lattes.cnpq.br/3277487290886063 | pt_BR |
| dc.contributor.advisor-co1 | Diener, Matthias | |
| dc.contributor.advisor-co1Lattes | http://lattes.cnpq.br/8653611969517458 | pt_BR |
| dc.contributor.advisor-co2 | Pilla, Maurício Lima | |
| dc.contributor.advisor-co2Lattes | http://lattes.cnpq.br/5401660213198750 | pt_BR |
| dc.description.resumo | Software Transactional Memory (STM) is an alternative abstraction for thread synchronization in parallel programming. One advantage is simplicity since it is possible to replace the use of explicit locks with atomic blocks, while the STM runtime is responsible to ensure a consistent execution, for instance, without deadlocks and race conditions. Regarding STM performance, many studies already have been made focusing on reducing the number of transactional aborts and conflicts. However, in current multicore architectures with complex memory hierarchies, it is also important to consider where the memory of a program is allocated and how it is accessed. This thesis proposes the use of a technique called sharing-aware mapping, which maps threads to cores and memory pages to NUMA nodes based on their memory access behavior to achieve better performance in STM systems. The first major contribution of this thesis is a mechanism to detect sharing behavior directly inside the STM library by tracking and analyzing how threads perform STM operations. The collected information can be used to perform an optimized mapping of the application’s threads to cores in order to improve the efficiency of STM operations. The second contribution of this thesis is the characterization of the sharing behavior of STM applications by using information extracted from the STM runtime, providing information to guide thread mapping based on their sharing behavior. The third contribution is a mechanism to perform sharing-aware thread mapping in STM applications. We first introduce Static-SharingAware (SSA), which map threads to cores based on a previous analysis of the sharing behavior of STM applications. Next, we introduce STMap, an online, low overhead mechanism to detect the sharing behavior and perform the mapping directly inside the STM library, by tracking and analyzing how threads perform STM operations during the execution. In experiments with the STAMP benchmark suite and synthetic benchmarks, both mechanisms showed performance gains when compared to the default Linux scheduler. | pt_BR |
| dc.publisher.department | Centro de Desenvolvimento Tecnológico | pt_BR |
| dc.publisher.program | Programa de Pós-Graduação em Computação | pt_BR |
| dc.publisher.initials | UFPel | pt_BR |
| dc.subject.cnpq | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO | pt_BR |
| dc.publisher.country | Brasil | pt_BR |
| dc.contributor.advisor1 | Du Bois, André Rauber |
Ficheros en el ítem
Este ítem aparece en la(s) siguiente(s) colección(ones)
-
PPGC: Dissertações e Teses [236]
Dissertações e teses.

