Zacznij terazZacznij za darmo

Wskaźniki wzrostu populacji z mclapply()

Jako programista statystyczny często stosujesz w R technikę bootstrapowania. Jedną z rutynowych analiz jest wyznaczanie rozkładu bootstrapowego dla średniego wskaźnika wzrostu populacji różnych krajów w danym przedziale czasowym.

Aktualny kod produkcyjny korzysta z klastra PSOCK i funkcji parLapply() do zrównoleglenia tego procesu. Jednak jego wydajność nadal nie spełnia wymagań produkcyjnych. Twój przełożony poprosił cię o porównanie wydajności klastrów PSOCK i FORK.

W twoim środowisku pracy dostępna jest lista gr_list. Każdy jej element zawiera wskaźniki wzrostu populacji dla danego kraju w latach 2001–2021. Dostępna jest również funkcja bootstrapująca boot_dist(). Pakiety parallel i microbenchmark są już załadowane.

To ćwiczenie jest częścią kursu

Programowanie równoległe w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj wersji parLapply() opartej na klastrze FORK.
  • Podaj listę danych wejściowych.
  • Podaj funkcję, która ma zostać zastosowana do każdego elementu listy.
  • Określ cztery rdzenie dla klastra FORK.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod