Busca avançada
Ano de início
Entree

Integrando Execução Especulativa à Paralelização de Laços e Tarefas

Processo: 18/07446-8
Modalidade de apoio:Bolsas no Brasil - Pós-Doutorado
Vigência (Início): 01 de agosto de 2018
Vigência (Término): 30 de setembro de 2023
Área do conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Sistemas de Computação
Pesquisador responsável:Alexandro José Baldassin
Beneficiário:Juan Jesús Salamanca Guillén
Instituição Sede: Instituto de Geociências e Ciências Exatas (IGCE). Universidade Estadual Paulista (UNESP). Campus de Rio Claro. Rio Claro , SP, Brasil
Vinculado ao auxílio:18/15519-5 - Otimizações de desempenho para arquiteturas multicore, AP.JP2
Bolsa(s) vinculada(s):20/01665-0 - Integrando execução especulativa à paralelização de tarefas, BE.EP.PD
Assunto(s):Programação paralela   Memória transacional   Computação paralela
Palavra(s)-Chave do Pesquisador:computação paralela | Execução Especulativa de Código | Memória Transacional | OpenMP | Programação paralela | Thread-Level Speculation | Computação Paralela

Resumo

Esta proposta traz cinco contribuições para abordar o problema de paralelização de código. Primeiro, propõe uma ferramenta para medir a probabilidade de dependências loop-carried de cada componente e detectar padrões loop-carried de laços estendendo a cláusula check de OpenMP. Experimentos iniciais mostram que a loop-carried probability é uma métrica eficaz para decidir quando usar TLS ou BDX para paralelizar laços, assim, para certos laços, slowdowns podem ser transformados em 2× de speed-ups selecionando rapidamente o algoritmo apropriado. Em segundo lugar, propõe uma abordagem de anotação de código para separar os componentes sequenciais ou may sequenciais de um dado loop baseado na loop-carried probability de cada componente, expondo assim outros componentes à paralelização. Em terceiro lugar, integra dois algoritmos (TLS e BDX) em uma cláusula OpenMP simples que permite ao programador selecionar a melhor algoritmo para cada componente de um determinado laço (abordagem judicious). Quarto, propõe novas cláusulas do OpenMP para implementar privatizações especulativas (spec private e spec reduction) que são essenciais para alcançar bom desempenho no algoritmo TLS. Finalmente, esta proposta também descreve uma nova técnica de especulação para a execução paralela de tarefas. Essa técnica, chamada de Speculative Task Execution (STE), executa especulativamente tarefas que têm dependências de controle com tarefas anteriores. No entanto, STE também pode ser usado para especular dependências de dados entre tarefas de diferentes iterações em um loop possivelmente gerado por uma construção taskloop. STE requer suporte de hardware que pode ser fornecido de maneira semelhante ao dispon1vel nos sistemas HTM (Hardware Transactional Memory). Propomos a implementação de um protótipo para o STE e o projeto de novas construções e cláusulas especulativas para integrar STE em uma paralelização baseada em tarefas de OpenMP: (a) a construção spec on; (b) a cláusula tls para taskloop; e (c) o tipo de dependência spec in para a cláusula depend.

Matéria(s) publicada(s) na Agência FAPESP sobre a bolsa:
Mais itensMenos itens
Matéria(s) publicada(s) em Outras Mídias ( ):
Mais itensMenos itens
VEICULO: TITULO (DATA)
VEICULO: TITULO (DATA)

Publicações científicas (4)
(Referências obtidas automaticamente do Web of Science e do SciELO, por meio da informação sobre o financiamento pela FAPESP e o número do processo correspondente, incluída na publicação pelos autores)
SALAMANCA, JUAN; BALDASSIN, ALEXANDRO; MCINTOSHSMITH, S; DESUPINSKI, BR; KLINKENBERG, J. Improving Speculative taskloop in Hardware Transactional Memory. OPENMP: ENABLING MASSIVE NODE-LEVEL PARALLELISM, IWOMP 2021, v. 12870, p. 15-pg., . (18/15519-5, 18/07446-8)
SALAMANCA, JUAN; BALDASSIN, ALEXANDRO; KLEMM, M; DESUPINSKI, BR; KLINKENBERG, J; NETH, B. Using Off-the-Shelf Hardware Transactional Memory to Implement Speculative While in OpenMP. OPENMP IN A MODERN WORLD: FROM MULTI-DEVICE SUPPORT TO META PROGRAMMING, v. 13527, p. 15-pg., . (18/07446-8, 18/15519-5, 20/01665-0)
SALAMANCA, JUAN; IEEE. Performance Comparison of Speculative Taskloop and OpenMP-for-Loop Thread-Level Speculation on Hardware Transactional Memory. 2022 21ST INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED COMPUTING (ISPDC 2022), v. N/A, p. 8-pg., . (18/07446-8, 18/15519-5, 20/01665-0)
SALAMANCA, JUAN; BALDASSIN, ALEXANDRO; FAN, X; DESUPINSKI, BR; SINNEN, O; GIACAMAN, N. A Proposal for Supporting Speculation in the OpenMP taskloop Construct. OPENMP: CONQUERING THE FULL HARDWARE SPECTRUM, IWOMP 2019, v. 11718, p. 16-pg., . (18/15519-5, 18/07446-8)

Por favor, reporte erros na lista de publicações científicas utilizando este formulário.