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

From Vigyanwiki
(Created page with "{{short description|Measure of the amount of work needed to perform a computing task}} समानांतर कंप्यूटिंग में, किसी ...")
 
No edit summary
Line 141: Line 141:
==उद्धरण==
==उद्धरण==
{{reflist}}
{{reflist}}
{{Parallel computing}}
[[Category: समानांतर एल्गोरिदम का विश्लेषण]]  
[[Category: समानांतर एल्गोरिदम का विश्लेषण]]  



Revision as of 13:15, 4 October 2023

समानांतर कंप्यूटिंग में, किसी कार्य (कंप्यूटिंग) की ग्रैन्युलैरिटी (या दानेदार बनाने का कार्य आकार) उस कार्य द्वारा किए गए कार्य (या गणना) की मात्रा का माप है।[1] ग्रैन्युलैरिटी की एक अन्य परिभाषा कई प्रोसेसर (कंप्यूटिंग) या प्रसंस्करण तत्वों के बीच संचार ओवरहेड (कंप्यूटिंग) को ध्यान में रखती है। यह ग्रैन्युलैरिटी को गणना समय और संचार समय के अनुपात के रूप में परिभाषित करता है, जिसमें गणना समय किसी कार्य की गणना करने के लिए आवश्यक समय है और संचार समय प्रोसेसर के बीच डेटा का आदान-प्रदान करने के लिए आवश्यक समय है।[2] अगर Tcomp गणना समय है और Tcomm संचार समय को दर्शाता है, फिर ग्रैन्युलैरिटी को {{mvar|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 तत्वों को संसाधित करने की आवश्यकता होती है जिससे गणना समय बढ़ जाता है, लेकिन डेटा साझा करने वाले प्रोसेसर की संख्या कम होने से संचार ओवरहेड कम हो जाता है। यह मामला मोटे तौर पर समानता को दर्शाता है।

Fine-grain : Pseudocode for 100 processors Medium-grain : Pseudocode for 25 processors Coarse-grain : Pseudocode for 2 processors
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;
  }
}
Computation time - 1 clock cycle Computation time - 4 clock cycles Computation time - 50 clock cycles


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

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

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

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

उप-नियमित (या प्रक्रिया) स्तर पर अनाज का आकार आम तौर पर कुछ हज़ार निर्देश होता है। मध्यम-दाने वाली समानता उप-नियमित स्तर पर प्राप्त की जाती है।[1]

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

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

Levels Grain Size Parallelism
Instruction level Fine Highest
Loop level Fine Moderate
Sub-routine level Medium Moderate
Program level Coarse Least


प्रदर्शन पर सूक्ष्मता का प्रभाव

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