2013-09-06 4 views
5

मैं पैकेज में parallel पैकेज का उपयोग करने का प्रयास कर रहा हूं। यह कार्य लॉग संभावना दूरी की गणना करके अनुक्रम मैट्रिक्स को मान निर्दिष्ट कर रहा है - एक सीपीयू-गहन ऑपरेशन।mclapply उपयोगकर्ता समय बीत चुके समय से बड़ा

जिसके परिणामस्वरूप system.time मूल्यों भ्रमित कर रहे हैं:

> system.time(mclapply(worksample,function(x){p_seqi_modj(x,worksample[[1]],c(1:17))})) 
    user system elapsed 
29.339 1.242 18.581 

मैंने सोचा था कि elapsed एकत्रित समय (user + system) का अर्थ है। इस मामले में उपरोक्त परिणाम का क्या अर्थ है और मुझे अपने समय को किस समय केंद्रित करना चाहिए? मेरा अनूठा संस्करण user समय में कम है और elapsed में बहुत कुछ है।

+0

सवाल यह है कि आप किस चीज की परवाह करते हैं? अधिकांश लोग जल्द से जल्द परिणाम चाहते हैं जो विलुप्त समय से मेल खाते हैं। –

उत्तर

3

सहायता पृष्ठ ?system.time कहता है कि फ़ंक्शन द्वारा लौटाया गया मान वर्ग proc_time का एक ऑब्जेक्ट है, और हमें ?proc.time से परामर्श लेना चाहिए। वहाँ हम सीखते हैं कि उपयोगकर्ता समय

cumulative sum of user and system times of any child processes 

तो अपने काम के लिए प्रत्येक कोर पर 15s के बारे में खर्च किया गया है (mclapply चूक 2 कोर का उपयोग करने, mc.cores तर्क देखें)।

असल में, हम पहले सहायता पृष्ठ में देखते हैं कि proc.time() प्रक्रिया और बच्चे के समय को अलग करने वाले पांच तत्व लौटाता है, और प्रिंटिंग में उपयोग की जाने वाली सारांश विधि उपयोगकर्ता और सिस्टम समय को प्रक्रिया + बाल समय में ध्वस्त कर देती है, इसलिए वहां एक थोड़ा और जानकारी उपलब्ध है।

+0

बस दोहराने के लिए और सुनिश्चित करें कि मैं समझता हूं, इसका मतलब है कि विलुप्त समय वह समय है जो वास्तव में ऑपरेशन के अंत से अंत तक पारित होता है, और उपयोगकर्ता का समय सभी कोरों में सभी व्यतीत समयों का योग होता है (मेरे मामले में 2) । तो अगर मैं 2 कोर पर समानांतर में भाग गया, तो प्रत्येक ने कार्य को पूरा करने के लिए 15 सेकंड खर्च किए (एक साथ ~ 30 सेकंड), लेकिन कुल बीतने वाला समय केवल 18 सेकेंड है, ठीक उसी तरह के कार्यों में निष्पादित कार्यों के कारण। क्या ये सही है? – zima

+0

हाँ यह सही है –

+0

यह उत्तर सही नहीं है क्योंकि आप मदद फ़ाइल को गलत तरीके से पढ़ रहे हैं। 'proc.time()' 5 मान देता है, और चौथा और 5 वां मान "4: (उपयोगकर्ता की संचयी राशि [किसी भी बच्चे की प्रक्रिया का समय]) और 5: (किसी भी बच्चे की प्रक्रिया के सिस्टम टाइम्स)"। – thc

संबंधित मुद्दे