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

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

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

यदि $Tcomp$ गणना समय है और $Tcomm$ संचार समय को दर्शाता है, किसी कार्य की ग्रैन्युलैरिटी G की गणना इस प्रकार की जा सकती है: ::$$G=\frac{T_\mathrm{comp}}{T_\mathrm{comm}}$$

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

परललिस्म लेवल
ग्रैन्युलैरिटी प्रसंस्करण के लेवल से निकटता से जुड़ी हुई है। इस प्रकार प्रोग्राम को समानता के 4 लेवल में विभाजित किया जा सकता है -
 * 1) इंस्ट्रक्शन-लेवल.
 * 2) लूप लेवल
 * 3) सब-रूटीन लेवल और
 * 4) प्रोग्राम-लेवल

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

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

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

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

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

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

यह भी देखें

 * इंस्ट्रक्शन-लेवल परललिस्म
 * डेटा परललिस्म