मैं स्मृति बाधाओं की मेरी समझ में सुधार करने की कोशिश कर रहा हूं। मान लें कि हमारे पास एक कमजोर स्मृति मॉडल है और हम Dekker's algorithm अनुकूलित करते हैं। मेमोरी बाधाओं को जोड़कर कमजोर मेमोरी मॉडल के तहत इसे सही तरीके से काम करना संभव है?मेमोरी बाधाएं बनाम इंटरलॉक ऑपरेशंस
मुझे लगता है कि उत्तर एक आश्चर्यजनक संख्या है। कारण (यदि मैं सही हूं) यह है कि यद्यपि एक स्मृति बाधा का उपयोग यह सुनिश्चित करने के लिए किया जा सकता है कि एक पाठ दूसरे के पीछे नहीं चलाया जाता है, यह सुनिश्चित नहीं कर सकता है कि एक पठन को स्थिर डेटा (जैसे कि कैश में) दिखाई नहीं देता है। इस प्रकार यह अतीत में कुछ समय देख सकता था जब महत्वपूर्ण अनुभाग अनलॉक किया गया था (सीपीयू के कैश के प्रति) लेकिन वर्तमान समय में अन्य प्रोसेसर इसे लॉक के रूप में देख सकते हैं। अगर मेरी समझ सही है, तो किसी को एकाधिक प्रोसेसर के बीच मेमोरी लोकेशन पर किसी मान के सिंक्रनाइज़ किए गए अनुबंध को सुनिश्चित करने के लिए इंटरलॉक किए गए ऑपरेशंस जैसे सामान्य रूप से टेस्ट-एंड-सेट या तुलना-और-स्वैप कहा जाता है।
इस प्रकार, क्या हम सही उम्मीद कर सकते हैं कि कोई कमजोर स्मृति मॉडल सिस्टम केवल स्मृति बाधाएं प्रदान नहीं करेगा? सिस्टम को परीक्षण-और-सेट या तुलना-और-स्वैप जैसे ऑपरेशन की आपूर्ति करनी चाहिए।
मुझे एहसास है कि x86 सहित लोकप्रिय प्रोसेसर, कमजोर स्मृति मॉडल की तुलना में मेमोरी मॉडल को अधिक मजबूत प्रदान करते हैं। कमजोर स्मृति मॉडल पर चर्चा पर ध्यान केंद्रित करें।
(यदि डेकर एल्गोरिथ्म एक गरीब विकल्प है, एक और पारस्परिक अपवर्जन एल्गोरिथ्म जहां स्मृति बाधाओं को सफलतापूर्वक सही तुल्यकालन प्राप्त कर सकते हैं का चयन यदि संभव हो तो।)
AFAICT, डेकर के लिए, यह जानना पर्याप्त नहीं है कि ध्वज अतीत में कुछ समय स्पष्ट था लेकिन इसके बजाय यह महत्वपूर्ण अनुभाग में प्रवेश करना सुरक्षित है। लगता है जैसे मुझे अद्यतित मूल्य की आवश्यकता है, और मुझे नहीं लगता कि आप इसे स्मृति बाधाओं के साथ कैसे प्राप्त करते हैं (जैसा कि आप अपनी पहली वाक्य में सही कहते हैं)। –
आपको बस एक मजबूत बाधा की आवश्यकता है जो मैंने अभी दिखाया --- एक "पूर्ण बाड़"। मैं बाद में बाधाओं के साथ डेकर के शो दिखाने के लिए अपना जवाब अपडेट करूंगा। –