JAI 2 - Ferramentas Modernas para Programação Multithread

Gerson Geraldo H. Cavalheiro, André Rauber Du Bois (UFPel)

 

RESUMO

A programação multithread cresce em importância no cenário de desenvolvimento de software devido à grande acessibilidade da tecnologia multicore como parte da arquitetura de suporte à execução. Em função da diversidade de configurações que tais arquiteturas podem assumir, em particular do número de processadores e da hierarquia de memória, uma determinada ferramenta de programação deve ser selecionada considerando tanto o poder de expressão de sua interface como o desempenho de sua estratégia de execução. Neste contexto, o presente capítulo introduz conceitos de programação paralela e de arquiteturas multiprocessadas e apresenta quatro ferramentas modernas para programação multithread: C++11, OpenMP, Cilk Plus e TBB. A apresentação destas ferramentas se dá em termos das facilidades de desenvolvimento que oferecem, ou seja, de suas abstrações para a construção de programas paralelos e de seus recursos para explorar de forma eficiente a arquitetura disponível. As diferentes propostas de interface e de estratégia de escalonamento adotada por C++11, OpenMP, Cilk Plus e TBB são discutidas e comparadas entre si com vistas a delinear a vocação de cada ferramenta. Esta apresentação é complementada com estudos de caso implementados nas diferentes plataformas.

CV DOS AUTORES

Gerson Cavalheiro é Professor Adjunto IV na Universidade Federal de Pelotas onde atua junto aos cursos de graduação em Engenharia de Computação, Ciência da Computação e Mestrado em Ciência da Computação.ederal de Pelotas, junto ao Centro de Desenvolvimento Tecnológico, atuando junto aos cursos de graduação em Engenharia e Ciência da Computação e ao Programa de Pós-graduação em Computação. Possui mestrado e doutorado em Ciência da Computação obtidos no PPGCC da UFRGS (1994) e INPG (Fança, 1999), respectivamente. Sua área de pesquisa principal é o Processamento de Alto Desempenho, mais especificamente em ambientes para programação e execução de programas paralelos, na qual orientou quatro dissertações de mestrado relacionadas e diversos trabalhos de bacharelado e bolsas de iniciação científica. Sua experiência na área, resultado de diversos projetos de pesquisa concluídos ou em andamento, subsidiam disciplinas que ministra, dentre estas, Processamento de Alto Desempenho no pósgraduação e Introdução ao Processamento Paralelo e Distribuído, em turmas de graduação e pós-graduação. O professor Gerson também ministrou vários cursos e mini-cursos sobre diferentes tópicos de programação paralela, entre estes cita-se um Ministrado no JAI 2007 focado na exploração eficiente de arquiteturas multicore, outro na Escola Regional de Informática da Região Norte (2002), focando em tecnologias Pthreads, OpenMP e Java e outro ministrado em uma escola de verão do LNCC (2008) focado em programação para arquiteturas multicore. Cita-se ainda que o professor Gerson é autor do Curso Permanente de Programação Paralela da Escola Regional de Alto Desempenho (Rio Grande do Sul) material que é ministrado por diferentes professores a cada edição desta Escola.

André Rauber Du Bois é professor Adjunto da Universidade Federal de Pelotas onde atua no Programa de Pós-Graduação em Computação além de ser professor nos cursos de Bacharelado em Ciência da Computação e Engenharia de Computação. Possui doutorado pela Herio-Watt University (Escócia), Mestrado pela UFRGS e Graduação pela UCPel. Sua pesquisa visa principalmente o desenvolvimento e implementação de abstrações de programação que facilitem a escrita de software paralelo e distribuído. Nos últimos anos tem trabalhado com linguagens e programação funcional e concorrência, green computing e Memórias Transacionais.

 

Organização

   Promoção   Agência Oficial 

 

 

as CIC B1 cor

 

 Coordenação Geral  

  ifb             logosbctransparente            

 

Patrocínio
 
  cgi     capes     ctic     cnpq     Ministerio de Esportes
             
    ministerio     secretaria     google

 

Apoio
             
logocomnet p       consecti        logo cjr       obs
  sec                 w3c Giga Candanga