MC-SD05-II
R para HPC

Professor: Kary Ocaña (LNCC)

Horarios: Sexta 15/01 de 14:30h às 18:30h

Objetivo: O R é uma linguagem bastante utilizada por cientistas de dados, estatísticos, biológos, epidemiologistas e funciona muito bem em muitas pesquisas, gerando resultados de qualidade em relatórios e artigos científicos. A flexibilidade e facilidade de programar avançando nas análises a partir de funções e pacotes disponíveis são vantagens decisivas na escolha dessa linguagem por pesquisadores. No entanto, a análise de dados massivos decorrentes principalmente da era ‘Big Data’ envolvem avançados algoritmos com grande número de parâmetros necessários para ser estimado. Analisar os dados massivos tem sido um fator limitante na linguagem R. Isso porque o R foi originalmente pensado para ser executado em uma única thread, além de ser uma linguagem interpretada, sendo a maior parte das instruções executadas diretamente. Aliado a esses fatores, o conhecimento sobre MPI, SOCKET, C, C++ e Fortran são barreiras para grande de pesquisadores que lidam com cálculos estatísticos intensivos e estão tentando acelerar os cálculos implementando algoritmos paralelos. Ao longo dos anos, diversas iniciativas têm sido feitas para melhorar a eficiência e desempenho das aplicações em R. Esse curso tem como proposta apresentar algumas dessas estratégias de paralelismo e melhora na eficiência para ganho de escalabilidade na linguagem R.

Pré-requisitos
  1. R básico
  2. Conhecimentos em plataformas HPC


Ementa:
  1. R, introdução geral
    • O que é o R
    • Vantagens do R
  2. Funções da família apply
  3. Pacotes de paralelismo do R
    • Pacote parallel (funções análogas às da família apply)
    • Pacote foreach e backends parelelos (estrutura análoga ao laço for nativo do R)
  4. Benchmark no R
  5. Exemplos com análise de agrupamento
  6. Otimização do código
  7. Estudo de caso, Model-R

Bibliografia:
  1. State of art in parallel computing with R. Journal of Statistical Software. August, 2009. Vol.31(1).
  2. A survey of R software for parelle computing (2014) Vol. 2(4). Americal Journal of Applied Mathematics and Statistics.
  3. Ethan McCallum e Stephen Weston (2012). Parallel R. (Book). O’Reilly.
  4. Lin, H., Yang, S. and Midkiff, S. P. (2013). A Parallel R Framework for Processing Large Dataset on Distributed Systems. Dataset on Distributed Systems, DataCloud.