| 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 | |
| TITULO | |
| Matéria(s) publicada(s) em Outras Mídias ( ): | |
| Mais itensMenos itens | |
| VEICULO: TITULO (DATA) | |
| VEICULO: TITULO (DATA) | |