कार्य समानता: Difference between revisions

From Vigyanwiki
(Created page with "{{More footnotes|date=May 2011}} {{short description|Form of parallelization of computer code}} कार्य समानता (फ़ंक्शन समानता...")
 
No edit summary
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{More footnotes|date=May 2011}}
'''कार्य समानता''' (फलन समानता और नियंत्रण समानता के रूप में भी जाना जाता है) [[समानांतर कंप्यूटिंग]] वातावरण में कई केंद्रीय प्रसंस्करण इकाइयों में [[कंप्यूटर कोड]] के समानांतरकरण का एक रूप है। '''कार्य समानता''' कार्य (कंप्यूटिंग) को वितरित करने पर केंद्रित है। विभिन्न प्रोसेसरों में [[प्रक्रिया (कंप्यूटिंग)]] या [[थ्रेड (कंप्यूटिंग)]] द्वारा समवर्ती प्रदर्शन किया जाता है। डेटा समांतरता के विपरीत जिसमें डेटा के विभिन्न घटकों पर एक ही कार्य चलाना सम्मिलित है। एक ही डेटा पर एक ही समय में कई विभिन्न कार्यों को चलाकर '''कार्य समानता''' को विभाजित किया जा सकता है।<ref>{{cite news|last1=Reinders|first1=James|title=Understanding task and data parallelism {{!}} ZDNet|url=http://www.zdnet.com/article/understanding-task-and-data-parallelism-3039289129/|access-date=8 May 2017|work=ZDNet|date=10 September 2007|language=en}}</ref> एक सामान्य प्रकार का '''कार्य समानता''' [[पाइपलाइन (कंप्यूटिंग)]] है। जिसमें विभिन्न कार्यों की एक श्रृंखला के माध्यम से डेटा के एक समुच्चय को स्थानांतरित करना सम्मिलित है। जहां प्रत्येक कार्य दूसरों से स्वतंत्र रूप से निष्पादित हो सकता है।
{{short description|Form of parallelization of computer code}}
कार्य समानता (फ़ंक्शन समानता और नियंत्रण समानता के रूप में भी जाना जाता है) [[समानांतर कंप्यूटिंग]] वातावरण में कई केंद्रीय प्रसंस्करण इकाइयों में [[कंप्यूटर कोड]] के समानांतरकरण का एक रूप है। कार्य समानता कार्य (कंप्यूटिंग) को वितरित करने पर केंद्रित है - विभिन्न प्रोसेसरों में [[प्रक्रिया (कंप्यूटिंग)]] या [[थ्रेड (कंप्यूटिंग)]] द्वारा समवर्ती प्रदर्शन किया जाता है। डेटा समांतरता के विपरीत जिसमें डेटा के विभिन्न घटकों पर एक ही कार्य चलाना शामिल है, एक ही डेटा पर एक ही समय में कई अलग-अलग कार्यों को चलाकर कार्य समानता को अलग किया जाता है।<ref>{{cite news|last1=Reinders|first1=James|title=Understanding task and data parallelism {{!}} ZDNet|url=http://www.zdnet.com/article/understanding-task-and-data-parallelism-3039289129/|access-date=8 May 2017|work=ZDNet|date=10 September 2007|language=en}}</ref> एक सामान्य प्रकार का कार्य समानता [[पाइपलाइन (कंप्यूटिंग)]] है, जिसमें अलग-अलग कार्यों की एक श्रृंखला के माध्यम से डेटा के एक सेट को स्थानांतरित करना शामिल है, जहां प्रत्येक कार्य दूसरों से स्वतंत्र रूप से निष्पादित हो सकता है।


== विवरण ==
== विवरण ==
मल्टीप्रोसेसर सिस्टम में, कार्य समानता तब हासिल की जाती है जब प्रत्येक प्रोसेसर एक ही या अलग डेटा पर एक अलग थ्रेड (या प्रक्रिया) निष्पादित करता है। धागे समान या भिन्न कोड निष्पादित कर सकते हैं। सामान्य स्थिति में, अलग-अलग निष्पादन सूत्र काम करते समय एक दूसरे के साथ संवाद करते हैं, लेकिन यह एक आवश्यकता नहीं है। संचार आमतौर पर [[ कार्यप्रवाह ]] के भाग के रूप में डेटा को एक थ्रेड से दूसरे थ्रेड में पास करके होता है।<ref>{{cite book|last1=Quinn|first1=Michael J.|title=MPI और OpenMP के साथ C में समानांतर प्रोग्रामिंग|date=2007|publisher=Tata McGraw-Hill Pub.|location=New Delhi|isbn=978-0070582019|edition=Tata McGraw-Hill}}</ref>
मल्टीप्रोसेसर तन्त्र में कार्य समानता तब उपलब्धता की जाती है। जब प्रत्येक प्रोसेसर एक ही या अलग डेटा पर एक अलग थ्रेड (या प्रक्रिया) निष्पादित करता है। धागे समान या भिन्न कोड निष्पादित कर सकते हैं। सामान्य स्थिति में विभिन्न प्रकार के निष्पादन सूत्र कार्य करते समय एक दूसरे के साथ संवाद करते हैं। किन्तु यह एक आवश्यकता नहीं है। संचार सामान्यतः[[ कार्यप्रवाह | कार्यप्रवाह]] के भाग के रूप में डेटा को एक थ्रेड से दूसरे थ्रेड में पास करके भेजता है।<ref>{{cite book|last1=Quinn|first1=Michael J.|title=MPI और OpenMP के साथ C में समानांतर प्रोग्रामिंग|date=2007|publisher=Tata McGraw-Hill Pub.|location=New Delhi|isbn=978-0070582019|edition=Tata McGraw-Hill}}</ref>
एक सरल उदाहरण के रूप में, यदि कोई सिस्टम 2-प्रोसेसर सिस्टम (सीपीयू ए और बी) पर एक विकट: समानांतर वातावरण में कोड चला रहा है और हम कार्य ए और बी करना चाहते हैं, तो सीपीयू ए को कार्य ए करने के लिए कहना संभव है। और [[CPU]] b कार्य B को एक साथ करने के लिए, जिससे निष्पादन के रन टाइम (प्रोग्राम जीवनचक्र चरण) को कम किया जा सके। नीचे बताए अनुसार [[सशर्त (प्रोग्रामिंग)]] का उपयोग करके कार्यों को सौंपा जा सकता है।


कार्य समानता डेटा (डेटा समानता) के विपरीत प्रसंस्करण (यानी धागे) की वितरित (समानांतर) प्रकृति पर जोर देती है। अधिकांश वास्तविक कार्यक्रम कार्य समांतरता और डेटा समांतरता के बीच निरंतरता पर कहीं गिर जाते हैं।<ref>{{cite web|last1=Hicks|first1=Michael|title=समवर्ती मूल बातें|url=http://www.cs.umd.edu/class/fall2013/cmsc433/lectures/concurrency-basics.pdf|website=University of Maryland: Department of Computer Science|access-date=8 May 2017}}</ref>
एक सरल उदाहरण के रूप में यदि कोई तन्त्र 2-प्रोसेसर तन्त्र (सीपीयू a और b) पर एक समानांतर वातावरण में कोड चला रहा है और हम कार्य a और b करना चाहते हैं। सीपीयू a को कार्य A और सीपीयू b को कार्य B करने के लिए एक साथ बताना संभव है। जिससे निष्पादन का समय कम हो जाता है। नीचे बताए नियम के अनुसार [[सशर्त (प्रोग्रामिंग)|नियमानुसार (प्रोग्रामिंग)]] का उपयोग करके कार्यों को संचालित किया जा सकता है।
थ्रेड-लेवल पैरेललिज्म (TLP) एक एप्लिकेशन में निहित समानांतर कंप्यूटिंग है जो एक साथ कई [[ धागा (कंप्यूटर विज्ञान) ]] चलाता है। इस प्रकार की समानता बड़े पैमाने पर डेटाबेस जैसे वाणिज्यिक [[सर्वर (कंप्यूटिंग)]] के लिए लिखे गए अनुप्रयोगों में पाई जाती है। एक साथ कई थ्रेड चलाकर, ये एप्लिकेशन उच्च मात्रा में I/O और मेमोरी सिस्टम विलंबता को सहन करने में सक्षम होते हैं, जो उनके कार्यभार को बढ़ा सकते हैं - जबकि एक थ्रेड मेमोरी या डिस्क एक्सेस की प्रतीक्षा में देरी कर रहा है, अन्य थ्रेड्स उपयोगी कार्य कर सकते हैं।


[[ मल्टी कोर ]] माइक्रोप्रोसेसरों के आगमन के साथ थ्रेड-लेवल समानता का शोषण भी डेस्कटॉप बाजार में प्रवेश करना शुरू कर दिया है। ऐसा इसलिए हुआ है, क्योंकि विभिन्न कारणों से, एक ही कोर की घड़ी की गति या निर्देश प्रति घड़ी में वृद्धि करना उत्तरोत्तर अव्यावहारिक हो गया है। यदि यह प्रवृत्ति जारी रहती है, तो संभावित कंप्यूटिंग शक्ति में वृद्धि से लाभ उठाने के लिए नए अनुप्रयोगों को कई थ्रेड्स का उपयोग करने के लिए डिज़ाइन करना होगा। यह पिछले माइक्रोप्रोसेसर नवाचारों के विपरीत है जिसमें मौजूदा कोड को नए/तेज कंप्यूटर पर चलाकर स्वचालित रूप से तेज किया गया था।
कार्य समानता डेटा (डेटा समानता) के विपरीत प्रसंस्करण (अर्थात् धागे) की वितरित (समानांतर) प्रकृति पर महत्वपूर्ण योगदान प्रदान करती है। अधिकांशतः वास्तविक कार्यक्रम कार्य समांतरता और डेटा समांतरता के बीच निरंतरता पर कहीं गिरते हैं।<ref>{{cite web|last1=Hicks|first1=Michael|title=समवर्ती मूल बातें|url=http://www.cs.umd.edu/class/fall2013/cmsc433/lectures/concurrency-basics.pdf|website=University of Maryland: Department of Computer Science|access-date=8 May 2017}}</ref>
 
थ्रेड-लेवल पैरेललिज्म (टीएलपी) एक एप्लिकेशन में निहित समानांतर कंप्यूटिंग है। जो एक साथ कई [[ धागा (कंप्यूटर विज्ञान) |थ्रेड (कंप्यूटर विज्ञान)]] है। इस प्रकार की समानता बड़े मापदंड पर डेटाबेस जैसे वाणिज्यिक [[सर्वर (कंप्यूटिंग)]] के लिए लिखे गए अनुप्रयोगों में पाई जाती है। एक साथ कई थ्रेड चलाकर ये एप्लिकेशन उच्च मात्रा में I/O और मेमोरी तन्त्र विलंबता को सहन करने में सक्षम होते हैं। जो उनके कार्यभार को अधिक बढ़ा सकते हैं। जबकि एक थ्रेड मेमोरी या डिस्क एक्सेस की प्रतीक्षा में देरी कर रहा है और अन्य थ्रेड्स उपयोगी कार्य कर सकते हैं।
 
[[ मल्टी कोर | मल्टी-कोर]] माइक्रोप्रोसेसरों के आगमन के साथ थ्रेड-लेवल समानता का शोषण भी डेस्कटॉप बाजार में प्रवेश करना प्रारम्भ कर दिया है। ऐसा इसलिए हुआ है क्योंकि विभिन्न कारणों से एक ही कोर की घड़ी की गति या निर्देश प्रति घड़ी में वृद्धि करना उत्तरोत्तर अव्यावहारिक हो गया है। यदि यह प्रवृत्ति निरंतर जारी रहती है। जिससे संभावित कंप्यूटिंग पावर में वृद्धि से लाभ प्राप्त करने के लिए नए अनुप्रयोगों को कई थ्रेड्स का उपयोग करने के लिए प्रारूपित करना होगा। यह पिछले माइक्रोप्रोसेसर नवाचारों के विपरीत है। जिसमें उपस्थित कोड को नए या तेज कंप्यूटर पर चलाकर स्वचालित रूप से तेज किया गया था।


== उदाहरण ==
== उदाहरण ==
नीचे दिया गया [[स्यूडोकोड]] कार्य समानता को दर्शाता है:
नीचे दिया गया [[स्यूडोकोड]] कार्य समानता को दर्शाता है:


कार्यक्रम:
program:
...
 
अगर सीपीयू = ए तब
...
    कार्य ए करो
 
और अगर सीपीयू = बी तो
if CPU = "a" then
    टास्क बी करो
 
अगर अंत
do task "A"
...
 
अंत कार्यक्रम
else if CPU="b" then
 
do task "B"
 
end if
 
...
 
end program
 
कार्यक्रम का लक्ष्य कुछ शुद्ध कुल कार्य (A+B) करना है। यदि हम उपरोक्त कोड को लिखते हैं और इसे 2-प्रोसेसर तन्त्र पर लॉन्च करते हैं। तो रनटाइम पर्यावरण इसे निम्नानुसार निष्पादित करेगा।
 
*एक [[SPMD|एसपीएमडी]] (एकल प्रोग्राम, एकाधिक डेटा) तन्त्र में दोनों सीपीयू कोड निष्पादित करेंगे।
*एक समानांतर वातावरण में दोनों की एक ही डेटा तक पहुंच होगी।
*यदि क्लॉज सीपीयू के बीच अंतर करता है। सीपीयू "a" "if" पर सच पढ़ेगा और सीपीयू "b" "और "if" पर सच पढ़ेगा। इस प्रकार उनका अपना कार्य होगा।
* अब दोनों सीपीयू एक साथ विभिन्न प्रकार कोड ब्लॉक निष्पादित करते हैं और एक साथ विभिन्न प्रकार कार्य करते हैं।
 
सीपीयू a द्वारा निष्पादित कोड :
 
program:
 
...
 
do task "A"


कार्यक्रम का लक्ष्य कुछ शुद्ध कुल कार्य (ए+बी) करना है। यदि हम उपरोक्त कोड को लिखते हैं और इसे 2-प्रोसेसर सिस्टम पर लॉन्च करते हैं, तो रनटाइम पर्यावरण इसे निम्नानुसार निष्पादित करेगा।
...


*एक [[SPMD]] (एकल प्रोग्राम, एकाधिक डेटा) सिस्टम में, दोनों CPU कोड निष्पादित करेंगे।
end program
*एक समानांतर वातावरण में, दोनों की एक ही डेटा तक पहुंच होगी।
*अगर क्लॉज सीपीयू के बीच अंतर करता है। सीपीयू ए इफ पर ट्रू रीड करेगा और सीपीयू बी इफ पर ट्रू रीड करेगा, इस प्रकार उनका अपना कार्य होगा।
* अब, दोनों CPU एक साथ अलग-अलग कोड ब्लॉक निष्पादित करते हैं, एक साथ अलग-अलग कार्य करते हैं।


सीपीयू द्वारा निष्पादित कोड a :
सीपीयू b द्वारा निष्पादित कोड:


कार्यक्रम:
program:
...
कार्य ए करो
...
अंत कार्यक्रम


सीपीयू बी द्वारा निष्पादित कोड:
...


कार्यक्रम:
do task "B"
...
 
टास्क बी करो
...
...
 
अंत कार्यक्रम
end program


इस अवधारणा को अब किसी भी संख्या में प्रोसेसर के लिए सामान्यीकृत किया जा सकता है।
इस अवधारणा को अब किसी भी संख्या में प्रोसेसर के लिए सामान्यीकृत किया जा सकता है।


== भाषा समर्थन ==
== भाषा समर्थन ==
कार्य समानता को सामान्य प्रयोजन वाली भाषाओं में या तो अंतर्निहित सुविधाओं या पुस्तकालयों द्वारा समर्थित किया जा सकता है। उल्लेखनीय उदाहरणों में शामिल हैं:
कार्य समानता को सामान्य प्रयोजन वाली भाषाओं में या तो अंतर्निहित सुविधाओं या पुस्तकालयों द्वारा समर्थित किया जा सकता है। उल्लेखनीय उदाहरणों में सम्मिलित हैं:
* अदा: कार्य (अंतर्निहित)
* Ada: कार्य (अंतर्निहित)
* C++ (Intel): [[थ्रेडिंग बिल्डिंग ब्लॉक्स]]
* C++ (इंटेल): [[थ्रेडिंग बिल्डिंग ब्लॉक्स]]
* सी++ (इंटेल): [[ सिल्क मोर ]]
* सी++ (इंटेल): [[ सिल्क मोर |सिल्क मोर]]
* C++ (ओपन सोर्स/Apache 2.0): [[RaftLib]]
* सी++ (ओपन सोर्स/अपाचे 2.0): [[RaftLib]]
* सी, सी++, ऑब्जेक्टिव-सी, स्विफ्ट (ऐप्पल): [[ग्रैंड सेंट्रल डिस्पैच]]
* सी, सी++, ऑब्जेक्टिव-सी, स्विफ्ट (ऐप्पल): [[ग्रैंड सेंट्रल डिस्पैच]]
* डी: टास्क (कंप्यूटिंग) और [[ फाइबर (कंप्यूटर विज्ञान) ]]
* D: टास्क (कंप्यूटिंग) और [[ फाइबर (कंप्यूटर विज्ञान) |फाइबर (कंप्यूटर विज्ञान)]]
* डेल्फी (System.Threading.TParallel)
* डेल्फी (प्रणाली थ्रेडिंग.टी समानांतर)
* गो: गोरोटीन्स
* Go: गोरोटीन्स
* जावा: जावा संगामिति
* जावा: जावा संगामिति
* .NET: कार्य समानांतर लाइब्रेरी
* .NET: कार्य समानांतर लाइब्रेरी
ठीक-ठाक कार्य-समानांतर भाषाओं के उदाहरण [[हार्डवेयर विवरण भाषा]]ओं जैसे [[Verilog]] और [[वीएचडीएल]] के दायरे में पाए जा सकते हैं।
सही कार्य-समानांतर भाषाओं के उदाहरण [[हार्डवेयर विवरण भाषा]]ओं जैसे [[Verilog|वेरीलॉग]] और [[वीएचडीएल]] निर्धारित सीमा में पाए जा सकते हैं।


== यह भी देखें ==
== यह भी देखें ==
Line 75: Line 91:
{{Parallel Computing}}
{{Parallel Computing}}


{{DEFAULTSORT:Task Parallelism}}[[Category: समानांतर कंप्यूटिंग]] [[Category: थ्रेड्स (कंप्यूटिंग)]]
{{DEFAULTSORT:Task Parallelism}}
 
 


[[Category: Machine Translated Page]]
[[Category:CS1 English-language sources (en)]]
[[Category:Created On 07/05/2023]]
[[Category:Collapse templates|Task Parallelism]]
[[Category:Created On 07/05/2023|Task Parallelism]]
[[Category:Machine Translated Page|Task Parallelism]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|Task Parallelism]]
[[Category:Pages with script errors|Task Parallelism]]
[[Category:Sidebars with styles needing conversion|Task Parallelism]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats|Task Parallelism]]
[[Category:Templates that are not mobile friendly|Task Parallelism]]
[[Category:Templates using TemplateData|Task Parallelism]]
[[Category:Wikipedia metatemplates|Task Parallelism]]
[[Category:थ्रेड्स (कंप्यूटिंग)|Task Parallelism]]
[[Category:समानांतर कंप्यूटिंग|Task Parallelism]]

Latest revision as of 17:21, 16 May 2023

कार्य समानता (फलन समानता और नियंत्रण समानता के रूप में भी जाना जाता है) समानांतर कंप्यूटिंग वातावरण में कई केंद्रीय प्रसंस्करण इकाइयों में कंप्यूटर कोड के समानांतरकरण का एक रूप है। कार्य समानता कार्य (कंप्यूटिंग) को वितरित करने पर केंद्रित है। विभिन्न प्रोसेसरों में प्रक्रिया (कंप्यूटिंग) या थ्रेड (कंप्यूटिंग) द्वारा समवर्ती प्रदर्शन किया जाता है। डेटा समांतरता के विपरीत जिसमें डेटा के विभिन्न घटकों पर एक ही कार्य चलाना सम्मिलित है। एक ही डेटा पर एक ही समय में कई विभिन्न कार्यों को चलाकर कार्य समानता को विभाजित किया जा सकता है।[1] एक सामान्य प्रकार का कार्य समानता पाइपलाइन (कंप्यूटिंग) है। जिसमें विभिन्न कार्यों की एक श्रृंखला के माध्यम से डेटा के एक समुच्चय को स्थानांतरित करना सम्मिलित है। जहां प्रत्येक कार्य दूसरों से स्वतंत्र रूप से निष्पादित हो सकता है।

विवरण

मल्टीप्रोसेसर तन्त्र में कार्य समानता तब उपलब्धता की जाती है। जब प्रत्येक प्रोसेसर एक ही या अलग डेटा पर एक अलग थ्रेड (या प्रक्रिया) निष्पादित करता है। धागे समान या भिन्न कोड निष्पादित कर सकते हैं। सामान्य स्थिति में विभिन्न प्रकार के निष्पादन सूत्र कार्य करते समय एक दूसरे के साथ संवाद करते हैं। किन्तु यह एक आवश्यकता नहीं है। संचार सामान्यतः कार्यप्रवाह के भाग के रूप में डेटा को एक थ्रेड से दूसरे थ्रेड में पास करके भेजता है।[2]

एक सरल उदाहरण के रूप में यदि कोई तन्त्र 2-प्रोसेसर तन्त्र (सीपीयू a और b) पर एक समानांतर वातावरण में कोड चला रहा है और हम कार्य a और b करना चाहते हैं। सीपीयू a को कार्य A और सीपीयू b को कार्य B करने के लिए एक साथ बताना संभव है। जिससे निष्पादन का समय कम हो जाता है। नीचे बताए नियम के अनुसार नियमानुसार (प्रोग्रामिंग) का उपयोग करके कार्यों को संचालित किया जा सकता है।

कार्य समानता डेटा (डेटा समानता) के विपरीत प्रसंस्करण (अर्थात् धागे) की वितरित (समानांतर) प्रकृति पर महत्वपूर्ण योगदान प्रदान करती है। अधिकांशतः वास्तविक कार्यक्रम कार्य समांतरता और डेटा समांतरता के बीच निरंतरता पर कहीं गिरते हैं।[3]

थ्रेड-लेवल पैरेललिज्म (टीएलपी) एक एप्लिकेशन में निहित समानांतर कंप्यूटिंग है। जो एक साथ कई थ्रेड (कंप्यूटर विज्ञान) है। इस प्रकार की समानता बड़े मापदंड पर डेटाबेस जैसे वाणिज्यिक सर्वर (कंप्यूटिंग) के लिए लिखे गए अनुप्रयोगों में पाई जाती है। एक साथ कई थ्रेड चलाकर ये एप्लिकेशन उच्च मात्रा में I/O और मेमोरी तन्त्र विलंबता को सहन करने में सक्षम होते हैं। जो उनके कार्यभार को अधिक बढ़ा सकते हैं। जबकि एक थ्रेड मेमोरी या डिस्क एक्सेस की प्रतीक्षा में देरी कर रहा है और अन्य थ्रेड्स उपयोगी कार्य कर सकते हैं।

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

उदाहरण

नीचे दिया गया स्यूडोकोड कार्य समानता को दर्शाता है:

program:

...

if CPU = "a" then

do task "A"

else if CPU="b" then

do task "B"

end if

...

end program

कार्यक्रम का लक्ष्य कुछ शुद्ध कुल कार्य (A+B) करना है। यदि हम उपरोक्त कोड को लिखते हैं और इसे 2-प्रोसेसर तन्त्र पर लॉन्च करते हैं। तो रनटाइम पर्यावरण इसे निम्नानुसार निष्पादित करेगा।

  • एक एसपीएमडी (एकल प्रोग्राम, एकाधिक डेटा) तन्त्र में दोनों सीपीयू कोड निष्पादित करेंगे।
  • एक समानांतर वातावरण में दोनों की एक ही डेटा तक पहुंच होगी।
  • यदि क्लॉज सीपीयू के बीच अंतर करता है। सीपीयू "a" "if" पर सच पढ़ेगा और सीपीयू "b" "और "if" पर सच पढ़ेगा। इस प्रकार उनका अपना कार्य होगा।
  • अब दोनों सीपीयू एक साथ विभिन्न प्रकार कोड ब्लॉक निष्पादित करते हैं और एक साथ विभिन्न प्रकार कार्य करते हैं।

सीपीयू a द्वारा निष्पादित कोड :

program:

...

do task "A"

...

end program

सीपीयू b द्वारा निष्पादित कोड:

program:

...

do task "B"

...

end program

इस अवधारणा को अब किसी भी संख्या में प्रोसेसर के लिए सामान्यीकृत किया जा सकता है।

भाषा समर्थन

कार्य समानता को सामान्य प्रयोजन वाली भाषाओं में या तो अंतर्निहित सुविधाओं या पुस्तकालयों द्वारा समर्थित किया जा सकता है। उल्लेखनीय उदाहरणों में सम्मिलित हैं:

सही कार्य-समानांतर भाषाओं के उदाहरण हार्डवेयर विवरण भाषाओं जैसे वेरीलॉग और वीएचडीएल निर्धारित सीमा में पाए जा सकते हैं।

यह भी देखें

संदर्भ

  1. Reinders, James (10 September 2007). "Understanding task and data parallelism | ZDNet". ZDNet (in English). Retrieved 8 May 2017.
  2. Quinn, Michael J. (2007). MPI और OpenMP के साथ C में समानांतर प्रोग्रामिंग (Tata McGraw-Hill ed.). New Delhi: Tata McGraw-Hill Pub. ISBN 978-0070582019.
  3. Hicks, Michael. "समवर्ती मूल बातें" (PDF). University of Maryland: Department of Computer Science. Retrieved 8 May 2017.