समवर्ती कंप्यूटिंग

समवर्ती गणना कंप्यूटिंग का एक रूप है जिसमें कई संगणनाएँ समवर्ती रूप से निष्पादित की जाती हैं।अतिव्यापक अवधि के दौरान क्रमिक रूप से अगली शुरूआत पहले की जाती है।

यह प्रणाली की एक संपत्ति है जो एक कंप्यूटर प्रोग्राम या संगणक संजाल जहां प्रत्येक प्रक्रिया के लिए एक अलग निष्पादन बिंदु का नियंत्रण होता है। एक 'समवर्ती प्रणाली' वह है जहां एक संगणना अन्य सभी संगणनाओं को पूरा होने की प्रतीक्षा किए ही आगे बढ़ जाती हैं। समवर्ती गणना मॉड्यूलर प्रोग्रामिंग का एक रूप है। इसके प्रोग्रामिंग प्रतिमान में एक समग्र अभिकलन तथाअपघटन (कंप्यूटर विज्ञान) उप-गणनाओं में होता है जिसे समवर्ती रूप से निष्पादित किया जा सकता है। एडवर्ड डिजस्ट्रा तथा ब्रिन्च हेन्सन और सी.ए.आर. होरे ने कहा कि समवर्ती गणना के क्षेत्र में यह सम्मिलित हैं।

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

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

साझा संसाधनों तक पहुंच का समन्वय करना
समवर्ती कार्यक्रमों की बनावट करने में मुख्य चुनौती समवर्ती नियंत्रण है। विभिन्न गणतीय निष्पादनों के बीच बातचीत या संचार का सही क्रम सुनिश्चित करना और निष्पादन के बीच साझा किए गए संसाधनों तक पहुंच का समन्वय करना संभावित समस्याओं में दौड़ की शर्त सॉफ्टवेयर गतिरोध और संसाधन भुखमरी सम्मिलित हैं। उदाहरण के लिए साझा संसाधन द्वारा दर्शाए गए चेकिंग खाते से निकासी करने के लिए निम्नलिखित एल्गोरिथम पर विचार करें ।

वाक्यविन्यास लैंग = सीपीपी लाइन हाइलाइट = 3,5 बूल निकासी

कल्पना करना बैलेंस और दो समवर्ती धागे हैं साथ ही और  यदि दोनों ऑपरेशनों में लाइन 3 को लाइन 5 से पहले निष्पादित किया जाता है तो दोनों ऑपरेशन उसे खोज लेंगे बैलेंस  का मूल्यांकन करता है और निकासी राशि घटाने के लिए निष्पादन  करता है। जबकि दोनों प्रक्रियाएं अपनी निकासी करती हैं इसलिए निकाली गई कुल राशि मूल शेष राशि से अधिक होगी साझा संसाधनों के साथ इस तरह की समस्याएं संगमिति नियंत्रण या गैर-अवरुद्ध एल्गोरिदम के उपयोग से लाभान्वित होती हैं।

लाभ
समवर्ती गणना के लाभों में सम्मिलित हैं-


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

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

इनपुट/आउटपुट स्वचालित इनपुट/आउटपुट ऑटोमेटा को 1987 में पेश किया गया था।

समवर्ती प्रणालियों के व्यवहार का वर्णन करने के लिए लामपोर्ट के क्रियाओं का अस्थायी तर्क टीएलए और गणितीय मॉडल जैसे ट्रेस सिद्धांत और अभिनेता मॉडल सिद्धांत जैसे तर्क भी विकसित किए गए हैं।

सॉफ्टवेयर लेनदेन स्मृति डेटाबेस प्रबंधन प्रणाली से परमाणु प्रतिबद्ध की अवधारणा को उधार लेती है और उन्हें स्मृति अनुलेख पर लागू करती है।

संगति मॉडल
समवर्ती गणना की भाषा और बहुगुणक कार्यक्रम में एक संगति मॉडल होना चाहिए। संगत मॉडल नियमों को परिभाषित करता है कि कंप्यूटर डेटा संग्रहण पर संचालन कैसे होता है और परिणाम कैसे उत्पन्न होते हैं।

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

कार्यान्वयन
समवर्ती कार्यक्रमों को लागू करने के लिए कई अलग-अलग तरीकों का उपयोग किया जा सकता है जैसे प्रत्येक गणितीय निष्पादन को एक प्रक्रिया (कंप्यूटर विज्ञान) के रूप में लागू करना या गणितीय प्रक्रियाओं को धागे के एक सेट के रूप में एक संचालन प्रणाली प्रक्रिया के भीतर लागू करना होगा।

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

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

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

साझा की गई स्मृति और संदेश पास करने वाली संगमिति में अलग-अलग प्रदर्शन विशेषताएँ होती हैं। आमतौर पर संदेश पासिंग प्रणाली में प्रति-प्रक्रिया स्मृति ओवरहेड और कार्य स्विचिंग ओवरहेड कम होता है लेकिन संदेश पासिंग का ओवरहेड प्रक्रिया कॉल के दौरान अधिक होता है। ये अंतर अधिकतर अन्य प्रदर्शन कारकों से अभिभूत होते हैं।

इतिहास
19वीं और 20वीं सदी की शुरुआत में रेलमार्ग और टेलीग्राफी पर किए गए पहले से समवर्ती गणना विकसित हुई और कुछ शर्तें इस अवधि की हैं जैसे कि संकेत से प्रकट करना ये एक ही रेल प्रणाली पर कई ट्रेनों को संभालने के तरीके और तारों के एक सेट पर कई प्रसारणों को कैसे संभालना है जैसे समय-विभाजन बहुसंकेतन 1870 के दशक के रूप में है।

समवर्ती प्रारूप का अकादमिक अध्ययन 1960 के दशक में शुरू हुआ था पारस्परिक बहिष्करण की पहचान करने और हल करने वाला इस क्षेत्र का पहला पेपर होने का श्रेय था।

व्यापकता
संगणना व्यापक है एक चिप निम्न-स्तरीयर हार्डवेयर से लेकर विश्वव्यापी नेटवर्क तक होती है। उदाहरण -

गणितीय भाषा स्तर पर।
 * गणितीय चैनल।
 * कॉरटीन।
 * मैं और नहीं।

संचालन प्रणाली स्तर पर।
 * कंप्यूटर मल्टीटास्किंग जिसमें सहकारी मल्टीटास्किंग और प्रीमेप्टिव मल्टीटास्किंग दोनों सम्मिलित हैं।
 * समय साझा जिसनेे समवर्ती उपयोग के साथ नौकरियों के अनुक्रमिक बैच प्रसंस्करण को बदल दिया।
 * गणितीय प्रक्रिया।
 * थ्रेड गणितीय।

नेटवर्क स्तर पर नेटवर्क प्रणाली आम तौर पर उनके स्वभाव से समवर्ती होते हैं क्योंकि उनमें अलग-अलग डिवाइस होते हैं।

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


 * गणितीय भाषा का सामान्य उद्देश्य संदेश भेजने और मॉनिटर आधारित संगमिति के लिए मूल समर्थन का प्रयोग करना।
 * एलएएफ समवर्ती थ्रेड्स और संदेश पासिंग के साथ, बेल लैब्स से प्लान 9 के शुरुआती संस्करणों में प्रणाली गणितीय भाषा के लिए।
 * एएलएस मानक एमएल का विस्तार भविष्य के माध्यम से कंसीडर के लिए समर्थन जोड़ता है।
 * पीएक्स पाई गणना से प्रेरित समानांतर प्रिमिटिव के साथ जावा भाषा का विस्तार।
 * एक्सएम डोमेन विशिष्ट समवर्ती अभिनेता मॉडल पर आधारित सी-जैसे सिंटैक्स का उपयोग करके एनईटी की सामान्य भाषा।
 * बीएमडीएफएम—बाइनरी मॉड्यूलर डाटाफ्लो मशीन।
 * सी एसटीडी थ्रेड।
 * सी ओमेगा अनुसंधान सी का विस्तार करता है समकालिक संचार का उपयोग करता है।
 * सी तेज सी ताला उपज का उपयोग कर समवर्ती गणना का समर्थन करता है संसककरण 5.0 एसिंक्स और प्रतीक्षित संपर्क पेश किए जाते हैं।
 * क् जर- प (प्रोग्रामिंग भाषा्रामंग बोली
 * समवर्ती संग्रह (सीएनसी) डेटा और नियंत्रण के प्रवाह को स्पष्ट रूप से परिभाषित करके स्मृति मॉडल से स्वतंत्र अंतर्निहित समानांतरता प्राप्त करता है।
 * समवर्ती हास्केल आलसी शुद्ध कार्यात्मक भाषा साझा स्मृति पर समवर्ती प्रक्रियाओं का संचालन करती है।
 * समवर्ती एमएल मानक एमएल का समवर्ती विस्तार।
 * समवर्ती पास्कल पर ब्रिन्च हेन्सन द्वारा।
 * करी गणितीय भाषा।
 * डी गणितीय भाषा बहु-प्रतिमान भाषा समवर्ती भाषा के लिए स्पष्ट समर्थन के साथ बहु-प्रतिमान प्रणाली गणितीय भाषा।
 * ई गणितीय भाषा डेडलॉक्स को रोकने के लिए वादों का उपयोग करता है।
 * ईसीएमए लिखी कहानी समकालिक संचालन के लिए वादों का उपयोग करता है।
 * एफिल भाषा  अनुबंध द्वारा बनावट की अवधारणाओं के आधार पर अपने स्कूप (सॉफ्टवेयर) तंत्र के माध्यम ।
 * इलीक्सिर भाषा निर्देशांक और काल्पनिक मेटा-भाषा जागरूक भाषा एरलैंग वीएम पर चल रही है।
 * एरलांग भाषा बिना किसी साझा किए समकालिक संदेश का उपयोग करता है।
 * एफयूटीएस भाषा इशारा स्वरूप के लिए वास्तविक समय खुलाएमपी या एक विशिष्ट शेड्यूलर के माध्यम से स्वचालित समानांतरण प्रदान करता है।
 * फोरट्रान-कोएरे फोरट्रान और डू समवर्ती फोरट्रान 2008 मानक का हिस्सा है।
 * गो भाषा प्रणाली गणना के लिए एक समवर्ती मॉडल के साथ संचार अनुक्रमिक प्रक्रियाओं पर आधारित है।
 * हास्केल गणितीय भाषा समवर्ती और समानांतर कार्यात्मक भाषा।
 * ह्यूम भाषा सीमित स्थान और समय के वातावरण के लिए कार्यात्मक समवर्ती जहां ऑटोमेटा प्रक्रियाओं को सिंक्रोनस चैनल पैटर्न और संदेश पासिंग द्वारा वर्णित किया जाता है।
 * लो भाषा अभिनेता आधारित संगमिति।
 * जानूस समवर्ती बाधा भाषा तार्किक चर बैग चैनलों के लिए अलग-अलग पूछने वाले और बतानेे वाले विशुद्ध रूप से घोषणात्मक है।
 * जूलिया गणितीय भाषा समवर्ती प्रोग्रामिंग कार्य, एएसऑवाईएनसी प्रतीक्षा चैनल।
 * जावास्क्रिप्ट वेब कार्यकर्ता के माध्यम से एक ब्राउज़र वातावरण में भविष्य और कॉलबैक कंप्यूटर प्रोग्रामिंग।
 * जेओकॉलम समवर्ती और वितरित चैनल आधारित ओकॉलम का विस्तार प्रक्रियाओं के जोड़-कलन को लागू करता है।
 * जावा से जुड़ें समवर्ती जावा गणितीय भाषा पर आधारित।
 * जूल गणितीय भाषा डेटा प्रवाह पर आधारित संदेश पास करके संचार करता है।
 * जॉयस गणितीय भाषा समवर्ती शिक्षण समवर्ती पास्कल पर निर्मित पेर ब्रिंक हैनसेन द्वारा अनुक्रमिक प्रक्रियाओं के संचार ।
 * प्रयोगशाला—ग्राफिकल डेटा प्रवाह फ़ंक्शन एक ग्राफ़ में नहीं होते हैं डेटा नोड्स के बीच तार होते हैं वस्तु-उन्मुख भाषा सम्मिलित है।
 * लिंबो गणितीय भाषा इन्फर्नो में प्रणाली के लिए एलएफसे संबंधित है।
 * मल्टीलिस्प स्कीम वेरिएंट को समानता का समर्थन करने के लिए विस्तारित किया गया।
 * मॉड्यूल-2— गणितीय प्रणाली के लिए एन विर्थ द्वारा पास्कल के उत्तराधिकारी के रूप में कोरआउटिन के लिए मूल समर्थन किया।
 * मॉड्यूल -3—अल्गोल परिवार का आधुनिक सदस्य जिसके पास थ्रेड्स, म्यूटेक्स, शर्त, सत्यापन लिए व्यापक समर्थन है।
 * न्यूज़क्वीक—अनुसंधान के लिए प्रथम श्रेणी के मूल्यों के रूप में चैनलों के साथ एलेफ़ के पूर्ववर्ती भाषा।
 * ओकैम भाषा - अनुक्रमिक प्रक्रियाओं (सीएसपी) को संप्रेषित करके अत्यधिक प्रभावित करना।
 * ओकैम पाइ—ओकैम का एक आधुनिक संस्करण जिसमें मिलनर के पाई कैलकुलस के विचार सम्मिलित हैं।
 * Orc (प्रोग्रामिंग भाषा) - क्लेन बीजगणित पर आधारित भारी समवर्ती, गैर नियतात्मक
 * ओज़ (प्रोग्रामिंग भाषा) | ओज़-मोजार्ट-मल्टीपैराडाइम, साझा-स्थिति और संदेश-पासिंग संगामिति, और वायदा का समर्थन करता है
 * पैरासेल (प्रोग्रामिंग लैंग्वेज) - ऑब्जेक्ट-ओरिएंटेड, पैरेलल, फ्री ऑफ पॉइंटर्स, रेस कंडीशंस
 * पिक्चर (प्रोग्रामिंग लैंग्वेज) - अनिवार्य रूप से मिलनर के π-कैलकुलस का एक निष्पादन योग्य कार्यान्वयन
 * राकू (प्रोग्रामिंग भाषा) में डिफ़ॉल्ट रूप से थ्रेड्स, वादों और चैनलों के लिए कक्षाएं शामिल हैं
 * पायथन (प्रोग्रामिंग भाषा) - थ्रेड-आधारित समानता और प्रक्रिया-आधारित समानता का उपयोग करता है
 * रीया (प्रोग्रामिंग भाषा) - साझा-कुछ भी नहीं वस्तुओं के बीच अतुल्यकालिक संदेश का उपयोग करता है
 * लाल (प्रोग्रामिंग भाषा)|लाल/सिस्टम—रिबोल पर आधारित सिस्टम प्रोग्रामिंग के लिए
 * जंग (प्रोग्रामिंग भाषा) - सिस्टम प्रोग्रामिंग के लिए, मूव सिमेंटिक्स के साथ मैसेज-पासिंग का उपयोग करते हुए, साझा अपरिवर्तनीय मेमोरी और साझा म्यूटेबल मेमोरी।
 * स्काला (प्रोग्रामिंग लैंग्वेज) - सामान्य उद्देश्य, सामान्य प्रोग्रामिंग पैटर्न को संक्षिप्त, सुरुचिपूर्ण और प्रकार-सुरक्षित तरीके से व्यक्त करने के लिए डिज़ाइन किया गया
 * SequenceL-सामान्य उद्देश्य कार्यात्मक, मुख्य डिजाइन उद्देश्य प्रोग्रामिंग में आसानी, कोड स्पष्टता-पठनीयता, और मल्टीकोर हार्डवेयर पर प्रदर्शन के लिए स्वत: समानांतरकरण, और दौड़ की स्थिति से मुक्त साबित होता है
 * एसआर भाषा-अनुसंधान के लिए
 * सुपरपास्कल-समवर्ती, शिक्षण के लिए, प्रति ब्रिन्च हैनसेन द्वारा समवर्ती पास्कल और जॉयस (प्रोग्रामिंग भाषा) पर निर्मित
 * स्विफ्ट (प्रोग्रामिंग भाषा) - अतुल्यकालिक और समानांतर कोड को संरचित तरीके से लिखने के लिए अंतर्निहित समर्थन
 * यूनिकॉन (प्रोग्रामिंग भाषा)—अनुसंधान के लिए
 * TNSDL—दूरसंचार आदान-प्रदान विकसित करने के लिए, अतुल्यकालिक संदेश पासिंग का उपयोग करता है
 * वीएचएसआईसी हार्डवेयर विवरण भाषा (वीएचडीएल)—आईईईई एसटीडी-1076
 * XC (प्रोग्रामिंग भाषा) - XMOS द्वारा विकसित C भाषा का संगामिति-विस्तारित उपसमुच्चय, क्रमिक प्रक्रियाओं के संचार पर आधारित, प्रोग्रामयोग्य I/O के लिए अंतर्निहित निर्माण
 * वीएचएसआईसी हार्डवेयर विवरण भाषा (वीएचडीएल)—आईईईई एसटीडी-1076
 * XC (प्रोग्रामिंग भाषा) - XMOS द्वारा विकसित C भाषा का संगामिति-विस्तारित उपसमुच्चय, क्रमिक प्रक्रियाओं के संचार पर आधारित, प्रोग्रामयोग्य I/O के लिए अंतर्निहित निर्माण

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

यह भी देखें

 * अतुल्यकालिक I/O
 * चू स्थान
 * प्रवाह आधारित प्रोग्रामिंग
 * जावा समवर्ती मानचित्र
 * टॉलेमी परियोजना
 * शेफ़ (गणित)
 * संरचित संगामिति
 * लेनदेन प्रक्रिया
 * लेनदेन प्रक्रिया

बाहरी संबंध

 * Concurrent Systems Virtual Library
 * Concurrent Systems Virtual Library