Parallel Computing Kya Hai
समानांतर कम्प्यूटिंग पर एक टोल लेने से पहले आइए एक कंप्यूटर सॉफ़्टवेयर की संगणना की पृष्ठभूमि पर नज़र डालें और यह आधुनिक युग के लिए क्यों विफल रहा.
कंप्यूटर सॉफ्टवेयर को सीरियल कंप्यूटिंग के लिए पारंपरिक रूप से लिखा गया था. इसका मतलब था कि एक समस्या को हल करने के लिए एक एल्गोरिथ्म समस्या को छोटे निर्देशों में विभाजित करता है. इन असतत निर्देशों को एक के बाद एक कंप्यूटर की सेंट्रल प्रोसेसिंग यूनिट पर निष्पादित किया जाता है. एक निर्देश समाप्त होने के बाद ही अगला शुरू होता है.
इसका वास्तविक जीवन उदाहरण फिल्म टिकट के इंतजार में कतार में खड़े लोग होंगे और केवल कैशियर ही होगा. कैशीयर एक-एक कर लोगों को टिकट दे रहा है. इस स्थिति की जटिलता तब बढ़ जाती है जब 2 कतारें होती हैं और केवल एक कैशियर होता है.
इसलिए लघु सीरियल कम्प्यूटिंग निम्नलिखित है -
इसमें असतत निर्देशों में एक समस्या कथन को तोड़ा गया है.
फिर निर्देशों को एक-एक करके निष्पादित किया जाता है.
किसी भी समय केवल एक निर्देश निष्पादित किया जाता है.
बिंदु 3 को देखें यह कंप्यूटिंग उद्योग में एक बड़ी समस्या पैदा कर रहा था क्योंकि केवल एक ही निर्देश किसी भी समय निष्पादित हो रहा था. यह हार्डवेयर संसाधनों की भारी बर्बादी थी क्योंकि हार्डवेयर का केवल एक हिस्सा किसी विशेष निर्देश और समय के लिए चल रहा होगा. चूंकि समस्या बयान भारी और भारी हो रहे थे इसलिए उन बयानों के निष्पादन में समय की मात्रा अधिक है. प्रोसेसर का उदाहरण पेंटियम 3 और पेंटियम 4 हैं.
अब हम अपनी वास्तविक जीवन समस्या पर वापस आते हैं. हम निश्चित रूप से कह सकते हैं कि जब 2 कतारें और 2 कैशियर एक साथ 2 व्यक्तियों को टिकट दे रहे हैं तो जटिलता कम हो जाएगी. यह समानांतर कम्प्यूटिंग का एक उदाहरण है.
Parallel Computing
यह किसी भी समस्या को हल करने के लिए एक साथ कई प्रसंस्करण तत्वों का उपयोग है. समस्याओं को निर्देशों में तोड़ दिया जाता है और समवर्ती रूप से हल किया जाता है क्योंकि प्रत्येक संसाधन जिसे काम करने के लिए लागू किया गया है वह उसी समय काम कर रहा है.
सीरियल कम्प्यूटिंग पर समानांतर कम्प्यूटिंग के लाभ इस प्रकार हैं -
स्थानीय संसाधनों के परिमित होने पर यह गैर-स्थानीय संसाधनों का लाभ उठा सकता है.
यह सीरियल कम्प्यूटिंग पर बड़ी समस्याओं को हल करने के लिए अव्यावहारिक हो सकता है.
यह समय और धन बचाता है क्योंकि एक साथ काम करने वाले कई संसाधन समय कम कर देंगे और संभावित लागत में कटौती करेंगे.
सीरियल कम्प्यूटिंग संभावित कंप्यूटिंग शक्ति को बर्बाद करता है, इस प्रकार समानांतर कम्प्यूटिंग हार्डवेयर का बेहतर काम करता है.
Types of Parallelism
Parallelism तीन प्रकार के होते है. इनके बारे में आप नीचे देख सकते है -
Bit-level Parallelism
यह समानांतर कंप्यूटिंग का रूप है जो बढ़ते प्रोसेसर के आकार पर आधारित है. यह बड़े आकार के डेटा पर कार्य करने के लिए सिस्टम द्वारा निष्पादित किए जाने वाले निर्देशों की संख्या को कम करता है.
उदाहरण: एक परिदृश्य पर विचार करें जहां 8-बिट प्रोसेसर को दो 16-बिट पूर्णांक की राशि की गणना करनी चाहिए. इसे पहले 8 लोअर-ऑर्डर बिट्स को योग करना चाहिए फिर 8 उच्च-ऑर्डर बिट्स जोड़ना चाहिए इस प्रकार ऑपरेशन करने के लिए दो निर्देशों की आवश्यकता होती है. एक 16-बिट प्रोसेसर सिर्फ एक निर्देश के साथ ऑपरेशन कर सकता है.
Instruction-level Parallelism
एक प्रोसेसर केवल प्रत्येक घड़ी चक्र चरण के लिए एक निर्देश से कम को संबोधित कर सकता है. इन निर्देशों को फिर से आदेश दिया जा सकता है और समूहीकृत किया जा सकता है जो बाद में कार्यक्रम के परिणाम को प्रभावित किए बिना समवर्ती रूप से निष्पादित किए जाते हैं. इसे निर्देश-स्तरीय समानता कहा जाता है.
Task Parallelism
टास्क समानांतरवाद एक कार्य के अपघटन को उप-मुखौटे में नियोजित करता है और फिर निष्पादन के लिए प्रत्येक उप-कार्य आवंटित करता है. प्रोसेसर समवर्ती कार्यों का निष्पादन समवर्ती रूप से करते हैं.
Why Parallel Computing
समानांतर कंप्यूटिंग कॉन्सेप्ट प्रदान करता है और समय और पैसा बचाता है.
साथ ही, सीरियल कंप्यूटिंग का उपयोग करके वास्तविक समय की प्रणालियों को लागू करना अव्यावहारिक है.
जटिल बड़े डेटासेट और उनके प्रबंधन को केवल और केवल समानांतर कंप्यूटिंग के दृष्टिकोण का उपयोग करके आयोजित किया जा सकता है.
वास्तविक विश्व डेटा को अधिक गतिशील सिमुलेशन और मॉडलिंग की आवश्यकता है और उसी को प्राप्त करने के लिए समानांतर कंप्यूटिंग कुंजी है.
पूरी वास्तविक दुनिया गतिशील प्रकृति में चलती है यानी कई चीजें एक निश्चित समय पर होती हैं लेकिन विभिन्न स्थानों पर समवर्ती रूप से होती हैं. यह डेटा बड़े पैमाने पर प्रबंधित करने के लिए विशाल है.
संसाधनों के प्रभावी उपयोग को सुनिश्चित करता है. हार्डवेयर को प्रभावी ढंग से उपयोग करने की गारंटी दी जाती है जबकि धारावाहिक संगणना में केवल हार्डवेयर के कुछ भाग का उपयोग किया जाता है और बाकी का बेकार हो जाता है.
Applications of Parallel Computing
विज्ञान और इंजीनियरिंग
डेटा बेस और डेटा माइनिंग
सिस्टम का वास्तविक समय सिमुलेशन
उन्नत ग्राफिक्स, संवर्धित वास्तविकता और आभासी वास्तविकता
Limitations of Parallel Computing
एल्गोरिदम को इस तरह से प्रबंधित किया जाना चाहिए कि उन्हें समानांतर तंत्र में संभाला जा सके.
एल्गोरिदम या प्रोग्राम में कम युग्मन और उच्च सामंजस्य होना चाहिए। लेकिन इस तरह के कार्यक्रम बनाना मुश्किल है.
यह कई उप-कार्यों और प्रक्रियाओं के बीच संचार और सिंक्रनाइज़ेशन जैसे पते को प्राप्त करता है जिसे प्राप्त करना मुश्किल है.
अधिक तकनीकी रूप से कुशल और विशेषज्ञ प्रोग्रामर एक समानता आधारित कार्यक्रम को अच्छी तरह से कोड कर सकते हैं
Future of Parallel Computing
कम्प्यूटेशनल ग्राफ ने धारावाहिक कंप्यूटिंग से समानांतर कंप्यूटिंग तक एक महान परिवर्तन किया है. इंटेल जैसे टेक दिग्गज ने पहले से ही मल्टीकोर प्रोसेसर लगाकर समानांतर कंप्यूटिंग की ओर एक कदम बढ़ा दिया है. समानांतर संगणना भविष्य में कंप्यूटर के काम करने के तरीके को बेहतर बनाने के लिए क्रांति लाएगी. सारी दुनिया पहले से भी ज्यादा एक-दूसरे से जुड़ने के साथ Parallel Computing हमें इस तरह से बने रहने में मदद करने में बेहतर भूमिका निभाता है. तेज़ नेटवर्क वितरित सिस्टम और मल्टी-प्रोसेसर कंप्यूटर के साथ यह और भी आवश्यक हो जाता है.