Improving mode transitioning in Phased Transactional Memory implementations
Le résumé fourni par la source
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.
Ce résumé expose les affirmations des auteurs. BNTIC ne l’interprète pas comme une validation indépendante des résultats.
Le contrôle bibliographique ouvert
DOI retrouvé dans Crossref DOI retrouvé ; titre concordant.
- Titre Crossref
- Improving mode transitioning in Phased Transactional Memory implementations
- Date Crossref
- 21/11/2023
- Éditeur
- Universidade Estadual de Campinas
- Type
- dissertation
Ce recoupement confirme des métadonnées liées au DOI. Il ne confirme ni la méthode ni les conclusions de l’étude, et il ne compte pas comme une seconde source scientifique indépendante.