कठिनाई? कोई नहीं
बस कई फारो उदाहरण लॉन्च करें और उन्हें सॉकेट के माध्यम से संवाद करें या अपने अंतिम डेटा को एक सामान्य फ़ाइल में सहेजें। आपका ओएस प्रत्येक इंस्टेंस का प्रबंधन करेगा और इसे एक diffirent कोर में निष्पादित करने के लिए भेज देगा। ओएसप्रोसेस मॉड्यूल ऐसी कार्यक्षमता प्रदान करता है और हाइड्रा और रोअरवीएम जैसे सफल कार्यान्वयन रहा है, समस्या कोई भी उनका उपयोग नहीं करती है।
असल में समानांतरता की सबसे कठिन चीज लोगों को इसका उपयोग करना है। आज के हार्डवेयर अनुप्रयोगों के साथ शायद ही कभी एक कोर का 100% मारा जाता है। मैंने मुश्किल से फारो को 10% से ऊपर नहीं बनाया है।
कई प्रोग्रामिंग गतिशील प्रोग्रामिंग भाषाओं की तरह स्मॉलटाक एक डेवलपर प्रदर्शन भाषा है और एप्लिकेशन प्रदर्शन भाषा नहीं है।
यदि आपके पास वास्तव में ऐसी भारी प्रसंस्करण समस्या है तो आपको सी और सी ++ जैसी भाषाओं का उपयोग करना चाहिए जो बहुत ही आवेदन प्रदर्शन उन्मुख भाषाओं हैं।न केवल उन भाषाओं का उपयोग करने के लिए अपना रास्ता कठिन है, बल्कि सही पुस्तकालय के साथ भी समानांतरता भी करना मुश्किल है। हार्डवेयर बहुत अजीब डिजाइन बुद्धिमान है और वहां एक टन मिलचास की तरह आपको अवगत होना चाहिए।
और यही कारण है कि समांतरता उन प्रोग्रामिंग भाषाओं को बेहतर बनाती है। बेशक आप सी/सी ++ में पुस्तकालय बना सकते हैं और फ़ारो या अन्य छोटे-छोटे लोग उनका उपयोग कर सकते हैं। पाइथन यह करता है। पाइथन और फारो काफी समान हैं कि वे दोनों जीआईएल का उपयोग करते हैं और हरे धागे हैं। गॉचा यह है कि वीएम को सीधे पहुंच प्राप्त करने के लिए आपको अपने धागे को मुख्य धागे में शामिल करना होगा, लेकिन इसके बारे में मैंने कहा है, सॉकेट संचार, पाइप, साझा मेमोरी मैप की गई फाइलें और बहुत कुछ।
पायथन की समांतर पुस्तकालय सभी सी/सी ++ आधारित हैं।
समांतरता ही एक बहुत ही मुश्किल विषय है, भले ही आपके समानांतरता हो, यह भी संभव है कि आपका कोड एक थ्रेड और एकल कोर पर चलने जितना धीमा हो। लेकिन यह एप्लिकेशन प्रदर्शन के साथ एक सामान्य समस्या है, जिस क्षण आप जितना अधिक बिजली निकालना चाहते हैं, उतना ही आप जान सकते हैं कि हार्डवेयर कैसे काम करता है।
हार्डवेयर स्वयं ही आजकल जटिल है। भाषा आपकी चिंताओं का कम से कम है।
तो स्मॉलटॉक में पूरी तरह से संभव है लेकिन स्पष्ट रूप से इसमें बहुत से लोग रुचि रखते हैं। मैंने फारो मेलिंग सूचियों में समांतरता पर प्रश्न देखा है कि मैं अक्सर पिछले 2 वर्षों में, शायद एक या दो बार। और यहां तक कि सहमति के लिए किसी के लिए इसके बारे में कोई सवाल पूछना बहुत दुर्लभ है।
हां निश्चित रूप से एक महत्वपूर्ण स्थान में "बाधा" कोड की अपेक्षा की गई संपत्तियों को नष्ट कर देगी। लेकिन यह स्मॉलटाक के लिए विशिष्ट नहीं है; प्रत्येक समांतर भाषा में यह समस्या है। वे जोर देकर हल करते हैं कि ए) आप कुछ चीजों को बाधित नहीं कर सकते हैं) या बी) कुछ चीजें लेन-देन और पूर्ण हैं, इससे कोई फर्क नहीं पड़ता। तो "स्मॉलटाक समानांतर बनाने" के साथ मुख्य समस्या समानांतर धागे के अतिरिक्त हैं, और लेनदेन संबंधी सुरक्षा (निष्पादन इंजन क्या करता है दोनों के हिस्से में) और जहां प्रोग्रामर जोर देता है कि उसे इसकी आवश्यकता है। –
@IraBaxter बिल्कुल। मैं बस यह इंगित करना चाहता था कि समांतरता की एक छोटी राशि ठीक है और समस्या तब आती है जब आप इसे और अधिक लेना चाहते हैं। –