Bắt đầu ngayBắt đầu miễn phí

Tốc độ tăng trưởng dân số với mclapply()

Là một Statistical Programmer, bạn thường xuyên thực hiện bootstrapping trong R. Một phân tích thường lệ là bootstrap phân phối cho tốc độ tăng trưởng dân số trung bình của các quốc gia trong một giai đoạn nhất định.

Mã hiện tại trong môi trường production dùng cụm PSOCK và parLapply() để song song hóa quy trình cho hiệu năng tốt hơn. Tuy nhiên, tốc độ vẫn chưa đáp ứng nhu cầu production. Sếp của bạn yêu cầu so sánh hiệu năng giữa cụm PSOCK và FORK.

gr_list đã được nạp vào workspace của bạn. Mỗi phần tử của gr_list chứa tốc độ tăng trưởng dân số cho một quốc gia từ 2001 đến 2021. Hàm bootstrap, boot_dist(), cũng đã sẵn sàng. Các gói parallelmicrobenchmark đã được nạp.

Bài tập này là một phần của khóa học

Lập trình song song trong R

Xem khóa học

Hướng dẫn bài tập

  • Dùng phiên bản FORK của parLapply().
  • Cung cấp danh sách đầu vào.
  • Cung cấp hàm áp dụng cho từng phần tử đầu vào.
  • Chỉ định bốn lõi cho cụm FORK.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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)
Chỉnh sửa và Chạy Mã