दिलचस्प पोस्ट
स्रोत से निर्मित अजगर अनइंस्टॉल करें? "यूनिकोडईएनकोड त्रुटि: 'एएससीआई' कोडेक वर्ण को एन्कोड नहीं कर सकता है" TypeError: डेटा की तीव्रता से फिट करने की कोशिश करते समय केवल लंबाई -1 एरे को पायथन स्केलर में कनवर्ट किया जा सकता है एंड्रॉइड में कैमरा टॉर्च चालू / बंद करने के लिए विजेट जावा स्क्रिप्ट में दो चर कैसे स्वैप करें क्या PHP में शॉर्ट सर्किट मूल्यांकन है? आप विशेषकर वर्णमाला क्रम के बजाय ggplot2 x अक्ष का आदेश कैसे देते हैं? मैं ट्री व्हीव्यू में ट्री इटैम द्वारा एक माउस क्लिक ईवेंट कैसे स्वीकार किया? वैरिएबल का उपयोग करके गतिशील रूप से ऑब्जेक्ट प्रॉपर्टी का उपयोग क्या मैं सीएसएस में एक छवि की ऊंचाई को बदल सकता हूँ: पहले /: छद्म तत्वों के बाद? स्मृति में एक बाइट का आकार – जावा एएसपी.NET एमवीसी नियंत्रक के लिए जेएसएस का इस्तेमाल करते हुए जटिल प्रकार को कैसे पार करें जावास्क्रिप्ट: कैसे $ लिखने के लिए (दस्तावेज़)। jquery बिना घटना की तरह एफflush (stdin) का उपयोग करना JQuery के कार्यों को ओवरराइड करें

समानता बनाम समानता – क्या अंतर है?

समानता बनाम समानता – क्या अंतर है? कोई भी उदाहरण

Solutions Collecting From Web of "समानता बनाम समानता – क्या अंतर है?"

संगतता तब होती है जब दो या अधिक कार्य अतिव्यापी समय अवधि में शुरू, चलाना और पूरा कर सकते हैं। इसका जरूरी मतलब यह नहीं है कि वे दोनों एक ही पल में चलेंगे। उदाहरण के लिए। एकल-कोर मशीन पर मल्टीटास्किंग

समानांतरवाद तब होता है जब कार्यों को वस्तुतः एक ही समय में चलाया जाता है, उदा। एक मल्टीकोर प्रोसेसर पर

सन की मल्टीथ्रेडेड प्रोग्रामिंग गाइड का हवाला देते हुए:

  • संगामिति: कम से कम दो धागे प्रगति कर रहे हैं जब एक शर्त मौजूद है समांतरता का एक अधिक सामान्यीकृत रूप जिसमें आभासी समानता के रूप में समय-टुकड़ा करना शामिल हो सकता है।

  • समानता: एक शर्त है जो उत्पन्न होती है जब कम से कम दो थ्रेड्स एक साथ क्रियान्वित होते हैं।

मुझे रोब पाइक की बात पसंद है: संवाहक समानता नहीं है (यह बेहतर है!) (स्लाइड) (बात)

रोब आमतौर पर जाने के बारे में वार्ता करता है और आम तौर पर एक दृश्य और सहज ज्ञान युक्त व्याख्यान में समानता बनाम समानतावाद के प्रश्न को संबोधित करता है! यहाँ एक संक्षिप्त सारांश है:

कार्य: चलो अप्रचलित भाषा मैनुअल का एक ढेर जला! एक बार में एक!

कार्य

बंधन: कार्य के कई समवर्ती अपघटन हैं! एक उदाहरण:

गोफ़र्स

समानता: पिछली विन्यास समानांतर में होता है, अगर कम से कम 2 गोचर एक ही समय में काम करते हैं या नहीं।

भ्रम अस्तित्व में है क्योंकि दोनों शब्दों के शब्दकोश अर्थ लगभग समान हैं:

  • समवर्ती : मौजूदा, हो रहा है या एक ही समय में किया जाता है (dictionary.com)
  • समानांतर : बहुत ही समान है और अक्सर एक ही समय (मैरिएम वेबस्टर) पर हो रहा है।

फिर भी जिस तरह से वे कंप्यूटर विज्ञान और प्रोग्रामिंग में उपयोग किया जाता है, वे काफी अलग हैं। ये मेरी व्याख्या है:

  • बंध्यता : अंतरणीयता
  • समानतावाद : स्वतंत्रता

तो मैं ऊपर परिभाषाओं से क्या मतलब है? मैं एक वास्तविक दुनिया सादृश्य के साथ स्पष्ट होगा मान लीजिए कि आपको एक दिन में 2 महत्वपूर्ण कार्य करने होंगे

  1. पासपोर्ट बनवा लो
  2. एक प्रस्तुति प्राप्त करें

अब समस्या यह है कि कार्य -1 आपको एक अत्यंत नौकरशाही सरकारी कार्यालय की आवश्यकता है जो आपको अपना पासपोर्ट प्राप्त करने के लिए एक पंक्ति में 4 घंटे तक प्रतीक्षा करता है। जबकि कार्य -2 आपके कार्यालय के लिए किया जाना आवश्यक है और यह एक महत्वपूर्ण है इन दोनों को किसी विशेष दिन पर समाप्त करना होगा।

मामले -1: क्रमिक निष्पादन आम तौर पर, आप 2 घंटे के लिए पासपोर्ट कार्यालय चलाएंगे, 4 घंटे के लिए लाइन में प्रतीक्षा करें, कार्य पूरा करें, दो घंटे वापस चलाएं, घर जाओ, 5 घंटे दूर रहें और प्रस्तुतीकरण करें।

केस -2: समवर्ती निष्पादन: लेकिन आप स्मार्ट हैं आप आगे की योजना बनाते हैं आप क्या करते हैं, आप अपने साथ एक लैपटॉप लेते हैं, और लाइन में प्रतीक्षा करते समय, आप अपनी प्रस्तुति पर काम करना शुरू करते हैं। इस तरह, एक बार जब आप घर पर वापस आ जाते हैं, तो आपको सिर्फ 5 घंटे के बजाय एक अतिरिक्त घंटे काम करना पड़ता है। इस मामले में, दोनों ही कार्य आपके द्वारा किया जाता है, केवल टुकड़ों में। लाइन में प्रतीक्षा करते हुए आप पासपोर्ट कार्य को बाधित कर दिया और प्रस्तुति पर काम किया। जबकि जब आपका नंबर कहा जाता था, तो आपने प्रस्तुति कार्य को बाधित किया था और पासपोर्ट कार्य के लिए स्विच किया था। दोनों कार्यों की अंतरालनीयता के कारण समय पर बचत अनिवार्य रूप से संभव थी। संपार्श्विक, आईएमओ, को डेटाबेस के एसीआईडी ​​गुणों में "अलगाव" के रूप में लिया जाना चाहिए। दो डेटाबेस लेन-देन अलगाव की आवश्यकता को पूरा करते हैं यदि आप किसी भी हस्तक्षेप से प्रत्येक में उप-लेनदेन करते हैं और अंतिम परिणाम समान होता है जैसे कि दो कार्य क्रमिक रूप से किए गए थे । याद रखें, पासपोर्ट और प्रस्तुति कार्य दोनों के लिए, आप एकमात्र जल्लाद हैं

मामला -3: समानांतर निष्पादन अब जब आप ऐसे स्मार्ट फेलो हैं, तो जाहिर है कि आप उच्च रहे हैं और आपको एक सहायक मिल गया है। आपके पास पासपोर्ट कार्य करने के लिए छोड़ने से पहले, आप उसे कॉल करते हैं और उसे प्रस्तुति का पहला मसौदा तैयार करने के लिए कहते हैं। आप अपना पूरा दिन व्यतीत करते हैं और पासपोर्ट कार्य पूरा करते हैं, वापस आकर अपने मेल देख सकते हैं और आपको प्रस्तुति ड्राफ्ट मिलती है। उन्होंने एक बहुत ही ठोस काम किया है और कुछ और दो घंटे के संपादन के साथ, आप इसे अंतिम रूप दे सकते हैं अब के बाद से, आपका सहायक आपके जैसा है, वह लगातार स्पष्टीकरण के लिए आपको पूछने की आवश्यकता के बिना स्वतंत्र रूप से काम करने में सक्षम था। इस प्रकार, कार्यों की स्वतंत्रता के कारण, उन्हें एक ही समय में दो अलग-अलग निष्पादकों द्वारा किया गया।

अभी तक मेरे साथ है? ठीक है ..

केस -4: समवर्ती लेकिन समानांतर नहीं अपना पासपोर्ट कार्य याद रखें जहां आपको लाइन में प्रतीक्षा करनी है? इस मामले में, ध्यान दें कि चूंकि यह आपका पासपोर्ट है, आपके सहायक आपके लिए लाइन में प्रतीक्षा नहीं कर सकते हैं। इस प्रकार, पासपोर्ट कार्यों में अंतरार्पण योग्यता है (आप लाइन में प्रतीक्षा करते समय इसे रोक सकते हैं और बाद में इसे फिर से शुरू कर सकते हैं), लेकिन कोई स्वतंत्रता नहीं (आपके सहायक आपकी जगह में प्रतीक्षा नहीं कर सकते हैं)

केस 5: समानांतर लेकिन नहीं समवर्ती कहें, सरकारी कार्यालय के पास परिसर में प्रवेश करने के लिए एक सुरक्षा जांच है। यहां, आपको सभी इलेक्ट्रॉनिक उपकरणों को बंद करना होगा और उन्हें उन अधिकारियों के पास जमा करना होगा जिन्हें आप अपने कार्य को पूरा करने के बाद ही वापस मिलते हैं। इस मामले में, पासपोर्ट कार्य न तो स्वतंत्र है और न ही इंटरप्टिबल है। यहां तक ​​कि अगर आप लाइन में प्रतीक्षा कर रहे हैं, तो आप कुछ और पर काम नहीं कर सकते क्योंकि आपके पास आवश्यक उपकरण नहीं है। इसी तरह, कहें कि प्रस्तुति इतनी अधिक गणितीय है कि आपको कम से कम 5 घंटे के लिए 100% एकाग्रता की आवश्यकता होती है। पासपोर्ट कार्य के लिए लाइन में इंतजार करते हुए आप ऐसा नहीं कर सकते हैं भले ही आपके पास आपके लैपटॉप हो। इस मामले में, प्रस्तुति कार्य स्वतंत्र है (या तो आप या आपके सहायक 5 घंटे केंद्रित प्रयास कर सकते हैं), लेकिन इंटरप्टिबल नहीं हैं

केस -6: समवर्ती और समानांतर निष्पादन अब कहते हैं कि प्रस्तुति के लिए एक सहायक को निर्दिष्ट करने के अलावा, आप पासपोर्ट के लिए अपने साथ एक लैपटॉप भी लेते हैं। लाइन में प्रतीक्षा करते हुए, आप देखेंगे कि सहायक ने साझा 10 डेक में पहले 10 स्लाइड बनाए हैं। आप उसे बाहर टिप्पणी भेजें, उसे ठीक करना इस प्रकार, अब जब आप घर पर वापस आते हैं, मसौदे को अंतिम रूप देने के लिए 2 घंटे के निवेश के बजाय, आपको 15 मिनट की आवश्यकता होती है। यह संभव था क्योंकि प्रस्तुति कार्य को स्वतंत्रता (आप में से एक यह कर सकता है) और अंतरार्पणशीलता (आप इसे रोक सकते हैं और बाद में इसे फिर से शुरू कर सकते हैं)। तो आप समवर्ती दोनों कार्य निष्पादित और समानांतर में केवल निष्पादित प्रस्तुति कार्य।

कहते हैं, कि सरकारी कार्यालय अधिकाधिक नौकरशाही होने के अलावा भ्रष्ट है इस प्रकार, आप इसे दर्ज कर सकते हैं, अपनी पहचान दिखा सकते हैं, अपनी संख्या के लिए कॉल करने के लिए इंतजार करना शुरू कर सकते हैं, गार्ड को कुछ पैसे दे सकते हैं और किसी और को अपनी स्थिति को लाइन में रख सकते हैं, चुपके से बाहर आ सकते हैं, इसे फिर से शुरू करें

इस मामले में, आप दोनों पासपोर्ट और प्रस्तुति कार्य को समवर्ती और समानांतर में कर सकते हैं। आप बाहर छिपाना कर सकते हैं और आपकी स्थिति आपके सहायक द्वारा आयोजित की जाती है। आप दोनों प्रस्तुति आदि पर काम कर सकते हैं।

कंप्यूटर विज्ञान पर वापस: कंप्यूटिंग दुनिया में, उदाहरण के तौर पर देखा जाने वाला एक मामला 1, उदाहरण के लिए प्रसंस्करण में बाधा आती है।

केस-2 जब केवल एक प्रोसेसर होता है, लेकिन सभी निष्पादन कार्य में I / O के कारण प्रतीक्षा के समय होते हैं

केस-3 अक्सर देखा जाता है जब हम मानचित्र-कम या हाउप क्लस्टर के बारे में बात कर रहे हैं।

मुझे लगता है कि केस -4 दुर्लभ है, ऐसा शायद ही कभी होता है कि एक कार्य समवर्ती है, लेकिन समानांतर नहीं है। लेकिन ऐसा हो सकता है क्योंकि आपके कार्य के लिए एक विशेष कम्प्यूटेशनल चिप तक पहुंच की आवश्यकता है जिसे केवल प्रोसेसर -1 के माध्यम से एक्सेस किया जा सकता है इस प्रकार, भले ही प्रोसेसर -2 मुफ़्त है और प्रोसेसर-1 कुछ अन्य कार्य कर रहा है, तो विशेष कंप्यूटेशन कार्य प्रोसेसर -2 पर आगे नहीं बढ़ सकता है

केस -5, दुर्लभ है लेकिन मामला -4 के रूप में दुर्लभ नहीं है। गैर-समवर्ती कोड म्यूटक्स द्वारा संरक्षित एक महत्वपूर्ण क्षेत्र हो सकता है इसे शुरू होने के बाद, इसे पूरी तरह से निष्पादित करना होगा। हालांकि, दो अलग-अलग महत्वपूर्ण क्षेत्र एक साथ दो अलग-अलग प्रोसेसर पर प्रगति कर सकते हैं।

मामला -6: आईएमओ, ज्यादातर समय जब हम समांतर या समवर्ती प्रोग्रामिंग के बारे में बात कर रहे हैं, हम मूल रूप से इस अंतिम मामले -6 और समानांतर और समवर्ती दोनों दंडों के मिलान के बारे में बात कर रहे हैं।

संगामिति और जाओ: यदि आप देख रहे हैं कि रॉब पाइक कह रहे हैं कि संगामिति बेहतर है, तो आपको यह समझना होगा कि इसका कारण यह है कि आपके पास एक बहुत लंबा कार्य है जिसमें कई प्रतीक्षा अवधि हैं जहां आप कुछ बाहरी परिचालन की प्रतीक्षा करते हैं जैसे फ़ाइल पढ़ने, नेटवर्क डाउनलोड। अपने व्याख्यान में, वह सब कह रहा है कि, यह लंबे अनुक्रमिक कार्य को तोड़ दें, जब आप प्रतीक्षा करते समय कुछ उपयोगी हो सकते हैं। यही कारण है कि वह विभिन्न गोफरों के साथ विभिन्न संगठनों के बारे में बात करते हैं। अब जाओ की ताकत "गो" कीवर्ड और चैनलों के साथ यह तोड़ने से बहुत आसान है। इन गोरटिनेन्स को शेड्यूल करने के लिए रनटाइम में उत्कृष्ट अंतर्निहित समर्थन भी है।

लेकिन अनिवार्य रूप से, संगामिति बेहतर समानता है?

सेब से अधिक संतरे पसंद करते हैं?

दूसरों को क्या कहा है पर जोड़ने के लिए:

संगामिति एक जॉगलर की तरह कई गेंदों हथकड़ी की तरह है। भले ही ऐसा लगता है कि, जॉगलर केवल एक बार प्रति हाथ एक गेंद को पकड़ने / फेंक रहा है। समानांतरता में कई बाजीगरों को हथकंडा गेंदें एक साथ चलती हैं

कहें कि आपके पास एक प्रोग्राम है जिसमें दो धागे हैं। कार्यक्रम दो तरीकों से चला सकता है:

Concurrency Concurrency + parallelism ___ ___ ___ |th1| |th1|th2| | | | |___| |___|___ | |___ |th2| |___|th2| ___|___| ___|___| |th1| |th1| |___|___ | |___ |th2| | |th2| 

दोनों ही मामलों में हमारे पास मात्र तथ्य से संगामिति है कि हमारे पास एक से अधिक धागा चल रहा है।

अगर हम इस प्रोग्राम को एक सिंगल सीपीयू कोर के साथ कंप्यूटर पर चलाते हैं, तो ओएस दो धागे के बीच स्विच हो जाएगा, एक समय में एक धागा को चलाने के लिए अनुमति देता है।

अगर हम इस प्रोग्राम को एक मल्टी-कोर सीपीयू के साथ कंप्यूटर पर चलाया करते हैं तो हम दो धागे को एक ही समय पर समानांतर -साइड में चलाने में सक्षम होंगे।

संगामिति: यदि एक या एक से अधिक समस्याओं का समाधान एकल प्रोसेसर द्वारा किया जाता है वैकल्पिक शब्द

समांतरता: यदि एक समस्या एकाधिक प्रोसेसर द्वारा हल हो जाती है

वैकल्पिक शब्द

concurency: संसाधनों को साझा करने की क्षमता के साथ एकाधिक निष्पादन प्रवाह

पूर्व: एक I / O पोर्ट के लिए प्रतिस्पर्धा करने वाले दो धागे

पार्ललवाद: विभाजन की समस्याएं एक समान समानताएं में हैं

पूर्व: फ़ाइल के हर आधे पर दो प्रक्रियाओं को चलाने के द्वारा एक बड़ी फ़ाइल को पार्स करना।

मैं एक रोचक और समझने में आसान उदाहरण के साथ समझाने की कोशिश करूंगा। 🙂

मान लें कि एक संगठन एक शतरंज टूर्नामेंट का आयोजन करता है जहां 10 खिलाड़ी ( बराबर शतरंज खेलने के कौशल के साथ ) एक पेशेवर चैंपियन शतरंज खिलाड़ी को चुनौती देंगे और चूंकि शतरंज 1: 1 खेल है इसलिए आयोजकों को समय पर 10 तरह से कुशल तरीके से संचालन करना पड़ता है ताकि वे जितनी जल्दी हो सके पूरी घटना को समाप्त कर सकें।

उम्मीद है कि निम्नलिखित परिदृश्य आसानी से इन 10 खेलों के संचालन के कई तरीकों का वर्णन करेंगे:

1) सीरियल – यह कहें कि प्रत्येक व्यक्ति के साथ पेशेवर नाटक खेलता है यानी एक व्यक्ति के साथ गेम शुरू होता है और फिर अगले व्यक्ति के साथ अगले गेम शुरू होता है और इसी तरह। दूसरे शब्दों में, उन्होंने गेम को क्रमिक रूप से चलाने का फैसला किया इसलिए यदि एक गेम 10 मिनट का समय पूरा करने के लिए 10 मिनट लगे तो 100 मिनट लगेगा, यह भी मानता है कि एक गेम से दूसरे के लिए संक्रमण 6 सेकंड तक ले जाता है, फिर 10 गेम के लिए यह 54 सेकेंड (लगभग 1 मिनट) होगा।

इसलिए पूरी घटना लगभग 101 मिनट में पूरी हो जाएगी ( सबसे खराब बात )

2) CONCURRENT- यह कहता है कि पेशेवर अपनी बारी खेलते हैं और अगले खिलाड़ी के लिए आगे बढ़ते हैं, इसलिए सभी 10 खिलाड़ी एक साथ खेल रहे हैं लेकिन पेशेवर खिलाड़ी एक समय में दो व्यक्ति के साथ नहीं हैं, वह अपनी बारी खेलते हैं और अगले व्यक्ति के लिए आगे बढ़ते हैं अब मान लीजिए कि व्यावसायिक खिलाड़ी अपनी बारी खेलने के लिए 6 सेकंड ले लेता है और व्यावसायिक खिलाड़ी के संक्रमण का समय बी / डब्ल्यू दो खिलाड़ियों के 6 सेकंड है, इसलिए पहले खिलाड़ी को वापस पाने के लिए कुल संक्रमण का समय 1min (10x6sec) होगा। इसलिए, जब तक वह पहले व्यक्ति के साथ वापस आ जाता है, जिसे इवेंट शुरू किया गया था, 2mins पारित हो गई है (10xtime_पर_टर्न_बी_चम्पियन + 10 एक्सट्रांसशन_टाइम = 2 एमिन)

मान लें कि सभी खिलाड़ी अपनी बारी को पूरा करने के लिए 45 सेकंड लेते हैं, इसलिए प्रत्येक गेम 10 मीटर प्रति सेकंड पर, सेरीअल इवेंट से नहीं। खेल खत्म होने से पहले राउंड की 600 / (45 + 6) = 11 राउंड (लगभग)

इसलिए संपूर्ण इवेंट लगभग पूर्ण हो जाएगा 11 सेकंडटाइम_पर_____________________________________ _

सुधार को 101 मिनट से 20.35 मिनट तक देखें ( बेहतर पहुंच )

3) PARALLEL- कहें कि आयोजकों को कुछ अतिरिक्त फंड मिलते हैं और इस तरह दो पेशेवर चैंपियन खिलाड़ी (दोनों समान रूप से सक्षम) को आमंत्रित करने का निर्णय लिया और 5 के दो समूहों में उसी 10 खिलाड़ियों (चैलेंजर्स) के सेट को विभाजित किया गया और उन्हें दो चैंपियन यानी एक समूह प्रत्येक अब यह आयोजन इन दो सेटों में समानांतर में प्रगति कर रहा है यानी कम से कम दो खिलाड़ी (प्रत्येक समूह में से एक) अपने संबंधित समूह में दो पेशेवर खिलाड़ियों के खिलाफ खेल रहे हैं।

हालांकि समूह के भीतर पेशेवर खिलाड़ी एक बार (यानी क्रमिक रूप से) किसी एक गणना के बिना किसी गणना के बिना ले लेता है, तो आप आसानी से यह साबित कर सकते हैं कि संपूर्ण इवेंट लगभग 101/2 = 50.5 मीटर में पूर्ण होगा

सुधार को 101 मिनट से 50.5 मिनट तक देखें ( अच्छी आदत )

4) CONCURRENT + PARALLEL- उपरोक्त परिदृश्य में, कह सकते हैं कि दो चैंपियन खिलाड़ी अपने संबंधित समूहों में 5 खिलाड़ियों के साथ-साथ (दूसरा बिंदु पढ़ेंगे) तो अब समूचे समूहों में खेल समानांतर में चल रहे हैं लेकिन समूह के भीतर वे एक साथ चल रहे हैं।

इसलिए एक समूह में गेम लगभग 11 सेंटीमे_पर_टा________________________________________, _

इसलिए पूरी घटना (दो समानांतर चलने वाले समूह को शामिल करना) लगभग 15.5mins में पूरा होगा

सुधार को 101 मिनट से 15.5 मिनट तक देखें ( सर्वश्रेष्ठ पहुंच )

नोट: उपरोक्त परिदृश्य में यदि आप 10 समान नौकरियों वाले 10 खिलाड़ियों और दो पेशेवर खिलाड़ी को दो सीपीयू कोर के साथ बदलते हैं तो फिर निम्न क्रम सही रहेगा:

सीरियल> समानांतर> संधारित्र> समसामयिक + लंबवत

(ध्यान दें: यह आदेश दूसरे परिदृश्यों के लिए बदल सकता है क्योंकि इस क्रम में नौकरी की अंतर-निर्भरता पर निर्भर करता है, संचार की जरूरत है बी / डब्ल्यू नौकरियां और संक्रमण ओवरहेड बी / डब्ल्यू नौकरियां)

वे विभिन्न समस्याओं का समाधान करते हैं संवाहक दुर्लभ CPU संसाधनों और कई कार्यों के होने की समस्या को हल करता है। इसलिए, आप दुर्लभ संसाधन पर समय साझा करने के लिए कोड के माध्यम से थ्रेड्स या निष्पादन के स्वतंत्र पथ बनाते हैं। हाल ही में ऊपर तक, सीपीयू की उपलब्धता के कारण संगामिति ने चर्चा पर हावी है

समानता पर्याप्त कार्यों और उपयुक्त कार्यों (जो अलग तरीके से विभाजित हो सकते हैं) खोजने की समस्या को हल करती है और उन्हें बहुतायत से सीपीयू संसाधनों पर वितरित करती है। समानता हमेशा के आसपास रही, लेकिन यह सबसे आगे आ रहा है क्योंकि बहु-कोर प्रोसेसर बहुत सस्ता हैं

सरल उदाहरण:

समवर्ती है: "एक एटीएम मशीन तक पहुंचने वाली दो पंक्ति"

समानांतर है: "दो कतार और दो एटीएम मशीन"

इसके बारे में सर्विसिंग कतारों के बारे में सोचें जहां सर्वर केवल एक कतार में 1 नौकरी प्रदान कर सकता है।

1 सर्वर, 1 नौकरी की कतार (5 नौकरियों के साथ) -> कोई संगामिति नहीं, कोई समानता नहीं (केवल एक काम पूरा करने के लिए पूरा किया जा रहा है, कतार में अगली नौकरी के लिए सर्विस्ड नौकरी तक इंतजार करना पड़ता है और इसमें कोई और सर्वर नहीं है यह सेवा)

1 सर्वर, 2 या अधिक अलग कतार (5 कार्य प्रति कतार के साथ) -> संगामिति (चूंकि सर्वर कतार में सभी 1 नौकरियों के साथ समय साझा कर रहा है, समान रूप से या भारित), फिर भी किसी भी तत्काल से कोई समानता नहीं है, एक और केवल नौकरी की जा रही है

2 या अधिक सर्वर, एक क्यू -> समानांतरता (2 नौकरियों को एक ही पल में किया गया) परन्तु कोई संगामी नहीं (सर्वर समय साझा नहीं कर रहा है, तीसरी नौकरी को एक सर्वर तक पूरा होने तक इंतजार करना पड़ता है।)

2 या अधिक सर्वर, 2 या अधिक अलग कतार -> संगामिति और समानता

दूसरे शब्दों में, संगामिति एक नौकरी पूरी करने के लिए समय साझा कर रही है, यह अपनी नौकरी पूरी करने के लिए एक ही समय ले सकती है लेकिन कम से कम यह शुरुआती शुरु हो गई है। महत्वपूर्ण बात यह है कि, नौकरियों को छोटे नौकरियों में कटा कर दिया जा सकता है, जो दफ्तरों को दबाने की अनुमति देता है।

समांतरता सिर्फ अधिक सीपीयू, सर्वर, लोगों आदि के साथ हासिल की जाती है जो समानांतर में चलते हैं।

ध्यान रखें, यदि संसाधन साझा किए जाते हैं, तो शुद्ध समानता प्राप्त नहीं की जा सकती, लेकिन यह वह जगह है जहां संगामिति का यह सबसे अच्छा व्यावहारिक उपयोग होता है, जिससे एक और नौकरी मिलती है जिसे उस संसाधन की आवश्यकता नहीं होती है।

संगतता => जब कई कार्यों को साझा संसाधनों के साथ एक साथ किया गया।

समानांतर => जब एकल कार्य एक से अधिक सरल स्वतंत्र कार्यों में बांटता है जो एक साथ किया जा सकता है

एक वीडियो ट्यूटोरियल देखकर एक नई प्रोग्रामिंग भाषा सीखना कल्पना करो। आपको वीडियो को रोकना होगा, कोड में जो भी कहा गया है उसके बाद आवेदन करना जारी रखें। वह संगामिति है

अब आप एक पेशेवर प्रोग्रामर हैं और कोडिंग के दौरान संगीत शांत करने के लिए आपको आनंद लेना पसंद है। यह समानतावाद है

का आनंद लें।

मैं एक जवाब देने जा रहा हूं जो कुछ लोकप्रिय उत्तरों के साथ थोड़ा सा संघर्ष करता है I मेरी राय में, संगामिति एक सामान्य शब्द है जिसमें समांतरता शामिल है। संपार्श्विक किसी भी स्थिति पर लागू होता है जहां कार्य के विभिन्न कार्य या इकाइयां समय पर ओवरलैप हो जाती हैं। समानतावाद विशेष रूप से उन परिस्थितियों पर लागू होता है जहां अलग-अलग इकाइयां एक ही भौतिक समय पर मूल्यांकन / निष्पादित होती हैं। समांतरता के raison d'etre सॉफ्टवेयर तेज है जो एकाधिक शारीरिक गणना संसाधनों से लाभ उठा सकते हैं। संगामिति के नीचे फिट बैठने वाली अन्य प्रमुख अवधारणा अंतःक्रियाशीलता है। पारस्परिक क्रिया तब लागू होती है जब कार्यों के ओवरलैपिंग को बाहर की दुनिया से देखा जा सकता है। अन्तरक्रियाशीलता के raison d'etre सॉफ्टवेयर बना रहा है जो उपयोगकर्ता, नेटवर्क के साथियों, हार्डवेयर बाह्य उपकरणों आदि जैसी वास्तविक दुनिया संस्थाओं के लिए उत्तरदायी है।

समानतावाद और अंतःक्रियाशीलता संगामिति के लगभग पूरी तरह से स्वतंत्र आयाम हैं। किसी विशेष प्रोजेक्ट डेवलपर्स के लिए या तो दोनों, या दोनों के बारे में ध्यान न दें वे कम से कम नहीं मिलते हैं, क्योंकि कम से कम घृणा वाले धागे दोनों को करना आदिम सुविधाजनक हैं।

समांतरता के बारे में थोड़ा और विस्तार :

समांतरता बहुत छोटे पैमाने पर (उदाहरण के लिए निर्देश-स्तर समांतरता प्रोसेसर में), मध्यम तराजू (जैसे मल्टीकोर प्रोसेसर) और बड़े पैमाने (उदाहरण के लिए उच्च प्रदर्शन कंप्यूटिंग क्लस्टर) में मौजूद हैं। मल्टीकोर प्रोसेसर की वृद्धि के कारण हाल के वर्षों में अधिक डेवलपर्स पर दबाव डालने के लिए अधिक धागा-स्तर के समानांतर का पर्दाफाश हुआ है। समानतावाद पारस्परिकता की धारणा से अच्छी तरह से जुड़ा हुआ है। निर्भरता उस सीमा तक सीमित होती है जिसमें समांतरता प्राप्त की जा सकती है; दो कार्यों को समानांतर में निष्पादित नहीं किया जा सकता है, यदि कोई दूसरी पर निर्भर करता है (अनदेखा कर अटकलें)।

कई तरह के पैटर्न और चौखटे हैं जो प्रोग्रामर समानांतरता व्यक्त करने के लिए उपयोग करते हैं: पाइपलाइन, कार्य पूल, डेटा संरचनाओं ("समानांतर एरेज़") पर कुल संचालन

अन्तरक्रियाशीलता के बारे में थोड़ा अधिक विस्तार :

इंटरैक्टिविटी करने का सबसे बुनियादी और आम तरीका घटनाओं के साथ है (यानी इवेंट लूप और हैंडलर / कॉलबैक) सरल कार्यों की घटनाओं के लिए महान हैं घटनाओं के साथ और अधिक जटिल कार्य करने की कोशिश कर रहा है ढेर तेज (उर्फ कॉलबैक नरक, उर्फ ​​नियंत्रण उलटा) जब आप घटनाओं से तंग आते हैं तो आप जनरेटर, कोरैटाइन (उर्फ एसिंक / प्रतीक्षा) या सहकारी धागे की तरह अधिक विदेशी चीजों की कोशिश कर सकते हैं।

विश्वसनीय सॉफ़्टवेयर के प्यार के लिए, कृपया थ्रेड्स का उपयोग न करें, यदि आप इंटरैक्टिविटी के लिए जा रहे हैं।

Curmudgeonliness

मैं नापसंद रोब पाइक की "संगामिति समानता नहीं है, यह बेहतर है" नारा संवाहक समानता के मुकाबले बेहतर और न ही बेहतर है। संगामिति में अन्तरक्रियाशीलता भी शामिल है जो तुलनात्मक रूप से बेहतर / बदतर तरह से तुलना नहीं की जा सकती। यह कह रहा है कि "नियंत्रण प्रवाह डेटा की तुलना में बेहतर है"

संवाहक समानता का सामान्यीकृत रूप है उदाहरण के समानांतर कार्यक्रम को समवर्ती कहा जा सकता है लेकिन रिवर्स सही नहीं है।

  1. एकल प्रोसेसर पर समवर्ती निष्पादन संभव है (एकाधिक सूत्र, अनुसूचक या थ्रेड-पूल द्वारा प्रबंधित)

  2. एकल प्रोसेसर पर समानांतर निष्पादन संभव नहीं है लेकिन कई प्रोसेसर पर। (प्रोसेसर प्रति एक प्रक्रिया)

  3. वितरित कंप्यूटिंग भी एक संबंधित विषय है और इसे समवर्ती कंप्यूटिंग भी कहा जा सकता है लेकिन रिवर्स समानता की तरह सत्य नहीं है।

विवरण के लिए समवर्ती प्रोग्रामिंग के इस शोध पत्र अवधारणाओं को पढ़ें

इलेक्ट्रॉनिक्स धारावाहिक और समानांतर में सर्किट के वास्तविक व्यवहार का निर्धारण करते हुए, स्थिर टोपोलॉजी के एक प्रकार का प्रतिनिधित्व करता है। जब कोई संगामिति नहीं है, समानतावाद नियतात्मक है

गतिशील, समय संबंधी घटनाओं का वर्णन करने के लिए, हम अनुक्रमिक और समवर्ती शर्तों का उपयोग करते हैं। उदाहरण के लिए, एक निश्चित परिणाम कार्य के एक निश्चित क्रम (जैसे एक नुस्खा) के माध्यम से प्राप्त किया जा सकता है। जब हम किसी के साथ बात कर रहे हैं, हम शब्दों के अनुक्रम का उत्पादन कर रहे हैं। हालांकि, वास्तविकता में, कई अन्य प्रक्रियाएं एक ही क्षण में होती हैं, और इस प्रकार, एक निश्चित कार्रवाई के वास्तविक परिणाम के साथ सहमत हैं । यदि बहुत से लोग एक ही समय में बात कर रहे हैं, तो समवर्ती वार्ता हमारे अनुक्रम में हस्तक्षेप कर सकती हैं, लेकिन इस हस्तक्षेप के परिणाम पहले से नहीं जानते हैं संगामिति अनिश्चितता का परिचय

धारावाहिक / समानांतर और अनुक्रमिक / समवर्ती लक्षण वर्णन ऑर्थोगोनल हैं। इसका एक उदाहरण डिजिटल संचार में है सीरियल एडेप्टर में , एक डिजिटल संदेश समान रूप से (अर्थात क्रमिक रूप से ) उसी संचार लाइन (जैसे एक तार) के साथ वितरित किया जाता है। समानांतर एडॉप्टर में , यह समानांतर संचार लाइनों (जैसे कई तारों) पर भी विभाजित किया जाता है, और फिर प्राप्त अंत पर पुनर्निर्माण किया जाता है।

9 बच्चों के साथ हमें एक खेल खेलते हैं। अगर हम उन्हें एक श्रृंखला के रूप में निपटाना चाहते हैं, तो पहले एक संदेश दें और इसे अंत में प्राप्त करें, हमारे पास एक सीरियल संचार होगा। अधिक शब्दों में संदेश की रचना होती है, जिसमें संचार एकता का अनुक्रम होता है।

 I like ice-cream so much. > X > X > X > X > X > X > X > X > X > .... 

यह एक क्रमिक प्रक्रिया है जो सीरियल बुनियादी ढांचे पर पुनरुत्पादित है।

अब, हमें 3 बच्चों के समूह में बच्चों को विभाजित करने के लिए इमेज दें। हम वाक्यांश को तीन भागों में विभाजित करते हैं, हमारे बाईं ओर लाइन के बच्चे, केंद्र रेखा के बच्चे के लिए दूसरा आदि, पहले दे दें।

 I like ice-cream so much. > I like > X > X > X > .... > .... > ice-cream > X > X > X > .... > so much > X > X > X > .... 

यह एक अनुक्रमिक प्रक्रिया है जो एक समानांतर अवसंरचना पर पुनरुत्पादित है (हालांकि अभी भी आंशिक रूप से क्रमबद्ध है)।

दोनों मामलों में, यह मानते हुए कि बच्चों के बीच एक परिपूर्ण संचार होता है, परिणाम अग्रिम में निर्धारित होता है

यदि कोई अन्य व्यक्ति जो आपके साथ उसी समय पहले बच्चे से बात करते हैं, तो हमारे पास समवर्ती प्रक्रियाएं होंगी। हम नहीं जानते हैं कि बुनियादी सुविधाओं से कौन- सी प्रक्रिया पर विचार किया जाएगा, इसलिए अंतिम परिणाम अग्रिम में निर्धारित नहीं होता है

समांतरता: एकाधिक थ्रेड होने से ऐसा कार्य होता है जो डेटा और संसाधन के मामले में एक दूसरे से स्वतंत्र होते हैं जिन्हें उन्हें ऐसा करने की आवश्यकता होती है। उदाहरण: Google क्रॉलर हजारों धागे पैदा कर सकता है और प्रत्येक धागे स्वतंत्र रूप से कार्य कर सकता है।

संगामिति: जब आप डेटा शेयर करते हैं, तो संवाहक चित्र में आता है, सूत्रों के बीच साझा संसाधन। एक ट्रांसेक्शनल सिस्टम में इसका मतलब है कि आपको कुछ तकनीक जैसे ताले, सिमाफोर इत्यादि का उपयोग करके कोड के महत्वपूर्ण खंड को सिंक्रनाइज़ करना होगा।

अच्छा, मुझे यह समझने के लिए एक परिदृश्य दें कि मैं क्या समझता हूं। मान लीजिए कि 3 बच्चे नाम हैं: ए, बी, सी ए और बी टॉक, सी सुनो। ए और बी के लिए, वे समानांतर हैं: ए: मैं ए बी हूँ: मैं बी हूं।

लेकिन सी के लिए, उसके मस्तिष्क को ए और बी की सुनने के लिए समवर्ती प्रक्रिया को लेना चाहिए, यह शायद: मैं आईए हूँ बी

मुझे वास्तव में इस सवाल का पॉल बुचर का उत्तर पसंद है (वह सात सप्ताह में सात संगामिति मॉडल के लेखक हैं):

हालांकि वे अक्सर उलझन में हैं, समानतावाद और संगामिति अलग चीजें हैं। संवाहक समस्या डोमेन का एक पहलू है -आपके कोड को एक से अधिक समय (या एक साथ मिलकर ) इवेंट्स को संभालना आवश्यक है। इसके विपरीत, समानतावाद, समाधान डोमेन का एक पहलू है- आप समानांतर में समस्या के विभिन्न भागों को संसाधित करके अपने कार्यक्रम को तेजी से चलाने के लिए चाहते हैं। कुछ दृष्टिकोण संगामिति के लिए लागू होते हैं, कुछ समानतावाद के लिए होते हैं, और कुछ के लिए दोनों। समझें कि आप किससे सामना कर रहे हैं और नौकरी के लिए सही टूल का चयन करें।

संवाहक कार्य कार्य एक साथ चलने के साथ-साथ शामिल हो सकते हैं (वे वास्तव में अलग प्रोसेसर / कोर में चला सकते हैं लेकिन वे "टिक" में भी चल सकते हैं)। क्या महत्वपूर्ण है कि संगामिति हमेशा एक बड़ा काम का एक टुकड़ा करने का उल्लेख करते हैं । तो मूल रूप से यह कुछ कम्प्यूटेशंस का एक हिस्सा है। आप एक साथ क्या कर सकते हैं और किस तरह से और कैसे सिंक्रनाइज़ करने के बारे में स्मार्ट होना चाहिए

समानता का मतलब है कि आप कुछ चीजें एक साथ कर रहे हैं उन्हें एक समस्या सुलझाने का एक हिस्सा होने की आवश्यकता नहीं है। उदाहरण के लिए, आपके थ्रेड्स, प्रत्येक समस्या को हल कर सकते हैं। बेशक तुल्यकालन सामान भी लागू होता है लेकिन अलग-अलग दृष्टिकोण से

समवर्ती प्रोग्रामिंग उन कार्यों का संबंध है जो ओवरलैप होने लगते हैं और मुख्यतः गैर-नियतात्मक नियंत्रण प्रवाह के कारण उत्पन्न होने वाली जटिलता से संबंधित है समवर्ती कार्यक्रमों के साथ जुड़े मात्रात्मक लागत आम तौर पर दोनों थ्रूपुट और विलंबता हैं। समवर्ती कार्यक्रम अक्सर आईओ बाध्य होते हैं लेकिन हमेशा नहीं होते हैं, जैसे समवर्ती कचरा लेने वाले पूरी तरह से-सीपीयू हैं। एक समवर्ती कार्यक्रम का शैक्षणिक उदाहरण एक वेब क्रॉलर है यह कार्यक्रम वेब पृष्ठों के लिए अनुरोधों को शुरू करता है और एक साथ प्रतिक्रियाओं को स्वीकार करता है क्योंकि डाउनलोड के परिणाम उपलब्ध हो जाते हैं, पहले से ही देखे गए पृष्ठों के एक समूह को जमा कर रहे हैं। नियंत्रण प्रवाह गैर-नियतात्मक है क्योंकि प्रतिक्रियाएं हर बार प्रोग्राम चलने पर उसी क्रम में आवश्यक रूप से प्राप्त नहीं होती हैं। यह विशेषता समवर्ती कार्यक्रमों को डिबग करने के लिए बहुत कठिन बना सकता है। कुछ अनुप्रयोग मौलिक रूप से समवर्ती हैं, जैसे वेब सर्वर को एक साथ क्लाइंट कनेक्शन को संभालना चाहिए। एर्लंग शायद अत्यधिक समसामयिक प्रोग्रामिंग के लिए सबसे आशाजनक आगामी भाषा है।

समानांतर प्रोग्रामिंग से संबंधित चीजें हैं जो आपरेशन सुधारने के विशिष्ट लक्ष्य के लिए अतिव्याप्त हैं। समवर्ती प्रोग्रामिंग की कठिनाइयों को नियंत्रित प्रवाह नियतात्मक बनाने के द्वारा मिटा दिया गया है। सामान्यतया, प्रोग्राम समानांतर में चलने वाले बच्चे के कार्य सेट होते हैं और माता-पिता कार्य केवल एक बार जारी रहता है, जब प्रत्येक उप-संपदा समाप्त हो जाता है। यह डिबग करने के लिए समानांतर प्रोग्राम बहुत आसान बनाता है समानांतर प्रोग्रामिंग का मुश्किल हिस्सा ग्रैन्युलैरिटी और संचार जैसे मुद्दों के संबंध में प्रदर्शन अनुकूलन है। उत्तरार्द्ध अभी भी मल्टीकोर्स के संदर्भ में एक मुद्दा है क्योंकि डेटा को एक कैश से दूसरे स्थान पर स्थानांतरित करने के साथ काफी लागत है घने मैट्रिक्स-मैट्रिक्स गुणा समानांतर प्रोग्रामिंग का एक शैक्षणिक उदाहरण है और इसे स्ट्रैसेन के विभाजन और जीत एल्गोरिथम का उपयोग करके और समानांतर में उप-समस्याओं पर हमला करके कुशलतापूर्वक हल किया जा सकता है। सिल्क साझा-मेमोरी कंप्यूटर्स (मल्टीकोर सहित) पर उच्च-प्रदर्शन समानांतर प्रोग्रामिंग के लिए शायद सबसे ज्यादा आशाजनक भाषा है।

संगामिति स्वतंत्र रूप से निष्पादित प्रक्रियाओं की संरचना है, जबकि समानांतरता (संभवतः संबंधित) कम्प्यूटेशंस के एक साथ निष्पादन है।

Concurrency एक ही बार में कई चीजों से निपटने के बारे में है समानता एक ही बार में कई चीजें करने के बारे में है

संपार्श्विक सरल मतलब एक से अधिक कार्य चल रहे हैं (समानांतर में आवश्यक नहीं)। उदाहरण के लिए, हम किसी भी समय 3 कार्य करते हैं: एक से अधिक चल रहे हैं या सभी एक ही समय में चल रहे हैं।

समानता का अर्थ है कि वे वाकई समानांतर में चल रहे हैं। इसलिए उस स्थिति में सभी तीनों को एक ही समय में चलना चाहिए।

"संगामिति" के पाइक का विचार एक जानबूझकर डिजाइन और कार्यान्वयन निर्णय है। एक समवर्ती सक्षम कार्यक्रम डिजाइन व्यवहार "समानांतर" को प्रदर्शित नहीं कर सकता है या नहीं; यह रनटाइम पर्यावरण पर निर्भर करता है

आप एक प्रोग्राम द्वारा समानांतरता का प्रदर्शन नहीं करना चाहते जो संगामिति के लिए तैयार नहीं किया गया था। 🙂 लेकिन यह प्रासंगिक कारकों (बिजली की खपत, प्रदर्शन, आदि) के लिए एक शुद्ध लाभ है, तो आप एक अधिकतम-समवर्ती डिजाइन चाहते हैं ताकि मेजबान प्रणाली संभव हो तो उसके निष्पादन को समानांतर कर सके।

पाईक की जी प्रोग्रामिंग भाषा में यह चरम पर दिखाया गया है: उनके कार्य सभी थ्रेड्स हैं जो ठीक से एक साथ चल सकते हैं, यानी फ़ंक्शन को कॉल करने से हमेशा एक धागा बनाता है जो कॉलर के साथ समानांतर में चलाएगा यदि सिस्टम इसे सक्षम हो। सैकड़ों या हजारों धागे के साथ एक आवेदन पूरी तरह से अपनी दुनिया में सामान्य है। (मैं कोई विशेषज्ञ नहीं हूं, बस उस पर ले जाता हूं।)

Jenkov जावा concurrency ट्यूटोरियल से :

शब्दों की एकता और समानांतर अक्सर मल्टीथ्रेडेड कार्यक्रमों के संबंध में उपयोग किया जाता है। लेकिन संगामिति और समानता का क्या मतलब है, और क्या वे वही शब्द हैं या क्या?

संक्षिप्त जवाब नहीं है"। वे एक ही शब्द नहीं हैं, हालांकि वे सतह पर काफी समान दिखाई देते हैं। यह भी मुझे कुछ समय के लिए मिल गया और अंततः मिलन और समानांतरवाद के बीच अंतर को समझने और समझने के लिए। इसलिए मैंने इस जावा संगामिति ट्यूटोरियल के लिए संगामिति बनाम समानांतरता के बारे में एक पाठ जोड़ने का निर्णय लिया। संगामिति

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

समानता का मतलब है कि एक अनुप्रयोग अपने कार्यों को छोटे उप-टास्क में विभाजित करता है, जिसे समानांतर में संसाधित किया जा सकता है, उदाहरण के लिए, एक ही समय में कई CPUs पर। संगामिति बनाम समानतावाद विस्तार में

जैसा कि आप देख सकते हैं, संगामिति इस बात से संबंधित है कि कोई एप्लिकेशन किस प्रकार कार्य करता है कोई एप्लिकेशन एक कार्य को समय-समय पर संक्रमित कर सकता है (क्रमिक रूप से) या एक ही समय में एकाधिक कार्य पर काम कर सकता है (समवर्ती)।

दूसरी ओर समानतावाद, यह संबंधित है कि एक आवेदन प्रत्येक व्यक्तिगत कार्य को कैसे नियंत्रित करता है। कोई एप्लिकेशन शुरू से अंत तक कार्य क्रमिक रूप से संसाधित कर सकता है या कार्य को उप-टास्क में विभाजित कर सकता है जो समानांतर में पूरा किया जा सकता है।

जैसा कि आप देख सकते हैं, एक अनुप्रयोग समवर्ती हो सकता है, लेकिन समानांतर नहीं है। इसका मतलब है कि यह एक ही समय में एक से अधिक कार्य की प्रक्रिया करता है, लेकिन कार्य subtasks में विभाजित नहीं हैं।

एक आवेदन समांतर भी हो सकता है लेकिन समवर्ती नहीं है। इसका अर्थ है कि एप्लिकेशन केवल एक कार्य पर एक समय में काम करता है, और यह कार्य उप-टास्क में विभाजित है, जिसे समानांतर में संसाधित किया जा सकता है।

इसके अतिरिक्त, कोई अनुप्रयोग न तो समवर्ती और समानांतर हो सकता है इसका मतलब यह है कि यह एक समय में केवल एक कार्य पर काम करता है, और समानांतर निष्पादन के लिए कार्य कभी भी उपटास्क में नहीं टूटता है।

अंत में, एक अनुप्रयोग समवर्ती और समानांतर दोनों भी हो सकता है, जिसमें यह दोनों एक ही समय में कई कार्यों पर कार्य करता है, और प्रत्येक कार्य को समानांतर निष्पादन के लिए उपकार्यों में विभाजित करता है। हालांकि, इस परिदृश्य में संगामिति और समानांतरता के कुछ लाभों को खो दिया जा सकता है, क्योंकि कंप्यूटर में सीपीयू पहले ही अकेले संगामिति या समानतावाद के साथ काफी व्यस्त रहते हैं। इसके संयोजन से केवल एक छोटा प्रदर्शन लाभ या प्रदर्शन हानि हो सकती है। सुनिश्चित करें कि आप एक समवर्ती समानांतर मॉडल अपनाने से पहले इसका विश्लेषण और उपाय करें।

इस स्रोत से स्पष्टीकरण मेरे लिए सहायक था:

संवादात्मकता इस बात से संबंधित है कि कोई एप्लिकेशन किस प्रकार कार्य करता है कोई एप्लिकेशन एक कार्य को समय-समय पर संक्रमित कर सकता है (क्रमिक रूप से) या एक ही समय में एकाधिक कार्य पर काम कर सकता है (समवर्ती)।

दूसरी ओर समानतावाद, यह संबंधित है कि एक आवेदन प्रत्येक व्यक्तिगत कार्य को कैसे नियंत्रित करता है। कोई एप्लिकेशन शुरू से अंत तक कार्य क्रमिक रूप से संसाधित कर सकता है या कार्य को उप-टास्क में विभाजित कर सकता है जो समानांतर में पूरा किया जा सकता है।

जैसा कि आप देख सकते हैं, एक अनुप्रयोग समवर्ती हो सकता है, लेकिन समानांतर नहीं है। इसका मतलब है कि यह एक ही समय में एक से अधिक कार्य की प्रक्रिया करता है, लेकिन कार्य subtasks में विभाजित नहीं हैं।

एक आवेदन समांतर भी हो सकता है लेकिन समवर्ती नहीं है। इसका अर्थ है कि एप्लिकेशन केवल एक कार्य पर एक समय में काम करता है, और यह कार्य उप-टास्क में विभाजित है, जिसे समानांतर में संसाधित किया जा सकता है।

इसके अतिरिक्त, कोई अनुप्रयोग न तो समवर्ती और समानांतर हो सकता है इसका मतलब यह है कि यह एक समय में केवल एक कार्य पर काम करता है, और समानांतर निष्पादन के लिए कार्य कभी भी उपटास्क में नहीं टूटता है।

अंत में, एक अनुप्रयोग समवर्ती और समानांतर दोनों भी हो सकता है, जिसमें यह दोनों एक ही समय में कई कार्यों पर कार्य करता है, और प्रत्येक कार्य को समानांतर निष्पादन के लिए उपकार्यों में विभाजित करता है। हालांकि, इस परिदृश्य में संगामिति और समानांतरता के कुछ लाभों को खो दिया जा सकता है, क्योंकि कंप्यूटर में सीपीयू पहले ही अकेले संगामिति या समानतावाद के साथ काफी व्यस्त रहते हैं। इसके संयोजन से केवल एक छोटा प्रदर्शन लाभ या प्रदर्शन हानि हो सकती है।

बस शब्दकोश से परामर्श करके, आप देख सकते हैं कि समवर्ती (लैटिन से) का अर्थ है एक साथ चलाना, एकजुट होना, सहमत होना; इसलिए सिंक्रनाइज़ करने की आवश्यकता है क्योंकि समान संसाधनों पर प्रतिस्पर्धा है। समानांतर (ग्रीक से) का मतलब पक्ष की नकल है; एक ही समय में एक ही काम करने के लिए ergo