mclapply() के साथ जनसंख्या वृद्धि दर
एक Statistical Programmer के रूप में, आप R में बहुत-सा bootstrapping करते हैं. आपकी एक नियमित विश्लेषण प्रक्रिया यह है कि अलग-अलग देशों के लिए किसी दिए गए समय-काल में औसत जनसंख्या वृद्धि दर के लिए एक distribution को bootstrap करना.
प्रोडक्शन में मौजूदा कोड इस प्रक्रिया को कुशलतापूर्वक चलाने के लिए PSOCK क्लस्टर और parLapply() का उपयोग करके parallelize करता है. हालांकि, प्रोडक्शन की ज़रूरतों के लिए यह अभी भी धीमा चल रहा है. आपके बॉस ने आपसे PSOCK बनाम FORK क्लस्टर्स के प्रदर्शन की तुलना करने को कहा है.
gr_list आपके वर्कस्पेस में लोड है. gr_list का प्रत्येक एलिमेंट किसी दिए गए देश के लिए 2001 से 2021 तक की जनसंख्या वृद्धि दरें रखता है. bootstrap फंक्शन boot_dist() भी उपलब्ध है. parallel और microbenchmark पैकेज लोड किए गए हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में पैरेलल प्रोग्रामिंग
अभ्यास निर्देश
parLapply()के FORK संस्करण का उपयोग करें.- इनपुट्स की सूची सप्लाई करें.
- इनपुट के प्रत्येक एलिमेंट पर लागू करने के लिए फंक्शन सप्लाई करें.
- FORK क्लस्टर के लिए चार कोर निर्दिष्ट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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)