RNG, R, mclapply और कंप्यूटर के क्लस्टर


10

मैं R और कंप्यूटर के एक क्लस्टर पर एक सिमुलेशन चला रहा हूं और निम्नलिखित समस्या है। प्रत्येक X कंप्यूटर पर मैं चलता हूं:

fxT2 <- function(i) runif(10)
nessay <- 100
c(mclapply(1:nessay, fxT2), recursive=TRUE)

32 कंप्यूटर हैं, जिनमें से प्रत्येक में 16 कोर हैं। हालाँकि, लगभग 2% यादृच्छिक संख्याएँ समान हैं। इससे बचने के लिए आप क्या रणनीति अपनाएंगे?

मैं एक विलंबता सेट करके fxT2 के लिए इस समस्या से बचने में सक्षम रहा हूं (यानी एक सेकंड में देरी से जिस पर प्रत्येक एक्स कंप्यूटर में प्रत्येक नौकरी को भेजा जाता है)। लेकिन यह fxt2 के लिए बहुत तदर्थ लगता है।

समस्या यह है कि वास्तव में fxT2 एक लंबा काम है जिसमें छद्म यादृच्छिक संख्याएँ शामिल हैं। प्रक्रिया के अंत में, मैं एक ही सांख्यिकीय प्रयोग का एक्स * नेसे पुनरुत्पादन प्राप्त करने की उम्मीद करता हूं, न कि न्यूसे प्रजनन। कैसे सुनिश्चित करें कि यह वास्तव में मामला है और यह जाँचने का एक तरीका है?


अच्छा प्रश्न। यादृच्छिक संख्या और मल्टीकोर पैकेज पर इस सवाल पर एक नज़र डालें
csgillespie

@CSgillepsie:> पॉइंटर के लिए धन्यवाद, लेकिन मुझे यकीन नहीं है कि यह एक ही समस्या है: जिस तरह से मैंने आपके द्वारा बताए गए प्रश्न को समझा है, सभी प्रक्रिया mclapply द्वारा प्रायोजित हैं। यहां यह थोड़ा अलग है: प्रत्येक मशीन पर, सभी प्रक्रियाएं mclapply द्वारा प्रायोजित की जाती हैं, लेकिन मशीनों के मामले में ऐसा नहीं है ।
user603

जवाबों:


6

बर्फ के RNG की दी गई संख्या के एक क्लस्टर गणना में धाराओं आरंभ स्पष्ट समर्थन हासिल है।

यह दो RNG कार्यान्वयनों में से एक को नियोजित कर सकता है:

अन्यथा आपको हाथ से समन्वय करना होगा।


3

आपको विशेष रूप से समानांतर कंप्यूटिंग के लिए डिज़ाइन किए गए RNG का उपयोग करने की आवश्यकता है। उच्च प्रदर्शन कम्प्यूटिंग टास्क दृश्य के "समानांतर कंप्यूटिंग: रैंडम संख्या" अनुभाग देखें


आपको आरएनजी धाराओं के बीच समन्वय करने की भी आवश्यकता है। हिमपात करता है कि, अब मल्टीकोर हो सकता है।
डिर्क एडल्डबुलेटेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.