ग्रैन्युलैरिटी (समानांतर कंप्यूटिंग)
ग्रैन्युलैरिटी में, किसी कार्य (कंप्यूटिंग) की ग्रैन्युलैरिटी (या ग्रेन साइज़) उस कार्य द्वारा किए गए कार्य (या गणना) की मात्रा का माप है।[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 लेवल में विभाजित किया जा सकता है -
- इंस्ट्रक्शन-लेवल.
- लूप लेवल
- सब-रूटीन लेवल और
- प्रोग्राम-लेवल
इंस्ट्रक्शन-लेवल पर समानता की उच्चतम मात्रा प्राप्त की जाती है, उसके पश्चात लूप-लेवल समानता आती है। निर्देश और लूप लेवल पर, कार्स परललिस्म प्राप्त की जाती है। निर्देश-लेवल पर विशिष्ट ग्रेन साइज़ 20 निर्देश है, जबकि लूप-लेवल पर ग्रेन साइज़ 500 निर्देश है।[1]
सब-रूटीन (या प्रक्रिया) लेवल पर ग्रेन साइज़ सामान्यतः कुछ एक हज़ार निर्देश होता है। इस प्रकार मीडियम-ग्रेन परललिस्म सब-रूटीन लेवल पर प्राप्त की जाती है।[1]
प्रोग्राम-लेवल पर, प्रोग्रामों का समानांतर निष्पादन होता है। ग्रैन्युलैरिटी हजारों निर्देशों की सीमा में हो सकती है।[1] इस लेवल पर कार्स-ग्रेन परललिस्म का उपयोग किया जाता है।
नीचे दी गई टेबल समानता के लेवल, ग्रेन के आकार और समानता की डिग्री के मध्य संबंध को दर्शाती है
लेवल | ग्रेन आकार | परललिस्म |
---|---|---|
इंस्ट्रक्शन-लेवल | फाइन | उच्चतम |
लूप लेवल | फाइन | मध्यम |
सब-रूटीन लेवल | मीडियम | मध्यम |
प्रोग्राम-लेवल | कार्स | न्यूनतम |
प्रदर्शन पर ग्रैन्युलैरिटी का प्रभाव
ग्रैन्युलैरिटी समानांतर कंप्यूटर के प्रदर्शन को प्रभावित करती है। कार्स ग्रेन या छोटे कार्यों का उपयोग करने से अधिक समानता आती है और इसलिए गति बढ़ जाती है। चूंकि, सिंक्रोनाइज़ेशन ओवरहेड, शेड्यूलिंग रणनीतियाँ आदि कार्स कार्यों के प्रदर्शन पर नकारात्मक प्रभाव डाल सकती हैं। केवल बढ़ती समानता सर्वश्रेष्ठ प्रदर्शन नहीं दे सकती है।[5]
संचार ओवरहेड को कम करने के लिए, ग्रैन्युलैरिटी को बढ़ाया जा सकता है। इस प्रकार कार्स-ग्रेन कार्यों में कम संचार होता है किन्तु वह अधिकांशतः भार असंतुलन का कारण बनते हैं। इसलिए कार्स-ग्रेन और कार्स-ग्रेन परललिस्म के दो चरणों के मध्य इष्टतम प्रदर्शन प्राप्त किया जाता है।[6] विभिन्न अध्ययन [5][7][8] समानांतर प्रसंस्करण में सहायता के लिए सर्वोत्तम ग्रैन्युलैरिटी निर्धारित करने में सहायता के लिए अपना समाधान प्रस्तावित किया है। सर्वोत्तम ग्रेन साइज़ खोजना विभिन्न कारकों पर निर्भर करता है और समस्या-दर-समस्या के अनुसार से अधिक भिन्न होता है।
यह भी देखें
- इंस्ट्रक्शन-लेवल परललिस्म
- डेटा परललिस्म
उद्धरण
- ↑ 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.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. - ↑ Barney, Blaise. समानांतर कंप्यूटिंग का परिचय.
- ↑ 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.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.
- ↑ Yeung, Donald; Dally, William J.; Agarwal, Anant. "समानांतर कंप्यूटर के ग्रेन साइज़ का चयन कैसे करें". CiteSeerX 10.1.1.66.3298.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ McCreary, Carolyn; Gill, Helen (1 September 1989). "कुशल समानांतर प्रसंस्करण के लिए अनाज के आकार का स्वचालित निर्धारण". Commun. ACM. 32 (9): 1073–1078. doi:10.1145/66451.66454. ISSN 0001-0782. S2CID 14807217.
- ↑ Kruatrachue, Boontee; Lewis, Ted (1 January 1988). "समानांतर प्रसंस्करण के लिए अनाज के आकार का निर्धारण". IEEE Softw. 5 (1): 23–32. doi:10.1109/52.1991. ISSN 0740-7459. S2CID 2034255.