ÎncepețiÎncepe gratuit

Ratele de creștere a populației cu mclapply()

În calitate de programator statistician, lucrezi frecvent cu bootstrap în R. Una dintre analizele de rutină pe care le efectuezi este calculul prin bootstrap al distribuției pentru rata medie de creștere a populației în diferite țări, pe o perioadă de timp dată.

Codul actual din producție folosește un cluster PSOCK și parLapply() pentru a paraleliza acest proces și a-l rula eficient. Totuși, viteza de execuție este în continuare insuficientă pentru nevoile de producție. Șeful tău ți-a cerut să compari performanța clusterelor PSOCK și FORK.

gr_list a fost încărcat în spațiul tău de lucru. Fiecare element din gr_list conține ratele de creștere a populației pentru o anumită țară, din 2001 până în 2021. Funcția de bootstrap, boot_dist(), este de asemenea disponibilă. Pachetele parallel și microbenchmark au fost încărcate.

Acest exercițiu face parte din cursul

Programare paralelă în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește versiunea FORK a funcției parLapply().
  • Furnizează lista de intrări.
  • Furnizează funcția care se va aplica fiecărui element din listă.
  • Specifică patru nuclee pentru clusterul FORK.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul