ग्रैन्युलैरिटी (समानांतर कंप्यूटिंग): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{short description|Measure of the amount of work needed to perform a computing task}}
{{short description|Measure of the amount of work needed to perform a computing task}}


[[समानांतर कंप्यूटिंग]] में, किसी [[कार्य (कंप्यूटिंग)]] की ग्रैन्युलैरिटी (या [[दानेदार बनाने का कार्य]] आकार) उस कार्य द्वारा किए गए कार्य (या [[गणना]]) की मात्रा का माप है।<ref name="hwang">{{cite book|last1=Hwang|first1=Kai|title=Advanced Computer Architecture: Parallelism,Scalability,Programmability|publisher=McGraw-Hill Higher Education|isbn=978-0070316225|edition=1st|url=http://dl.acm.org/citation.cfm?id=541880&preflayout=flat|year=1992}}</ref>
[[समानांतर कंप्यूटिंग|'''ग्रैन्युलैरिटी''']] में, किसी [[कार्य (कंप्यूटिंग)]] की ग्रैन्युलैरिटी (या ग्रेन साइज़) उस कार्य द्वारा किए गए कार्य (या [[गणना]]) की मात्रा का माप है।<ref name="hwang">{{cite book|last1=Hwang|first1=Kai|title=Advanced Computer Architecture: Parallelism,Scalability,Programmability|publisher=McGraw-Hill Higher Education|isbn=978-0070316225|edition=1st|url=http://dl.acm.org/citation.cfm?id=541880&preflayout=flat|year=1992}}</ref>
ग्रैन्युलैरिटी की अन्य परिभाषा कई [[प्रोसेसर (कंप्यूटिंग)]] या प्रसंस्करण तत्वों के बीच संचार [[ओवरहेड (कंप्यूटिंग)]] को ध्यान में रखती है। यह ग्रैन्युलैरिटी को गणना समय और संचार समय के अनुपात के रूप में परिभाषित करता है, जिसमें गणना समय किसी कार्य की गणना करने के लिए आवश्यक समय है और संचार समय प्रोसेसर के बीच डेटा का आदान-प्रदान करने के लिए आवश्यक समय है।<ref name = "Kwiatkowski">{{Cite book|last1=Kwiatkowski|first1=Jan|chapter=Evaluation of Parallel Programs by Measurement of Its Granularity|journal=Parallel Processing and Applied Mathematics|volume=2328|date=9 September 2001|pages=145–153|doi=10.1007/3-540-48086-2_16|language=en|isbn=9783540437925 |series=Lecture Notes in Computer Science}} {{ISBN|9783540480860}}.</ref>
अगर {{math|''T''{{sub|comp}}}} गणना समय है और {{math|''T''{{sub|comm}}}} संचार समय को दर्शाता है, फिर ग्रैन्युलैरिटी को {{mvar|G}किसी कार्य की गणना इस प्रकार की जा सकती है:<ref name="Kwiatkowski"/>::<math>G=\frac{T_\mathrm{comp}}{T_\mathrm{comm}}</math>
ग्रैन्युलैरिटी को आमतौर पर निर्देश सेट आर्किटेक्चर की संख्या के संदर्भ में मापा जाता है जो किसी विशेष कार्य में [[निष्पादन (कंप्यूटिंग)]] होते हैं।<ref name="hwang"/>वैकल्पिक रूप से, ग्रैन्युलैरिटी को किसी प्रोग्राम के निष्पादन समय के संदर्भ में, गणना समय और संचार समय को मिलाकर भी निर्दिष्ट किया जा सकता है।<ref name="hwang"/>


ग्रैन्युलैरिटी की अन्य परिभाषा विभिन्न [[प्रोसेसर (कंप्यूटिंग)]] या प्रसंस्करण अवयवो के मध्य संचार [[ओवरहेड (कंप्यूटिंग)]] को ध्यान में रखती है। यह ग्रैन्युलैरिटी को गणना समय और संचार समय के अनुपात के रूप में परिभाषित करता है, जिसमें गणना समय किसी कार्य की गणना करने के लिए आवश्यक समय है और संचार समय प्रोसेसर के मध्य डेटा का आदान-प्रदान करने के लिए आवश्यक समय है।<ref name="Kwiatkowski">{{Cite book|last1=Kwiatkowski|first1=Jan|chapter=Evaluation of Parallel Programs by Measurement of Its Granularity|journal=Parallel Processing and Applied Mathematics|volume=2328|date=9 September 2001|pages=145–153|doi=10.1007/3-540-48086-2_16|language=en|isbn=9783540437925 |series=Lecture Notes in Computer Science}} {{ISBN|9783540480860}}.</ref>
यदि {{math|''T''{{sub|comp}}}} गणना समय है और {{math|''T''{{sub|comm}}}} संचार समय को दर्शाता है, किसी कार्य की ग्रैन्युलैरिटी G की गणना इस प्रकार की जा सकती है:<ref name="Kwiatkowski" />::<math>G=\frac{T_\mathrm{comp}}{T_\mathrm{comm}}</math>
ग्रैन्युलैरिटी को सामान्यतः किसी विशेष कार्य में निष्पादित निर्देशों की संख्या के संदर्भ में मापा जाता है। <ref name="hwang" /> वैकल्पिक रूप से, ग्रैन्युलैरिटी को किसी प्रोग्राम के निष्पादन समय के संदर्भ में, गणना समय और संचार समय को मिलाकर भी निर्दिष्ट किया जा सकता है।<ref name="hwang" />


==समानांतरता के प्रकार==
==समानांतरता के प्रकार==
समानांतर कार्य द्वारा किए जाने वाले कार्य की मात्रा के आधार पर, समानता को तीन श्रेणियों में वर्गीकृत किया जा सकता है: बारीक दाने वाली, मध्यम दाने वाली और मोटे दाने वाली समानता।
समानांतर कार्य द्वारा किए जाने वाले कार्य की मात्रा के आधार पर, समानता को तीन श्रेणियों में वर्गीकृत किया जा सकता है: कार्स, मीडियम-ग्रेन और कार्स-ग्रेन परललिस्म है।
 
===कार्स परललिस्म===
{{For|अधिक|सूक्ष्मसमानांतरता}}


===सूक्ष्म समानता===
कार्स परललिस्म में, प्रोग्राम बड़ी संख्या में छोटे-छोटे कार्यों में टूट जाता है। यह कार्य विभिन्न प्रोसेसरों को व्यक्तिगत रूप से प्रदान किए  जाते हैं। समानांतर कार्य से जुड़े कार्य की मात्रा कम होती है और कार्य प्रोसेसर के मध्य समान रूप से वितरित होता है। इसलिए, कार्स-ग्रेन परललिस्म [[लोड संतुलन (कंप्यूटिंग)|भार संतुलन (कंप्यूटिंग)]] की सुविधा प्रदान करती है।<ref>{{cite book|last1=Barney|first1=Blaise|title=समानांतर कंप्यूटिंग का परिचय|url=https://computing.llnl.gov/tutorials/parallel_comp}}</ref> चूँकि प्रत्येक कार्य कम डेटा संसाधित करता है, पूर्ण प्रसंस्करण करने के लिए आवश्यक प्रोसेसर की संख्या अधिक होती है। इसके स्थान में, संचार और सिंक्रनाइज़ेशन ओवरहेड को बढ़ाता है।
{{For|more|Microparallelism}}
बारीक समानता में, प्रोग्राम बड़ी संख्या में छोटे-छोटे कार्यों में टूट जाता है। ये कार्य कई प्रोसेसरों को व्यक्तिगत रूप से सौंपे जाते हैं। समानांतर कार्य से जुड़े कार्य की मात्रा कम होती है और कार्य प्रोसेसर के बीच समान रूप से वितरित होता है। इसलिए, बारीक-बारीक समानता [[लोड संतुलन (कंप्यूटिंग)]] की सुविधा प्रदान करती है।<ref>{{cite book|last1=Barney|first1=Blaise|title=समानांतर कंप्यूटिंग का परिचय|url=https://computing.llnl.gov/tutorials/parallel_comp}}</ref>
चूँकि प्रत्येक कार्य कम डेटा संसाधित करता है, पूर्ण प्रसंस्करण करने के लिए आवश्यक प्रोसेसर की संख्या अधिक होती है। यह बदले में, संचार और सिंक्रनाइज़ेशन ओवरहेड को बढ़ाता है।


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


प्रोग्रामर के लिए किसी प्रोग्राम में समानता का पता लगाना मुश्किल है, इसलिए, बारीक-बारीक समानता का पता लगाना आमतौर पर कंपाइलर | कंपाइलर की जिम्मेदारी है।<ref name="hwang"/>
प्रोग्रामर के लिए किसी प्रोग्राम में समानता का पता लगाना कठिन है, इसलिए, कार्स-ग्रेन परललिस्म का पता लगाना सामान्यतः कंपाइलर या कंपाइलर उत्तरदायी है।<ref name="hwang"/>


बारीक प्रणाली का उदाहरण (समानांतर कंप्यूटिंग डोमेन के बाहर से) हमारे मस्तिष्क में [[न्यूरॉन्स]] की प्रणाली है।<ref name="Russ">{{cite book|last1=Miller|first1=Russ|last2=Stout|first2=Quentin F.|title=Parallel Algorithms for Regular Architectures: Meshes and Pyramids|date=1996|publisher=MIT Press|location=Cambridge, Mass.|isbn=9780262132336|pages=5–6|url=https://books.google.com/books?id=Ub-VzON_O2wC&dq=medium-grained+machine&pg=PA5|language=en}}</ref>
कार्स प्रणाली का उदाहरण (ग्रैन्युलैरिटी डोमेन के बाहर से) हमारे मस्तिष्क में [[न्यूरॉन्स]] की प्रणाली है।<ref name="Russ">{{cite book|last1=Miller|first1=Russ|last2=Stout|first2=Quentin F.|title=Parallel Algorithms for Regular Architectures: Meshes and Pyramids|date=1996|publisher=MIT Press|location=Cambridge, Mass.|isbn=9780262132336|pages=5–6|url=https://books.google.com/books?id=Ub-VzON_O2wC&dq=medium-grained+machine&pg=PA5|language=en}}</ref> कनेक्शन मशीन या कनेक्शन मशीन (सीएम-2) और [[जे-मशीन]] फाइन-ग्रेन समानांतर कंप्यूटर के उदाहरण हैं जिनका ग्रेन साइज़ 4-5 μs की सीमा में होता है।<ref name="hwang"/>
कनेक्शन मशीन|कनेक्शन मशीन (सीएम-2) और [[जे-मशीन]] फाइन-ग्रेन समानांतर कंप्यूटर के उदाहरण हैं जिनका ग्रेन आकार 4-5 μs की सीमा में होता है।<ref name="hwang"/>




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


[[संदेश देना]] आर्किटेक्चर को प्रक्रियाओं के बीच डेटा संचार करने में लंबा समय लगता है जो इसे मोटे-मोटे समानता के लिए उपयुक्त बनाता है।<ref name="hwang"/>
मैसेज-पासिंग आर्किटेक्चर को प्रक्रियाओं के मध्य डेटा संचार करने में लंबा समय लगता है जो इसे कार्स-ग्रेन परललिस्म के लिए उपयुक्त बनाता है।<ref name="hwang"/>


[[क्रे वाई-एमपी]] मोटे अनाज वाले समानांतर कंप्यूटर का उदाहरण है जिसका अनाज का आकार लगभग 20 है।<ref name="hwang"/>
[[क्रे वाई-एमपी]] कार्स-ग्रेन समानांतर कंप्यूटर का उदाहरण है जिसका ग्रेन साइज़ लगभग 20 है।<ref name="hwang"/>




===मध्यम-दानेदार समानता===
===मीडियम-ग्रेन परललिस्म===
मध्यम-दानेदार समानता का उपयोग महीन-दानेदार और मोटे दाने वाली समानता की तुलना में किया जाता है। मध्यम-दानेदार समानतावाद सूक्ष्म-दानेदार समानता और मोटे-कण समानता के बीच समझौता है, जहां हमारे पास कार्य का आकार और संचार समय सूक्ष्म-कण समानता से अधिक और मोटे-कण समानता से कम है। अधिकांश सामान्य-उद्देश्य वाले समानांतर कंप्यूटर इसी श्रेणी में आते हैं।<ref name="Russ"/>
मीडियम-ग्रेन परललिस्म का उपयोग मीडियम-ग्रेन और कार्स-ग्रेन परललिस्म की तुलना में किया जाता है। मीडियम-ग्रेन परललिस्मवाद कार्स-ग्रेन परललिस्म और कार्स-ग्रेन परललिस्म के मध्य समझौता है, जहां हमारे निकट कार्य का आकार और संचार समय कार्स-ग्रेन समानता से अधिक और कार्स-ग्रेन परललिस्म से कम है। अधिकांश सामान्य-उद्देश्य वाले समानांतर कंप्यूटर इसी श्रेणी में आते हैं।<ref name="Russ"/>


[[इंटेल आईपीएससी]] मध्यम-ग्रेन वाले समानांतर कंप्यूटर का उदाहरण है जिसका ग्रेन आकार लगभग 10ms है।<ref name="hwang"/>
[[इंटेल आईपीएससी]] मीडियम-ग्रेन समानांतर कंप्यूटर का उदाहरण है जिसका ग्रेन आकार लगभग 10ms है।<ref name="hwang"/>




==उदाहरण==
==उदाहरण==
10*10 छवि पर विचार करें जिसे संसाधित करने की आवश्यकता है, यह देखते हुए कि, 100 पिक्सेल का प्रसंस्करण दूसरे से स्वतंत्र है।
इस प्रकार 10*10 छवि पर विचार करें जिसे संसाधित करने की आवश्यकता है, यह देखते हुए कि, 100 पिक्सेल का प्रसंस्करण दूसरे से स्वतंत्र है।


बारीक-बारीक समानता: मान लें कि 100 प्रोसेसर हैं जो 10*10 छवि को संसाधित करने के लिए जिम्मेदार हैं। संचार ओवरहेड को नजरअंदाज करते हुए, 100 प्रोसेसर 1 घड़ी चक्र में 10*10 छवि को संसाधित कर सकते हैं। प्रत्येक प्रोसेसर छवि के 1 पिक्सेल पर काम कर रहा है और फिर आउटपुट को अन्य प्रोसेसर तक संचारित करता है। यह सुक्ष्म समानता का उदाहरण है।
फाइन-ग्रेन समानता: मान लें कि 100 प्रोसेसर हैं जो 10*10 छवि को संसाधित करने के लिए उत्तरदायी हैं। संचार ओवरहेड को नजरअंदाज करते हुए, 100 प्रोसेसर 1 घड़ी चक्र में 10*10 छवि को संसाधित कर सकते हैं। प्रत्येक प्रोसेसर छवि के 1 पिक्सेल पर काम कर रहा है और फिर आउटपुट को अन्य प्रोसेसर तक संचारित करता है। यह कार्स परललिस्म का उदाहरण है।


मध्यम-दाने वाली समानता: विचार करें कि 10*10 छवि को संसाधित करने वाले 25 प्रोसेसर हैं। छवि के प्रसंस्करण में अब 4 घड़ी चक्र लगेंगे। यह मध्यम-दाने वाली समानता का उदाहरण है।
मीडियम-ग्रेन परललिस्म: विचार करें कि 10*10 छवि को संसाधित करने वाले 25 प्रोसेसर हैं। छवि के प्रसंस्करण में अब 4 घड़ी चक्र लगेंगे। यह मीडियम-ग्रेन परललिस्म का उदाहरण है।


मोटे दाने वाली समानता: इसके अलावा, यदि हम प्रोसेसर को घटाकर 2 कर देते हैं, तो प्रसंस्करण में 50 घड़ी चक्र लगेंगे। प्रत्येक प्रोसेसर को 50 तत्वों को संसाधित करने की आवश्यकता होती है जिससे गणना समय बढ़ जाता है, लेकिन डेटा साझा करने वाले प्रोसेसर की संख्या कम होने से संचार ओवरहेड कम हो जाता है। यह मामला मोटे तौर पर समानता को दर्शाता है।
कार्स-ग्रेन परललिस्म: इसके अतिरिक्त, यदि हम प्रोसेसर को घटाकर 2 कर देते हैं, तो प्रसंस्करण में 50 घड़ी चक्र लगेंगे। प्रत्येक प्रोसेसर को 50 अवयवो को संसाधित करने की आवश्यकता होती है जिससे गणना समय बढ़ जाता है, किन्तु डेटा शेयर करने वाले प्रोसेसर की संख्या कम होने से संचार ओवरहेड कम हो जाता है। यह स्थिति सामान्यतः समानता को दर्शाता है।


{| class="wikitable"
{| class="wikitable"
! Fine-grain : Pseudocode for 100 processors!! Medium-grain : Pseudocode for 25 processors!! Coarse-grain : Pseudocode for 2 processors
! फाइन-ग्रेन: 100 प्रोसेसर के लिए स्यूडोकोड!! मीडियम-ग्रेन: 25 प्रोसेसर के लिए स्यूडोकोड!! कार्स-ग्रेन: 2 प्रोसेसर के लिए स्यूडोकोड
|-
|-
|  
|  
Line 97: Line 98:
</syntaxhighlight>
</syntaxhighlight>
|-
|-
| Computation time - 1 clock cycle || Computation time - 4 clock cycles || Computation time - 50 clock cycles
| गणना समय - 1 घड़ी चक्र || गणना समय - 4 घड़ी चक्र || गणना समय - 50 घड़ी चक्र
|}
|}




==समानांतरता के स्तर==
==समानांतरता के स्तर==
ग्रैन्युलैरिटी प्रसंस्करण के स्तर से निकटता से जुड़ी हुई है। प्रोग्राम को समानता के 4 स्तरों में विभाजित किया जा सकता है -
ग्रैन्युलैरिटी प्रसंस्करण के स्तर से निकटता से जुड़ी हुई है। इस प्रकार प्रोग्राम को समानता के 4 स्तरों में विभाजित किया जा सकता है -
# निर्देश स्तर.
# निर्देश स्तर.
# लूप स्तर
# लूप स्तर
# उप-दिनचर्या स्तर और
# उप-नियमित स्तर और
# कार्यक्रम-स्तर
# प्रोग्राम-स्तर


निर्देश स्तर पर समानता की उच्चतम मात्रा प्राप्त की जाती है, उसके बाद लूप-स्तरीय समानता आती है। निर्देश और लूप स्तर पर, बारीक समानता हासिल की जाती है। निर्देश-स्तर पर विशिष्ट अनाज का आकार 20 निर्देश है, जबकि लूप-स्तर पर अनाज का आकार 500 निर्देश है।<ref name="hwang"/>
निर्देश स्तर पर समानता की उच्चतम मात्रा प्राप्त की जाती है, उसके पश्चात लूप-स्तरीय समानता आती है। निर्देश और लूप स्तर पर, कार्स परललिस्म प्राप्त की जाती है। निर्देश-स्तर पर विशिष्ट ग्रेन साइज़ 20 निर्देश है, जबकि लूप-स्तर पर ग्रेन साइज़ 500 निर्देश है।<ref name="hwang"/>


उप-नियमित (या प्रक्रिया) स्तर पर अनाज का आकार आम तौर पर कुछ हज़ार निर्देश होता है। मध्यम-दाने वाली समानता उप-नियमित स्तर पर प्राप्त की जाती है।<ref name="hwang"/>
उप-नियमित (या प्रक्रिया) स्तर पर ग्रेन साइज़ सामान्यतः कुछ एक हज़ार निर्देश होता है। मीडियम-ग्रेन परललिस्म उप-नियमित स्तर पर प्राप्त की जाती है।<ref name="hwang"/>


कार्यक्रम-स्तर पर, कार्यक्रमों का समानांतर निष्पादन होता है। ग्रैन्युलैरिटी हजारों निर्देशों की सीमा में हो सकती है।<ref name="hwang"/>इस स्तर पर मोटे दाने वाली समानता का उपयोग किया जाता है।
प्रोग्राम-स्तर पर, प्रोग्रामों का समानांतर निष्पादन होता है। ग्रैन्युलैरिटी हजारों निर्देशों की सीमा में हो सकती है।<ref name="hwang"/> इस स्तर पर कार्स-ग्रेन परललिस्म का उपयोग किया जाता है।


नीचे दी गई तालिका समानता के स्तर, अनाज के आकार और समानता की डिग्री के बीच संबंध को दर्शाती है
नीचे दी गई टेबल समानता के स्तर, ग्रेन के आकार और समानता की डिग्री के मध्य संबंध को दर्शाती है
{| class="wikitable"
{| class="wikitable"
! Levels !! Grain Size !! Parallelism    
! स्तर !! ग्रेन आकार !! परललिस्म    
|-
|-
| style="width: 250px;" | Instruction level || style="width: 250px;" | Fine || style="width: 250px;" | Highest
| style="width: 250px;" | निर्देश स्तर || style="width: 250px;" | फाइन || style="width: 250px;" | उच्चतम
|-
|-
| Loop level || Fine || Moderate
| लूप स्तर || फाइन || मध्यम
|-
|-
| Sub-routine level || Medium || Moderate
| उप-नियमित स्तर || मीडियम || मध्यम
|-
|-
| Program level || Coarse || Least
| प्रोग्राम-स्तर || कार्स || न्यूनतम
|}
|}




==प्रदर्शन पर सूक्ष्मता का प्रभाव==
==प्रदर्शन पर ग्रैन्युलैरिटी का प्रभाव==
ग्रैन्युलैरिटी समानांतर कंप्यूटर के प्रदर्शन को प्रभावित करती है। बारीक अनाज या छोटे कार्यों का उपयोग करने से अधिक समानता आती है और इसलिए गति बढ़ जाती है।
ग्रैन्युलैरिटी समानांतर कंप्यूटर के प्रदर्शन को प्रभावित करती है। कार्स ग्रेन या छोटे कार्यों का उपयोग करने से अधिक समानता आती है और इसलिए गति बढ़ जाती है। चूंकि, सिंक्रोनाइज़ेशन ओवरहेड, [[ अनुसूची बनाना |शेड्यूलिंग]] रणनीतियाँ आदि कार्स कार्यों के प्रदर्शन पर नकारात्मक प्रभाव डाल सकती हैं। केवल बढ़ती समानता सर्वश्रेष्ठ प्रदर्शन नहीं दे सकती है।<ref name="chen">{{cite journal|last1=Chen|first1=Ding-Kai|last2=Su|first2=Hong-Men|last3=Yew|first3=Pen-Chung|title=समानांतर प्रणालियों पर सिंक्रोनाइज़ेशन और ग्रैन्युलैरिटी का प्रभाव|journal=Proceedings of the 17th Annual International Symposium on Computer Architecture|volume=18|issue=2SI|date=1 January 1990|pages=239–248|doi=10.1145/325164.325150|citeseerx=10.1.1.51.3389|s2cid=16193537}}</ref>
हालाँकि, सिंक्रोनाइज़ेशन ओवरहेड, [[ अनुसूची बनाना |अनुसूची बनाना]] रणनीतियाँ आदि सूक्ष्म कार्यों के प्रदर्शन पर नकारात्मक प्रभाव डाल सकती हैं। अकेले बढ़ती समानता सर्वश्रेष्ठ प्रदर्शन नहीं दे सकती।<ref name="chen">{{cite journal|last1=Chen|first1=Ding-Kai|last2=Su|first2=Hong-Men|last3=Yew|first3=Pen-Chung|title=समानांतर प्रणालियों पर सिंक्रोनाइज़ेशन और ग्रैन्युलैरिटी का प्रभाव|journal=Proceedings of the 17th Annual International Symposium on Computer Architecture|volume=18|issue=2SI|date=1 January 1990|pages=239–248|doi=10.1145/325164.325150|citeseerx=10.1.1.51.3389|s2cid=16193537}}</ref>
 
संचार ओवरहेड को कम करने के लिए, ग्रैन्युलैरिटी को बढ़ाया जा सकता है। मोटे दाने वाले कार्यों में कम संचार होता है लेकिन वे अक्सर लोड असंतुलन का कारण बनते हैं।
संचार ओवरहेड को कम करने के लिए, ग्रैन्युलैरिटी को बढ़ाया जा सकता है। कार्स-ग्रेन कार्यों में कम संचार होता है किन्तु वह अधिकांशतः भार असंतुलन का कारण बनते हैं। इसलिए कार्स-ग्रेन और कार्स-ग्रेन परललिस्म के दो चरणों के मध्य इष्टतम प्रदर्शन प्राप्त किया जाता है।<ref>{{cite journal|last1=Yeung|first1=Donald|last2=Dally|first2=William J.|last3=Agarwal|first3=Anant|title=समानांतर कंप्यूटर के ग्रेन साइज़ का चयन कैसे करें|citeseerx=10.1.1.66.3298}}</ref> विभिन्न अध्ययन<ref name="chen" /><ref>{{cite journal|last1=McCreary|first1=Carolyn|last2=Gill|first2=Helen|title=कुशल समानांतर प्रसंस्करण के लिए अनाज के आकार का स्वचालित निर्धारण|journal=Commun. ACM|date=1 September 1989|volume=32|issue=9|pages=1073–1078|doi=10.1145/66451.66454|s2cid=14807217 |issn=0001-0782|doi-access=free}}</ref><ref>{{cite journal|last1=Kruatrachue|first1=Boontee|last2=Lewis|first2=Ted|title=समानांतर प्रसंस्करण के लिए अनाज के आकार का निर्धारण|journal=IEEE Softw.|date=1 January 1988|volume=5|issue=1|pages=23–32|doi=10.1109/52.1991|s2cid=2034255|url=http://dl.acm.org/citation.cfm?id=624686|issn=0740-7459}}</ref> समानांतर प्रसंस्करण में सहायता के लिए सर्वोत्तम ग्रैन्युलैरिटी निर्धारित करने में सहायता के लिए अपना समाधान प्रस्तावित किया है। सर्वोत्तम ग्रेन साइज़ खोजना विभिन्न कारकों पर निर्भर करता है और समस्या-दर-समस्या के अनुसार से अधिक भिन्न होता है।
इसलिए सूक्ष्म-कण और मोटे-कण समानता के दो चरमों के बीच इष्टतम प्रदर्शन प्राप्त किया जाता है।<ref>{{cite journal|last1=Yeung|first1=Donald|last2=Dally|first2=William J.|last3=Agarwal|first3=Anant|title=समानांतर कंप्यूटर के ग्रेन साइज़ का चयन कैसे करें|citeseerx=10.1.1.66.3298}}</ref>
विभिन्न अध्ययन<ref name="chen"/><ref>{{cite journal|last1=McCreary|first1=Carolyn|last2=Gill|first2=Helen|title=कुशल समानांतर प्रसंस्करण के लिए अनाज के आकार का स्वचालित निर्धारण|journal=Commun. ACM|date=1 September 1989|volume=32|issue=9|pages=1073–1078|doi=10.1145/66451.66454|s2cid=14807217 |issn=0001-0782|doi-access=free}}</ref><ref>{{cite journal|last1=Kruatrachue|first1=Boontee|last2=Lewis|first2=Ted|title=समानांतर प्रसंस्करण के लिए अनाज के आकार का निर्धारण|journal=IEEE Softw.|date=1 January 1988|volume=5|issue=1|pages=23–32|doi=10.1109/52.1991|s2cid=2034255|url=http://dl.acm.org/citation.cfm?id=624686|issn=0740-7459}}</ref> समानांतर प्रसंस्करण में सहायता के लिए सर्वोत्तम ग्रैन्युलैरिटी निर्धारित करने में सहायता के लिए अपना समाधान प्रस्तावित किया है। सर्वोत्तम अनाज का आकार ढूंढना कई कारकों पर निर्भर करता है और समस्या-दर-समस्या के हिसाब से काफी भिन्न होता है।


==यह भी देखें==
==यह भी देखें==
*[[निर्देश-स्तरीय समानता]]
*[[निर्देश-स्तरीय समानता|इंस्ट्रक्शन-लेवल परललिस्म]]
*डेटा समानता
*डेटा परललिस्म


==उद्धरण==
==उद्धरण==

Revision as of 19:15, 4 October 2023

ग्रैन्युलैरिटी में, किसी कार्य (कंप्यूटिंग) की ग्रैन्युलैरिटी (या ग्रेन साइज़) उस कार्य द्वारा किए गए कार्य (या गणना) की मात्रा का माप है।[1]

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

यदि Tcomp गणना समय है और Tcomm संचार समय को दर्शाता है, किसी कार्य की ग्रैन्युलैरिटी G की गणना इस प्रकार की जा सकती है:[2]::

ग्रैन्युलैरिटी को सामान्यतः किसी विशेष कार्य में निष्पादित निर्देशों की संख्या के संदर्भ में मापा जाता है। [1] वैकल्पिक रूप से, ग्रैन्युलैरिटी को किसी प्रोग्राम के निष्पादन समय के संदर्भ में, गणना समय और संचार समय को मिलाकर भी निर्दिष्ट किया जा सकता है।[1]

समानांतरता के प्रकार

समानांतर कार्य द्वारा किए जाने वाले कार्य की मात्रा के आधार पर, समानता को तीन श्रेणियों में वर्गीकृत किया जा सकता है: कार्स, मीडियम-ग्रेन और कार्स-ग्रेन परललिस्म है।

कार्स परललिस्म

कार्स परललिस्म में, प्रोग्राम बड़ी संख्या में छोटे-छोटे कार्यों में टूट जाता है। यह कार्य विभिन्न प्रोसेसरों को व्यक्तिगत रूप से प्रदान किए जाते हैं। समानांतर कार्य से जुड़े कार्य की मात्रा कम होती है और कार्य प्रोसेसर के मध्य समान रूप से वितरित होता है। इसलिए, कार्स-ग्रेन परललिस्म भार संतुलन (कंप्यूटिंग) की सुविधा प्रदान करती है।[3] चूँकि प्रत्येक कार्य कम डेटा संसाधित करता है, पूर्ण प्रसंस्करण करने के लिए आवश्यक प्रोसेसर की संख्या अधिक होती है। इसके स्थान में, संचार और सिंक्रनाइज़ेशन ओवरहेड को बढ़ाता है।

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

प्रोग्रामर के लिए किसी प्रोग्राम में समानता का पता लगाना कठिन है, इसलिए, कार्स-ग्रेन परललिस्म का पता लगाना सामान्यतः कंपाइलर या कंपाइलर उत्तरदायी है।[1]

कार्स प्रणाली का उदाहरण (ग्रैन्युलैरिटी डोमेन के बाहर से) हमारे मस्तिष्क में न्यूरॉन्स की प्रणाली है।[4] कनेक्शन मशीन या कनेक्शन मशीन (सीएम-2) और जे-मशीन फाइन-ग्रेन समानांतर कंप्यूटर के उदाहरण हैं जिनका ग्रेन साइज़ 4-5 μs की सीमा में होता है।[1]


कार्स-ग्रेन परललिस्म

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

मैसेज-पासिंग आर्किटेक्चर को प्रक्रियाओं के मध्य डेटा संचार करने में लंबा समय लगता है जो इसे कार्स-ग्रेन परललिस्म के लिए उपयुक्त बनाता है।[1]

क्रे वाई-एमपी कार्स-ग्रेन समानांतर कंप्यूटर का उदाहरण है जिसका ग्रेन साइज़ लगभग 20 है।[1]


मीडियम-ग्रेन परललिस्म

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

इंटेल आईपीएससी मीडियम-ग्रेन समानांतर कंप्यूटर का उदाहरण है जिसका ग्रेन आकार लगभग 10ms है।[1]


उदाहरण

इस प्रकार 10*10 छवि पर विचार करें जिसे संसाधित करने की आवश्यकता है, यह देखते हुए कि, 100 पिक्सेल का प्रसंस्करण दूसरे से स्वतंत्र है।

फाइन-ग्रेन समानता: मान लें कि 100 प्रोसेसर हैं जो 10*10 छवि को संसाधित करने के लिए उत्तरदायी हैं। संचार ओवरहेड को नजरअंदाज करते हुए, 100 प्रोसेसर 1 घड़ी चक्र में 10*10 छवि को संसाधित कर सकते हैं। प्रत्येक प्रोसेसर छवि के 1 पिक्सेल पर काम कर रहा है और फिर आउटपुट को अन्य प्रोसेसर तक संचारित करता है। यह कार्स परललिस्म का उदाहरण है।

मीडियम-ग्रेन परललिस्म: विचार करें कि 10*10 छवि को संसाधित करने वाले 25 प्रोसेसर हैं। छवि के प्रसंस्करण में अब 4 घड़ी चक्र लगेंगे। यह मीडियम-ग्रेन परललिस्म का उदाहरण है।

कार्स-ग्रेन परललिस्म: इसके अतिरिक्त, यदि हम प्रोसेसर को घटाकर 2 कर देते हैं, तो प्रसंस्करण में 50 घड़ी चक्र लगेंगे। प्रत्येक प्रोसेसर को 50 अवयवो को संसाधित करने की आवश्यकता होती है जिससे गणना समय बढ़ जाता है, किन्तु डेटा शेयर करने वाले प्रोसेसर की संख्या कम होने से संचार ओवरहेड कम हो जाता है। यह स्थिति सामान्यतः समानता को दर्शाता है।

फाइन-ग्रेन: 100 प्रोसेसर के लिए स्यूडोकोड मीडियम-ग्रेन: 25 प्रोसेसर के लिए स्यूडोकोड कार्स-ग्रेन: 2 प्रोसेसर के लिए स्यूडोकोड
void main()
{
  switch (Processor_ID)
  {
    case 1: Compute element 1; break;
    case 2: Compute element 2; break;
    case 3: Compute element 3; break;
    .
    .
    .
    .
    case 100: Compute element 100; 
              break;
  }
}
void main()
{
  switch (Processor_ID)
  {
    case 1: Compute elements 1-4; break;
    case 2: Compute elements 5-8; break;
    case 3: Compute elements 9-12; break;
    .
    .
    case 25: Compute elements 97-100; 
             break;
  }
}
void main()
{
  switch (Processor_ID)
  {
    case 1: Compute elements 1-50; 
            break;
    case 2: Compute elements 51-100; 
            break;
  }
}
गणना समय - 1 घड़ी चक्र गणना समय - 4 घड़ी चक्र गणना समय - 50 घड़ी चक्र


समानांतरता के स्तर

ग्रैन्युलैरिटी प्रसंस्करण के स्तर से निकटता से जुड़ी हुई है। इस प्रकार प्रोग्राम को समानता के 4 स्तरों में विभाजित किया जा सकता है -

  1. निर्देश स्तर.
  2. लूप स्तर
  3. उप-नियमित स्तर और
  4. प्रोग्राम-स्तर

निर्देश स्तर पर समानता की उच्चतम मात्रा प्राप्त की जाती है, उसके पश्चात लूप-स्तरीय समानता आती है। निर्देश और लूप स्तर पर, कार्स परललिस्म प्राप्त की जाती है। निर्देश-स्तर पर विशिष्ट ग्रेन साइज़ 20 निर्देश है, जबकि लूप-स्तर पर ग्रेन साइज़ 500 निर्देश है।[1]

उप-नियमित (या प्रक्रिया) स्तर पर ग्रेन साइज़ सामान्यतः कुछ एक हज़ार निर्देश होता है। मीडियम-ग्रेन परललिस्म उप-नियमित स्तर पर प्राप्त की जाती है।[1]

प्रोग्राम-स्तर पर, प्रोग्रामों का समानांतर निष्पादन होता है। ग्रैन्युलैरिटी हजारों निर्देशों की सीमा में हो सकती है।[1] इस स्तर पर कार्स-ग्रेन परललिस्म का उपयोग किया जाता है।

नीचे दी गई टेबल समानता के स्तर, ग्रेन के आकार और समानता की डिग्री के मध्य संबंध को दर्शाती है

स्तर ग्रेन आकार परललिस्म
निर्देश स्तर फाइन उच्चतम
लूप स्तर फाइन मध्यम
उप-नियमित स्तर मीडियम मध्यम
प्रोग्राम-स्तर कार्स न्यूनतम


प्रदर्शन पर ग्रैन्युलैरिटी का प्रभाव

ग्रैन्युलैरिटी समानांतर कंप्यूटर के प्रदर्शन को प्रभावित करती है। कार्स ग्रेन या छोटे कार्यों का उपयोग करने से अधिक समानता आती है और इसलिए गति बढ़ जाती है। चूंकि, सिंक्रोनाइज़ेशन ओवरहेड, शेड्यूलिंग रणनीतियाँ आदि कार्स कार्यों के प्रदर्शन पर नकारात्मक प्रभाव डाल सकती हैं। केवल बढ़ती समानता सर्वश्रेष्ठ प्रदर्शन नहीं दे सकती है।[5]

संचार ओवरहेड को कम करने के लिए, ग्रैन्युलैरिटी को बढ़ाया जा सकता है। कार्स-ग्रेन कार्यों में कम संचार होता है किन्तु वह अधिकांशतः भार असंतुलन का कारण बनते हैं। इसलिए कार्स-ग्रेन और कार्स-ग्रेन परललिस्म के दो चरणों के मध्य इष्टतम प्रदर्शन प्राप्त किया जाता है।[6] विभिन्न अध्ययन[5][7][8] समानांतर प्रसंस्करण में सहायता के लिए सर्वोत्तम ग्रैन्युलैरिटी निर्धारित करने में सहायता के लिए अपना समाधान प्रस्तावित किया है। सर्वोत्तम ग्रेन साइज़ खोजना विभिन्न कारकों पर निर्भर करता है और समस्या-दर-समस्या के अनुसार से अधिक भिन्न होता है।

यह भी देखें

उद्धरण

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 Hwang, Kai (1992). Advanced Computer Architecture: Parallelism,Scalability,Programmability (1st ed.). McGraw-Hill Higher Education. ISBN 978-0070316225.
  2. 2.0 2.1 Kwiatkowski, Jan (9 September 2001). "Evaluation of Parallel Programs by Measurement of Its Granularity". pp. 145–153. doi:10.1007/3-540-48086-2_16. ISBN 9783540437925. {{cite book}}: |journal= ignored (help); Missing or empty |title= (help) ISBN 9783540480860.
  3. Barney, Blaise. समानांतर कंप्यूटिंग का परिचय.
  4. 4.0 4.1 Miller, Russ; Stout, Quentin F. (1996). Parallel Algorithms for Regular Architectures: Meshes and Pyramids (in English). Cambridge, Mass.: MIT Press. pp. 5–6. ISBN 9780262132336.
  5. 5.0 5.1 Chen, Ding-Kai; Su, Hong-Men; Yew, Pen-Chung (1 January 1990). "समानांतर प्रणालियों पर सिंक्रोनाइज़ेशन और ग्रैन्युलैरिटी का प्रभाव". Proceedings of the 17th Annual International Symposium on Computer Architecture. 18 (2SI): 239–248. CiteSeerX 10.1.1.51.3389. doi:10.1145/325164.325150. S2CID 16193537.
  6. Yeung, Donald; Dally, William J.; Agarwal, Anant. "समानांतर कंप्यूटर के ग्रेन साइज़ का चयन कैसे करें". CiteSeerX 10.1.1.66.3298. {{cite journal}}: Cite journal requires |journal= (help)
  7. McCreary, Carolyn; Gill, Helen (1 September 1989). "कुशल समानांतर प्रसंस्करण के लिए अनाज के आकार का स्वचालित निर्धारण". Commun. ACM. 32 (9): 1073–1078. doi:10.1145/66451.66454. ISSN 0001-0782. S2CID 14807217.
  8. Kruatrachue, Boontee; Lewis, Ted (1 January 1988). "समानांतर प्रसंस्करण के लिए अनाज के आकार का निर्धारण". IEEE Softw. 5 (1): 23–32. doi:10.1109/52.1991. ISSN 0740-7459. S2CID 2034255.