समवर्ती और समांतर संगणना के सैद्धांतिक अध्ययन में "सच्ची संगति" शब्द उत्पन्न होता है। यह समवर्ती अंतर्क्रिया को समाप्त करने के लिए है। सच्ची संगामिति वह संगामिति है जिसे इंटरलेइंग करने के लिए कम नहीं किया जा सकता है। यदि संगणना में प्रत्येक चरण पर संगामिति को नियंत्रित किया जाता है, तो केवल एक परमाणु कंप्यूटिंग क्रिया (जैसे प्रेषक और रिसीवर के बीच संदेशों का आदान-प्रदान) हो सकती है। यदि एक से अधिक परमाणु कार्रवाई एक कदम में होती हैं, तो संगामिति सत्य है।
दोनों को अलग करने का सबसे सरल तरीका समानांतर रचना के लिए नियम को देखना है। एक interleaving आधारित सेटिंग में, यह कुछ इस तरह दिखेगा:
पी→ पी'पी| क्यू→ पी'| क्यू
यह नियम लागू करता है कि समानांतर रचना में केवल एक प्रक्रिया एक परमाणु कार्रवाई को अंजाम दे सकती है। सही संगति के लिए, निम्नलिखित जैसा एक नियम अधिक उपयुक्त होगा।
पी→ पी'क्यू → क्यू'पी| क्यू→ पी'| क्यू'
यह नियम दोनों प्रतिभागियों को एक समानांतर रचना में परमाणु क्रियाओं को निष्पादित करने की अनुमति देता है।
किसी को इंटरलेस्ड कंवेन्डर में दिलचस्पी क्यों होगी, जब कंसीलर थ्योरी वास्तव में समानांतर में कम्प्यूटेशन चरणों को निष्पादित करने वाली प्रणालियों का अध्ययन है? इसका उत्तर है, और यह एक महान अंतर्दृष्टि है, कि संदेश गुजरने के सरल रूपों के लिए, सही संगामिति और इंटरलेइंग आधारित संगामिति प्रासंगिक रूप से अलग नहीं हैं। दूसरे शब्दों में, अंतःसंबंधित समरूपता सच संगति की तरह व्यवहार करती है जहां तक पर्यवेक्षक देख सकते हैं। Interleaving सही संगति का एक अच्छा अपघटन है। चूंकि interleaving साक्ष्यों में संभालना आसान होता है, इसलिए लोग अक्सर केवल सरल इंटरलेविंग आधारित संगणक का अध्ययन करते हैं (जैसे CCS औरπ-calculi)। हालांकि, यह सादगी अवलोकन के समृद्ध रूपों (जैसे समयबद्ध संगणना) के साथ समवर्ती संगणना के लिए गायब हो जाती है: सच संगति और interleaved संगामिति के बीच अंतर नमूदार हो जाता है।
बिसिमुलेशन और निशान जैसे मानक समकक्षों में सही और इंटरलेइंग आधारित संगामिति के लिए समान परिभाषाएं हैं। लेकिन अंतर्निहित गणना के आधार पर वे विभिन्न प्रक्रियाओं की बराबरी कर सकते हैं या नहीं कर सकते हैं।
मुझे इस बात का अनौपचारिक विवरण देना चाहिए कि साधारण प्रक्रिया गणना में इंटरलेन्जिंग और वास्तव में समवर्ती बातचीत क्यों अविवेकी है। सेटिंग CCS या pi-समान कलन है। बोले हमारा एक कार्यक्रम हैπ
पी
पी=एक्स¯¯¯ | y ¯¯¯ | एक्स ।y। ए¯¯¯ | y। ख¯¯
फिर हमारे पास निम्नलिखित सही मायने में कमी है:
यह कमी कदम निम्नलिखित interleaved कदम से मिलान किया जा सकता:
दोनों के बीच एकमात्र अंतर यह है कि पूर्व एक कदम उठाता है, जबकि बाद वाला दो। लेकिन सरल गणना किसी प्रक्रिया तक पहुंचने के लिए उपयोग किए जाने वाले चरणों की संख्या का पता नहीं लगा सकती है।
पीपी→y। ए¯¯¯ | ख ¯¯
पी→→एक्स¯¯¯ | एक्स । y। ए¯¯¯ | ख ¯¯y। ए¯¯¯ | ख ¯¯
उसी समय, पास दूसरा रिडक्शन अनुक्रम है:
लेकिन यह भी सही मायने में समवर्ती सेटिंग में कमी क्रम है, जब तक कि सही संगामिति मजबूर नहीं होती है (यानी एक समय में एक से अधिक इंटरैक्शन की संभावना होने पर भी इंटरलेयड निष्पादन की अनुमति है।P
P→→y¯¯¯ | y.a¯¯¯ | y.b¯¯a¯¯¯ | y.b¯¯