Busca avançada
Ano de início
Entree

Paralelização de laços usando Map-Reduce na nuvem para cargas de trabalho científicas

Processo: 18/21695-0
Linha de fomento:Bolsas no Brasil - Pós-Doutorado
Vigência (Início): 01 de dezembro de 2018
Vigência (Término): 30 de novembro de 2019
Área do conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Sistemas de Computação
Pesquisador responsável:Guido Costa Souza de Araújo
Beneficiário:Hervé Yviquel
Instituição-sede: Instituto de Computação (IC). Universidade Estadual de Campinas (UNICAMP). Campinas , SP, Brasil
Assunto(s):Programação paralela   Computação de alto desempenho   Computação paralela

Resumo

O objetivo deste projeto é a criação de um modelo de "runtime" transparente, para código paralelo, que permita a execução remota, e distribuída, em clusters de computadores da nuvem. As idéias aqui discutidas tem por objetivo implementar e consolidar OpenMR, um novo modelo de programação, proposto pelo IC-Unicamp, que estende OpenMP e permite o programador paralelizar laços de maneira transparente na nuvem usando MapReduce. A implementação de um protótipo preliminar de OpenMR demonstrou que a proposta é viável, uma vez que produziu resultados experimentais encorajadores, e apontou para uma série de novas oportunidades de pesquisa, que serão desenvolvidas no âmbito deste projeto. Um dos atrativos do modelo OpenMR é a simplicidade da sua utilização. Sob a ótica de OpenMR, a nuvem pode ser modelada como um nível adicional na hierarquia de computação. A idéia de uma hierarquia de computação foi estabelecida ao longo de muitos anos, através do desenvolvimento da arquitetura de computador e de uma sólida pilha de software. No entanto, computação distribuída na nuvem ainda não foi integrada totalmente nesta pilha, sob o ponto de vista do modelo de programação, uma lacuna significativa que impede a utilização transparente de código remotamente. Por exemplo, um problema em aberto que deve ser abordado neste projeto é como o movimento de dados é integrado nesta hierarquia. Com custos mais elevados de comunicação, e potencialmente diferentes modelos de programação, algoritmos para otimizar esse movimento de dados de/para nuvem precisam ser melhor investigados. Outro problema está relacionado com a identificação de novas técnicas de otimização que possam esconder a latência da comunicação por meio de computação "pipelined", e outros algoritmos de paralelização.