Mostrar registro simples

dc.creatorPasqualin, Douglas Pereira
dc.date.accessioned2021-06-18T22:19:03Z
dc.date.available2021-06-18T22:19:03Z
dc.date.issued2021-04-28
dc.identifier.citationPASQUALIN, 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.urihttp://guaiaca.ufpel.edu.br/handle/prefix/7721
dc.description.abstractMemó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.sponsorshipCoordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESpt_BR
dc.languageporpt_BR
dc.publisherUniversidade Federal de Pelotaspt_BR
dc.rightsOpenAccesspt_BR
dc.subjectComputaçãopt_BR
dc.subjectSoftware transactional memorypt_BR
dc.subjectSharing-awarept_BR
dc.subjectThread mappingpt_BR
dc.subjectCommunicationpt_BR
dc.subjectMemória transacional em softwarept_BR
dc.subjectSensibilidade ao compartilhamentopt_BR
dc.subjectMapeamento de threadpt_BR
dc.subjectComunicaçãopt_BR
dc.titleSharing-aware thread mapping in software transactional memorypt_BR
dc.title.alternativeMapeamento de threads baseado em compartilhamento em memórias transacionais em softwarept_BR
dc.typedoctoralThesispt_BR
dc.contributor.authorLatteshttp://lattes.cnpq.br/3523820267263034pt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/3277487290886063pt_BR
dc.contributor.advisor-co1Diener, Matthias
dc.contributor.advisor-co1Latteshttp://lattes.cnpq.br/8653611969517458pt_BR
dc.contributor.advisor-co2Pilla, Maurício Lima
dc.contributor.advisor-co2Latteshttp://lattes.cnpq.br/5401660213198750pt_BR
dc.description.resumoSoftware 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.departmentCentro de Desenvolvimento Tecnológicopt_BR
dc.publisher.programPrograma de Pós-Graduação em Computaçãopt_BR
dc.publisher.initialsUFPelpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.publisher.countryBrasilpt_BR
dc.contributor.advisor1Du Bois, André Rauber


Arquivos deste item

Thumbnail
Thumbnail
Thumbnail
Thumbnail

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples