शुभ दिन!Boost.MPI बनाम Boost.Asio
इन पुस्तकालयों के बीच क्या अंतर है?
मैं एमपीआई के दस्तावेज़ पढ़ता हूं और एएसओ के साथ छोटा अनुभव करता हूं। मेरे लिए यह नेटवर्क संचार के कार्यान्वयन अलग है और नहीं।
लेकिन उनमें से प्रत्येक अलग-अलग अवशोषण प्रस्तुत करता है (मुझे इन अवशेषों के समान स्तर के बारे में निश्चित नहीं है) जो विभिन्न अनुप्रयोग डिज़ाइन की ओर जाता है।
जब मुझे एक पुस्तकालय या किसी अन्य का उपयोग करना चाहिए? प्रत्येक अलग स्थिति में सही निर्णय चुनने के लिए मुझे क्या जानना चाहिए?
हां, असियो कई नोड्स (और सामान्य रूप से बहुत सामान्य ढांचे) के लिए अच्छा है, लेकिन ऐसे कार्यों के लिए एमपीआई कम क्यों बेहतर है? मुझे नहीं लगता कि एमपीआई सी पुस्तकालय पर निर्भरता प्रतिबंधित है या एमपीआई को समझना मुश्किल है और स्केलेबिलिटी के बारे में क्या है? Asio के साथ हम प्रसारण और दूसरों की तरह चीजों को लागू कर सकते हैं और दूसरी तरफ एमपीआई सरल नेटवर्क अनुप्रयोगों को लिखने से मना नहीं करता है। यदि आवश्यक हो तो एमपीआई के साथ एशिया-विशिष्ट तर्क को फिर से लिखना अवधारणात्मक रूप से मुश्किल है?
सॉकेट की तरह संचार के बारे में क्या: यदि यह अनिवार्य है, तो हम एएसओ या किसी अन्य ढांचे पर मॉड्यूल में ऐसे एक को समाहित कर सकते हैं और फिर भी अन्य संचार के लिए एमपीआई का उपयोग कर सकते हैं।
मेरे लिए सॉकेट और एमपीआई स्टैंडअर्ट अलग-अलग नेटवर्क सेवाएं हैं और यह स्पष्ट नहीं है कि असली दुनिया में मौलिक क्या है, जहां सरल क्लाइंट-सर्वर जोड़ी से कुछ मध्यम गणनाओं की दूरी एक कदम है। इसके अलावा मुझे नहीं लगता कि एमपीआई के पास असियो की तुलना में उल्लेखनीय ओवरहेड है।
शायद यह बुरा सवाल है और हमें इसकी आवश्यकता आईसीई (इंटरनेट संचार इंजन) जैसी कुछ है? विभिन्न भाषाओं का समर्थन और फिर (जैसा कि ज़ीरोक का आश्वासन देता है) महान प्रदर्शन।
और, ज़ाहिर है, मैंने कभी भी इस दस्तावेज़ीकरण विषय में नहीं देखा है जैसे 'इस पुस्तकालय का उपयोग न करें!'।
मैं बस इस तरह की विसंगति नहीं ले सकता: एक मामले में यह सॉकेट, दूसरे में - असीमित संदेश और अंततः भारी मिडलवेयर मंच है। विकास के जीवन चक्र में स्पष्टता कहां है? शायद यह उचित सवाल नहीं है, लेकिन इस चिड़ियाघर को कम करने के लिए हमें कुछ बिंदु चाहिए।