Bolsa 20/01665-0 - Computação paralela, Programação - BV FAPESP
Busca avançada
Ano de início
Entree

Integrando execução especulativa à paralelização de tarefas

Processo: 20/01665-0
Modalidade de apoio:Bolsas no Exterior - Estágio de Pesquisa - Pós-Doutorado
Data de Início da vigência: 01 de junho de 2022
Data de Término da vigência: 31 de maio de 2023
Área de 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
Supervisor: Eduard Ayguade Parra
Instituição Sede: Instituto de Geociências e Ciências Exatas (IGCE). Universidade Estadual Paulista (UNESP). Campus de Rio Claro. Rio Claro , SP, Brasil
Instituição Anfitriã: Barcelona Supercomputing Center (BSC), Espanha  
Vinculado à bolsa:18/07446-8 - Integrando Execução Especulativa à Paralelização de Laços e Tarefas, BP.PD
Assunto(s):Computação paralela   Programação
Palavra(s)-Chave do Pesquisador:Hardware Transactional Memory | OpenMP | parallel computing | Speculative Execution | Task parallelism | Thread-Level Speculation | Computação Paralela

Resumo

Além de loops, existem outras regiões de código quente que os programadores tentam paralelizar. O modelo de programação baseado em tarefas simplifica isto fornecendo anotações de dependências entre tarefas. Assim, um sistema em tempo de execução gerencia essas dependências e escalona as diferentes tarefas para execução nos núcleos do processador. No entanto, o programador deve usar diretivas (por exemplo, "taskwait") para garantir a corretude das dependências de controle entre tarefas, inclusive quando elas podem ser independentes nos dados e, portanto, executadas especulativamente em paralelo, ou devem marcar como dependências de entrada ou saída nas variáveis que raramente são dependentes de outros dados e poderiam ser especuladas. Esta proposta descreve uma nova técnica de especulação para a execução paralela de tarefas. Esta técnica, chamada de Speculative Task Execution (STE), executa especulativamente tarefas de iterações "while" que possuem dependências de controle com tarefas anteriores (Speculative While). No entanto, STE também pode ser usado para especular dependências de dados entre tarefas de diferentes iterações em um loop gerado pela construção "taskloop" (Speculative Taskloop). Propomos a implementação de um protótipo para STE e o projeto de novas construções e cláusulas especulativas para integrar STE na paralelização baseada em tarefas de OpenMP: (a) a cláusula "stl" para a construção "taskloop"; (b) a construção "while ste", e (c) os modificadores de tipo de dependência "spec_in", "spec_out" e "spec_inout" para a cláusula depend. (AU)

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
(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; 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)

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