Comece agoraComece grátis

Taxas de crescimento populacional com mclapply()

Como Programador(a) Estatístico(a), você faz muito bootstrap em R. Uma das análises rotineiras é gerar, por bootstrap, uma distribuição para a média da taxa de crescimento populacional de diferentes países em um determinado período.

O código atual em produção usa um cluster PSOCK e parLapply() para paralelizar esse processo e ganhar eficiência. No entanto, ainda está lento para as necessidades de produção. Seu chefe pediu que você compare o desempenho de clusters PSOCK vs. FORK.

gr_list foi carregado no seu workspace. Cada elemento de gr_list contém as taxas de crescimento populacional de um país de 2001 a 2021. A função de bootstrap, boot_dist(), também está disponível. Os pacotes parallel e microbenchmark foram carregados.

Este exercicio faz parte do curso

Programação Paralela em R

Ver curso

Instruções do exercicio

  • Use a versão FORK de parLapply().
  • Forneça a lista de entradas.
  • Forneça a função a ser aplicada a cada elemento da entrada.
  • Especifique quatro núcleos para o cluster FORK.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

microbenchmark(
  "PSOCK" = {
    cl <- makeCluster(4)
    parLapply(cl, gr_list, boot_dist)
    stopCluster(cl)
  },
  # Use the FORK version of parLapply()
  "FORK" = ___(
    # Supply input
    ___,
    # Supply function to apply
    ___,
    # Specify number of cores
    ___ = ___),
  times = 1)
Editar e Executar Código