2016-01-20 7 views
5

मेरी sparkconf में, मैं कोर का उपयोग करने की संख्या निर्धारित कर सकते हैं, मैं 4 भौतिक है, 8 अपने लैपटॉप पर तार्किक, क्या चिंगारी अगर मैं एक संख्या है कि मशीन पर संभव नहीं था निर्दिष्ट करता है, जैसे 100 कोर कहा?यदि मैं अपने पास से अधिक कोर का उपयोग करने का प्रयास करता हूं तो क्या होता है?

+1

स्थानीय मोड में चिंगारी चल साथ मेरे प्रयोगों में मैं अच्छे परिणाम देखा 'मास्टर =" स्थानीय [4 * शारीरिक कोर] "' सेटिंग। यह मेरे सीपीयू के उपयोग को लगभग 40% से लगभग 80% तक दोगुना कर देता है। भौतिक कोर उपलब्ध होने से 2, 4 या 8 गुना अधिक धागे का उपयोग करने के लिए स्पार्क को कॉन्फ़िगर करने की कोशिश करना निश्चित रूप से लायक है। – asmaier

उत्तर

7

कोर की संख्या शारीरिक कोर लेकिन धागे चलाने का एक नंबर का वर्णन नहीं करता। इसका मतलब है कि वास्तव में कुछ भी अजीब नहीं होता है यदि संख्या कई उपलब्ध कोरों से अधिक है।

अपने सेटअप के आधार पर यह वास्तव में एक पसंदीदा के आसपास उपलब्ध कोर आमतौर पर की सिफारिश की सेटिंग होने का दो बार एक नंबर मूल्य के साथ विन्यास हो सकता है। जाहिर है यदि संख्या अधिक है तो आपका आवेदन वास्तविक प्रसंस्करण की तुलना में धागे के बीच स्विच करने पर अधिक समय व्यतीत करेगा।

0

यह आपके क्लस्टर प्रबंधक पर निर्भर करता है। मुझे लगता है कि आप local[n] रन मोड के बारे में पूछ रहे हैं।

यदि हां, तो ड्राइवर और एक और केवल एक निष्पादक धागे की n संख्या के साथ एक ही JVM हैं।

DAGScheduler - स्पार्क निष्पादन योजनाकार n धागे का उपयोग करेगा जैसा कि आपने बताया है कि कई कार्यों को शेड्यूल करने के लिए।

आप अधिक कार्य, अर्थात धागे है, तो कोर की तुलना में, अपने ओएस कोर की तुलना में अधिक धागे से निपटने और उन्हें उचित रूप से शेड्यूल करने के लिए होगा।

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

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