20jan2022
13:00 Defesa de Doutorado Integralmente a distância
Tema
Melhorando a Transição de Modo em Implementações de Memória Transacional em Fases
Aluno
Catalina Muñoz Morales
Orientador / Docente
Guido Costa Souza de Araújo
Breve resumo
Memória transacional (TM) é uma abstração de programação desenvolvida para arquiteturas de memória compartilhada, que permite ao usuário escrever programas paralelos sem ter que se preocupar com acessos simultâneos a objetos compartilhados. Esta abstração de programação é especialmente projetada para programas com acessos irregulares à memória e comportamento data-driven, para os quais o desenvolvimento de implementações paralelas usando mecanismos de controle de concorrencia de bloqueios, como locks, é complicado, tornando-os propensos a erros de lógica como deadlocks ou livelocks. Várias implementações de memória transacional foram desenvolvidas. Essas implementações podem usar hardware disponível em arquiteturas de computadores modernas ou runtimes que fornecem toda a sincronização de concorrencia necessária. As implementações de software e hardware têm uma série de vantagens e desvantagens que as tornam abaixo do óptimo como uma solução única para todos os aplicativos em geral. Phased Transactional Memory (Phased TM), é uma implementação de TM que busca explorar os benefícios das implementações HW e SW executando transações em fases HW/SW (modos), selecionadas de acordo com as características de cada transação. Um problema específico de implementações de TM em fases é o processo de tomada de decisão necessário para decidir (em run time) o modo de execução e o momento adequado para alternar para outro modo. Esta Tese propõe novos mecanismos de tomada de decisão que não só tiram vantagem do HW (ou seja, o fast-path), mas também procuram reduzir o número de transições de modo, evitando assim overheads desnecessários. Para isso, dois mecanismos de transição foram desenvolvidos considerando uma implementação de TM de três modos: Hardware (HW), Software (SW) e modos de Bloqueio Global (GLOCK). A primeira implementação apresentada nesta Tese, Graph-oriented TM (GoTM), foi inspirada no comportamento data-driven e monotonicamente convergente de programas de grafos. GoTM usa uma medição de taxa commit throughput de cada modo de execução (HW ou SW) como a métrica principal, para acelerar aplicativos típicos em análises de grafos em grande escala. O segundo mecanismo, Commit throughput TM (CTM), elabora ainda mais a métrica de commit throughput, para desenvolver uma solução geral que visa evitar os problemas de over-fitting. CTM é baseado em: (a) uma métrica de commit throughput relativa que compara a evolução do desempenho do programa (aumento ou diminuição) em cada modo de execução; e (b) uma simulação de capacidade de cache que estima o requisito de armazenamento especulativo de transações em execução, que é usada para evitar aborts persistentes relacionados à capacidade en HTM. Nossos resultados experimentais, obtidos usando aplicativos para análise de grafos em grande escala e o benchmark STAMP, mostram que o Phased TM é um mecanismo que melhora o desempenho e a escalabilidade de vários aplicativos da vida real, desde que ofereça mecanismos eficientes de transição de modo.
Banca examinadora
Titulares:
Guido Costa Souza de Araújo IC/UNICAMP
Emílio de Camargo Francesquini CMCC/UFABC
Gerson Geraldo Homrich Cavalheiro CDTec/UFPel
Breno Bernard Nicolau de França IC/UNICAMP
Luiz Eduardo Buzato IC/UNICAMP
Suplentes:
Sandro Rigo IC/UNICAMP
Lucas Francisco Wanner IC/UNICAMP
Vanderlei Bonato ICMC/USP
Instituto de Computação
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.