मल्टीप्रोसेसिंग क्या है?
मल्टीप्रोसेसिंग सिस्टम में दो से अधिक प्रोसेसर होते हैं। सीपीयू को सिस्टम में जोड़ा जाता है जो सिस्टम की कंप्यूटिंग गति को बढ़ाने में मदद करता है। हर सीपीयू में रजिस्टर और मुख्य मेमोरी का अपना सेट होता है।
हालाँकि, क्योंकि प्रत्येक CPU अलग-अलग होता है, ऐसा हो सकता है कि एक CPU में प्रक्रिया के लिए कुछ भी न हो। एक प्रोसेसर बेकार बैठ सकता है, और दूसरा विशिष्ट प्रक्रियाओं के साथ अतिभारित हो सकता है। ऐसे मामले में, प्रक्रिया और संसाधन प्रोसेसर के बीच गतिशील रूप से साझा किए जाते हैं।
इस ट्यूटोरियल में, आप सीखेंगे:
- मल्टीप्रोसेसिंग क्या है?
- मल्टीथ्रेडिंग क्या है?
- मल्टीप्रोसेसिंग के लक्षण:
- मल्टीथ्रेडिंग के लक्षण
- मल्टीप्रोसेसिंग और मल्टीथ्रेडिंग के बीच अंतर
- मल्टीप्रोसेसिंग का लाभ
- मल्टीथ्रेडिंग का लाभ
- मल्टीप्रोसेसिंग का नुकसान
- मल्टीथ्रेडिंग का नुकसान
मल्टीथ्रेडिंग क्या है?
मल्टीथ्रेडिंग एक प्रोग्राम निष्पादन तकनीक है जो एकल प्रक्रिया को कई कोड सेगमेंट (जैसे थ्रेड्स) की अनुमति देती है। यह उस प्रक्रिया के "संदर्भ" में भी समवर्ती रूप से चलता है। बहु-थ्रेडेड अनुप्रयोग ऐसे अनुप्रयोग हैं जिनमें दो या अधिक धागे होते हैं जो समवर्ती रूप से चलते हैं। इसलिए, यह भी संगामिति के रूप में जाना जाता है।
मुख्य संदर्भ:
- मल्टीप्रोसेसिंग सिस्टम में दो से अधिक प्रोसेसर होते हैं जबकि मल्टीथ्रेडिंग एक प्रोग्राम निष्पादन तकनीक है जो एकल प्रक्रिया को कई कोड सेगमेंट की अनुमति देती है
- मल्टीप्रोसेसिंग सिस्टम की विश्वसनीयता में सुधार करता है जबकि मल्टीथ्रेडिंग प्रक्रिया में, प्रत्येक थ्रेड एक दूसरे के समानांतर चलता है।
- मल्टीप्रोसेसिंग आपको कंप्यूटिंग पावर बढ़ाने में मदद करता है जबकि मल्टीथ्रेडिंग आपको एकल प्रक्रिया के कंप्यूटिंग थ्रेड बनाने में मदद करता है
- मल्टीप्रोसेसिंग में, एक प्रक्रिया का निर्माण, धीमा और संसाधन-विशिष्ट है, जबकि मल्टीप्रोग्रामिंग में, थ्रेड का निर्माण समय और संसाधन में किफायती है।
- मल्टीथ्रेडिंग अचार से बचा जाता है, जबकि मल्टीप्रोसेसिंग अन्य प्रक्रियाओं को भेजने के लिए मेमोरी में अचार बनाने वाली वस्तुओं पर निर्भर करता है।
- मल्टीप्रोसेसिंग सिस्टम में कम समय लगता है जबकि नौकरी प्रसंस्करण के लिए मध्यम समय लगता है।
मल्टीप्रोसेसिंग के लक्षण
यहां मल्टीप्रोसेसिंग की आवश्यक विशेषताएं हैं:
- मल्टीप्रोसेसिंग को उनकी स्मृति को व्यवस्थित करने के तरीके के अनुसार वर्गीकृत किया जाता है।
- मल्टीप्रोसेसिंग सिस्टम की विश्वसनीयता में सुधार करता है
- मल्टीप्रोसेसिंग एक प्रोग्राम को समानांतर निष्पादन योग्य कार्यों में विघटित करके प्रदर्शन में सुधार कर सकता है।
मल्टीथ्रेडिंग के लक्षण
यहां मल्टीथ्रेडिंग के महत्वपूर्ण पहलू हैं:
- मल्टीथ्रेडिंग प्रक्रिया में, प्रत्येक थ्रेड एक दूसरे के समानांतर चलता है।
- थ्रेड्स आपको मेमोरी क्षेत्र को अलग करने की अनुमति नहीं देते हैं। इसलिए यह मेमोरी को बचाता है और एक बेहतर एप्लिकेशन प्रदर्शन प्रदान करता है
मल्टीप्रोसेसिंग और मल्टीथ्रेडिंग के बीच अंतर
यहां मल्टीप्रोसेसिंग और मल्टीथ्रेडिंग के बीच महत्वपूर्ण अंतर हैं।
पैरामीटर | बहु | बहु सूत्रण |
---|---|---|
बुनियादी | मल्टीप्रोसेसिंग आपको कंप्यूटिंग पावर बढ़ाने में मदद करता है। | मल्टीथ्रेडिंग आपको कंप्यूटिंग पावर बढ़ाने के लिए एक एकल प्रक्रिया के कंप्यूटिंग थ्रेड बनाने में मदद करता है। |
क्रियान्वयन | यह आपको कई प्रक्रियाओं को समवर्ती रूप से निष्पादित करने की अनुमति देता है। | एकल प्रक्रिया के कई थ्रेड्स को समवर्ती रूप से निष्पादित किया जाता है। |
सीपीयू स्विचिंग | मल्टीप्रोसेसिंग में, सीपीयू को कई कार्यक्रमों के बीच स्विच करना पड़ता है ताकि ऐसा लगे कि कई प्रोग्राम एक साथ चल रहे हैं। | मल्टीथ्रेडिंग में, सीपीयू को कई थ्रेड्स के बीच स्विच करना पड़ता है ताकि यह दिखाई दे कि सभी थ्रेड्स एक साथ चल रहे हैं। |
सृष्टि | एक प्रक्रिया का निर्माण धीमा और संसाधन-विशिष्ट है। | एक सूत्र का निर्माण समय और संसाधन में किफायती है। |
वर्गीकरण | मल्टीप्रोसेसिंग सममित या असममित हो सकता है। | मल्टीथ्रेडिंग को वर्गीकृत नहीं किया गया है। |
याद | मल्टीप्रोसेसिंग प्रत्येक प्रक्रिया या कार्यक्रम के लिए अलग-अलग मेमोरी और संसाधन आवंटित करता है। | एक ही प्रक्रिया से संबंधित बहुउद्देश्यीय धागे उसी स्मृति और संसाधनों को साझा करते हैं जो इस प्रक्रिया के हैं। |
अचार बनाने की वस्तु | मल्टीथ्रेडिंग अचार से बचा जाता है। | मल्टीप्रोसेसिंग अन्य प्रक्रियाओं को भेजने के लिए मेमोरी में वस्तुओं को चुनने पर निर्भर करता है। |
कार्यक्रम | मल्टीप्रोसेसिंग सिस्टम कई कार्यक्रमों और कार्यों को निष्पादित करने की अनुमति देता है। | मल्टीथ्रेडिंग सिस्टम एक ही या विभिन्न प्रक्रियाओं के कई थ्रेड निष्पादित करता है। |
समय लिया | नौकरी प्रसंस्करण के लिए कम समय लिया जाता है। | नौकरी प्रसंस्करण के लिए एक मध्यम समय लिया जाता है। |
मल्टीप्रोसेसिंग का लाभ
यहां मल्टीप्रोसेसिंग के विपक्ष / नियम हैं:
- मल्टीप्रोसेसर सिस्टम का सबसे बड़ा फायदा यह है कि यह आपको छोटी अवधि में अधिक काम करने में मदद करता है।
- कोड आमतौर पर सीधा है।
- कई सीपीयू और कोर का लाभ लेता है
- CPython के लिए GIL सीमाओं से बचने में आपकी सहायता करता है
- जब तक आप साझा की गई मेमोरी का उपयोग नहीं करते हैं, तब तक सिंक्रनाइज़ेशन प्राइमेटिव निकालें।
- बाल प्रक्रियाएं ज्यादातर रुकावट / मार योग्य होती हैं
- यह आपको कम अवधि में काम दिलाने में मदद करता है।
- इस प्रकार की प्रणालियों का उपयोग तब किया जाना चाहिए जब बड़ी मात्रा में डेटा को संसाधित करने के लिए बहुत अधिक गति की आवश्यकता होती है।
- मल्टीप्रोसेसिंग सिस्टम एकल प्रोसेसर सिस्टम की तुलना में पैसे बचाते हैं क्योंकि प्रोसेसर बाह्य उपकरणों और बिजली की आपूर्ति को साझा कर सकते हैं।
मल्टीथ्रेडिंग का लाभ
यहाँ, मल्टीथ्रेडिंग के लाभ / लाभ हैं:
- थ्रेड्स समान पता स्थान साझा करते हैं
- थ्रेड्स हल्के होते हैं जिनमें कम मेमोरी के पदचिह्न होते हैं
- धागे के बीच संचार की लागत कम है।
- एक और संदर्भ से स्मृति स्थिति तक पहुंच आसान है
- यह आपको आसानी से उत्तरदायी UI बनाने की अनुमति देता है
- I / O- बाध्य अनुप्रयोगों के लिए एक आदर्श विकल्प
- साझा मेमोरी के भीतर दो थ्रेड के बीच स्विच करने और समाप्त करने के लिए कम समय लेता है
- थ्रेड प्रक्रियाओं की तुलना में तेजी से शुरू होते हैं और टास्क-स्विचिंग में भी तेज होते हैं।
- सभी थ्रेड्स एक प्रक्रिया मेमोरी पूल साझा करते हैं जो बहुत फायदेमंद है।
- नई प्रक्रिया की तुलना में मौजूदा प्रक्रिया में एक नया सूत्र बनाने के लिए कम समय लगता है
मल्टीप्रोसेसिंग का नुकसान
यहां, मल्टीप्रोसेसिंग ऑपरेटिंग सिस्टम का उपयोग करके विपक्ष / कमियां हैं
- IPC (इंटर-प्रोसेस कम्युनिकेशन) अधिक ओवरहेड के साथ काफी जटिल है
- एक बड़ा मेमोरी फुटप्रिंट है
मल्टीथ्रेडिंग का नुकसान
यहां, मल्टीथ्रेडिंग सिस्टम का उपयोग करने के विपक्ष / कमियां हैं:
- मल्टीथ्रेडिंग सिस्टम इंटरप्टेबल / किलेबल नहीं है
- यदि कोई कमांड कतार और संदेश पंप मॉडल का पालन नहीं कर रहा है, तो सिंक्रनाइज़ेशन के मैनुअल उपयोग की आवश्यकता होती है जो एक आवश्यकता बन जाती है
- कोड आमतौर पर समझने के लिए कठिन होता है और दौड़ की स्थिति की क्षमता नाटकीय रूप से बढ़ जाती है