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
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)