2009-09-21 17 views
7

मैं सी ++ में एक वितरित अनुप्रयोग ढांचा लिख ​​रहा हूं। आवश्यकताओं में से एक वितरित साझा स्मृति का प्रावधान है। स्क्रैच से अपना खुद का लिखने के बजाय (और संभावित रूप से पहिया का पुन: आविष्कार), मैंने सोचा कि मैं देखूंगा कि क्या कोई पूर्व-मौजूदा ओपन सोर्स लाइब्रेरीज़ थे - एक त्वरित Google खोज ने उपयोगी कुछ भी नहीं दिया।सी ++ के लिए वितरित साझा मेमोरी लाइब्रेरी?

क्या यहां किसी को भी एक अच्छी सी ++ डीएसएम लाइब्रेरी का कोई अनुभव है जिसे वे अनुशंसा कर सकते हैं?

आदर्श रूप से, पुस्तकालय एमआरएमडब्लू (एकाधिक पाठकों/एकाधिक लेखकों) का समर्थन करेगा, लेकिन यदि आवश्यकता हो तो मैं एमआरएसडब्ल्यू (एकाधिक पाठक, एकल लेखक) के साथ कर सकता हूं। मैं लिनक्स पर विकास कर रहा हूं।

उत्तर

3

क्या आपने memcached पर विचार किया है?

यह नेटवर्क वितरित किया गया है और यह वास्तव में तेज़ हो सकता है।

इसमें कई भाषाओं के लिए बाइंडिंग है, आप इसे विभिन्न ओएस से एक्सेस कर सकते हैं और एकाधिक लेखकों के एकाधिक पाठकों का समर्थन कर सकते हैं।

+1

यह ओपी की व्यावहारिक आवश्यकता को हल कर सकता है लेकिन यह सवाल का जवाब नहीं देता है। Memcached एक वितरित कुंजी-मूल्य कैश है, न कि डीएसएम (https://en.wikipedia.org/wiki/Distributed_shared_memory)। यह इतना पुराना विचार है [1, 2], अब तक परिपक्व पुस्तकालय होना चाहिए। 1. https://www.usenix.org/publications/library/proceedings/usenix-nt97/presentations/itzkovitz.ppt 2. https://www.usenix.org/legacy/events/osdi99/full_papers/itzkovitz/itzkovitz .pdf – ahcox

0

ACE library आज़माएं, इसमें बहुत अच्छी चीज़ें हैं जिन्हें आप पसंद करेंगे। उनके पास Shared_memory कक्षा है लेकिन मुझे यकीन नहीं है कि यह एक डीएसएम है - यदि नहीं, तो उनके पास बहुत सारे नेटवर्क/वितरित सामान हैं जो आपको दिलचस्प लग सकते हैं।

+0

"यह बेस क्लास सिस्टम वी साझा मेमोरी और" बीएसडी "एमएमएपी को एक सामान्य एपीआई में अनुकूलित करता है", इसलिए यह एक नोड पर आईपीसी तंत्र है, न कि डीएसएम कार्यान्वयन (एला, मिलीपडे http: //static.usenix .org/प्रकाशन/लाइब्रेरी/कार्यवाही/usenix-nt97/प्रस्तुतिकरण/itzkovitz.ppt, मिलीपेज http://static.usenix.org/events/osdi99/full_papers/itzkovitz/itzkovitz_html/node12.html, आदि http: // dl.acm.org/citation.cfm?id=296806.296830#references) – ahcox

6

ऐस साझा स्मृति 1 प्लेटफ़ॉर्म पर साझा करने के लिए है।

वितरित साझा मेमोरी बहुत गैर-तुच्छ है क्योंकि हल करने के लिए लेनदेन की स्थिति के बारे में समस्याएं हैं। वितरित साझा मेमोरी (यहां तक ​​कि प्रतिलिपि के लिए भी) का प्रभावी ढंग से उपयोग करने के लिए आपको मिलेगा (अन्य चीजों के साथ) वितरित सिंक्रनाइज़ेशन एल्गोरिदम और प्रोटोकॉल जिन्हें विफलता के चेहरे में लचीलापन की आवश्यकता है। (Shshooot! नहीं है कि हमेशा रास्ता!)

महत्वपूर्ण शोध पत्र इन मुद्दों (देखें Taubenfield की किताब का अध्याय संदर्भ सूचियाँ से कुछ)

यह वास्तव में एक चेतावनी है कि "अपनी खुद की रोलिंग" जाएगा के बारे में लिखा गया है अपने आप में और एक महत्वपूर्ण परियोजना बनें।

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