बहु प्रक्रमण (मल्टीप्रोसेसिंग): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{Short description|Use of two or more central processing units (CPUs) within a single computer system}}
{{Short description|Use of two or more central processing units (CPUs) within a single computer system}}
मल्टीप्रोसेसिंग [[कंप्यूटर प्रणाली]] के भीतर दो या दो से अधिक [[CPU]] (सीपीयू) का उपयोग होता है।<ref name="Rajagopal1999">{{cite book |author=Raj Rajagopal |title=Introduction to Microsoft Windows NT Cluster Server: Programming and Administration |url=https://books.google.com/books?id=kUJnHJJlnpUC&pg=PA4 |year=1999 |publisher=CRC Press |isbn=978-1-4200-7548-9 |page=4}}</ref><ref name="EbbersKettner2012" />यह शब्द से अधिक प्रोसेसर या उनके बीच कार्यों को आवंटित करने की क्षमता का समर्थन करने के लिए सिस्टम की क्षमता को भी संदर्भित करता है। इस मूल विषय पर कई भिन्नताएं हैं, और मल्टीप्रोसेसिंग की परिभाषा संदर्भ के साथ भिन्न हो सकती है, ज्यादातर सीपीयू को कैसे परिभाषित किया जाता है ([[मल्टी-कोर (कम्प्यूटिंग)]] डाई (एकीकृत सर्किट) पर फ़ंक्शन के रूप में, [[चिप वाहक]] में कई मर जाते हैं, [[सिस्टम इकाई]], आदि में कई पैकेज)।
बहु प्रक्रमणमल्टीप्रोसेसिंग [[कंप्यूटर प्रणाली]] के भीतर दो या दो से अधिक [[CPU]] (सीपीयू) का उपयोग होता है।<ref name="Rajagopal1999">{{cite book |author=Raj Rajagopal |title=Introduction to Microsoft Windows NT Cluster Server: Programming and Administration |url=https://books.google.com/books?id=kUJnHJJlnpUC&pg=PA4 |year=1999 |publisher=CRC Press |isbn=978-1-4200-7548-9 |page=4}}</ref><ref name="EbbersKettner2012" />यह शब्द से अधिक प्रोसेसर या उनके बीच कार्यों को आवंटित करने की क्षमता का समर्थन करने के लिए सिस्टम की क्षमता को भी संदर्भित करता है। इस मूल विषय पर कई भिन्नताएं हैं, और बहु प्रक्रमणमल्टीप्रोसेसिंग की परिभाषा संदर्भ के साथ भिन्न हो सकती है, ज्यादातर सीपीयू को कैसे परिभाषित किया जाता है ([[मल्टी-कोर (कम्प्यूटिंग)]] डाई (एकीकृत सर्किट) पर फ़ंक्शन के रूप में, [[चिप वाहक]] में कई मर जाते हैं, [[सिस्टम इकाई]], आदि में कई पैकेज)।


कुछ ऑन-लाइन शब्दकोशों के अनुसार, मल्टीप्रोसेसर कंप्यूटर सिस्टम है जिसमें दो या दो से अधिक [[सेंट्रल प्रोसेसिंग यूनिट]] (मल्टीपल प्रोसेसर) होते हैं, जिनमें से प्रत्येक मुख्य मेमोरी और बाह्य उपकरणों को साझा करता है, ताकि साथ प्रोग्राम को प्रोसेस किया जा सके।<ref>{{cite web |url=http://www.yourdictionary.com/multiprocessor |title=Multiprocessor dictionary definition - multiprocessor defined |website=www.yourdictionary.com |access-date=16 March 2018}}</ref><ref>{{cite web |url=http://www.thefreedictionary.com/multiprocessor |title=multiprocessor |access-date=16 March 2018 |via=The Free Dictionary}}</ref> 2009 की पाठ्यपुस्तक ने मल्टीप्रोसेसर सिस्टम को समान रूप से परिभाषित किया है, लेकिन यह देखते हुए कि प्रोसेसर कुछ या सभी सिस्टम की मेमोरी और I/O सुविधाओं को साझा कर सकते हैं; इसने पर्यायवाची शब्द के रूप में कसकर युग्मित प्रणाली भी दी।<ref>{{cite book |author=Irv Englander |title=The architecture of Computer Hardware and Systems Software. An Information Technology Approach. |publisher=Wiley |date=2009 |edition=4th | isbn=978-0471715429 |page=265}}</ref>
कुछ ऑन-लाइन शब्दकोशों के अनुसार, मल्टीप्रोसेसर कंप्यूटर सिस्टम है जिसमें दो या दो से अधिक [[सेंट्रल प्रोसेसिंग यूनिट]] (मल्टीपल प्रोसेसर) होते हैं, जिनमें से प्रत्येक मुख्य मेमोरी और बाह्य उपकरणों को साझा करता है, ताकि साथ प्रोग्राम को प्रोसेस किया जा सके।<ref>{{cite web |url=http://www.yourdictionary.com/multiprocessor |title=Multiprocessor dictionary definition - multiprocessor defined |website=www.yourdictionary.com |access-date=16 March 2018}}</ref><ref>{{cite web |url=http://www.thefreedictionary.com/multiprocessor |title=multiprocessor |access-date=16 March 2018 |via=The Free Dictionary}}</ref> 2009 की पाठ्यपुस्तक ने मल्टीप्रोसेसर सिस्टम को समान रूप से परिभाषित किया है, लेकिन यह देखते हुए कि प्रोसेसर कुछ या सभी सिस्टम की मेमोरी और I/O सुविधाओं को साझा कर सकते हैं; इसने पर्यायवाची शब्द के रूप में कसकर युग्मित प्रणाली भी दी।<ref>{{cite book |author=Irv Englander |title=The architecture of Computer Hardware and Systems Software. An Information Technology Approach. |publisher=Wiley |date=2009 |edition=4th | isbn=978-0471715429 |page=265}}</ref>
[[ऑपरेटिंग सिस्टम]] स्तर पर, मल्टीप्रोसेसिंग का उपयोग कभी-कभी सिस्टम में कई समवर्ती [[प्रक्रिया (कंप्यूटिंग)]] के निष्पादन को संदर्भित करने के लिए किया जाता है, जिसमें प्रत्येक प्रक्रिया अलग सीपीयू या कोर पर चल रही होती है, जो किसी प्रक्रिया के विपरीत होती है।<ref name="MorleyParker2012">{{cite book |author1=Deborah Morley |author2=Charles Parker |title=Understanding Computers: Today and Tomorrow, Comprehensive |url=https://books.google.com/books?id=-2Ewg8QX8U4C&pg=PA183 |date=13 February 2012 |publisher=Cengage Learning |isbn=978-1-133-19024-0 |page=183}}</ref><ref name="Shibu">{{cite book |author=Shibu K. V. |title=Introduction to Embedded Systems |url=https://books.google.com/books?id=8hfn4gwR90MC&pg=PA402 |publisher=Tata McGraw-Hill Education |isbn=978-0-07-014589-4 |page=402}}</ref> जब इस परिभाषा के साथ प्रयोग किया जाता है, तो मल्टीप्रोसेसिंग को कभी-कभी [[कंप्यूटर मल्टीटास्किंग]] से अलग किया जाता है, जो केवल प्रोसेसर का उपयोग कर सकता है लेकिन इसे कार्यों के बीच समय के स्लाइस (यानी [[समय साझा करने की प्रणाली]]) में स्विच कर सकता है। मल्टीप्रोसेसिंग का अर्थ है से अधिक प्रोसेसर का उपयोग करके कई प्रक्रियाओं का वास्तविक समानांतर निष्पादन।<ref name="Shibu"/>मल्टीप्रोसेसिंग का मतलब यह नहीं है कि प्रक्रिया या कार्य साथ से अधिक प्रोसेसर का उपयोग करता है; [[समानांतर कंप्यूटिंग]] शब्द का प्रयोग आम तौर पर उस परिदृश्य को दर्शाने के लिए किया जाता है।<ref name="MorleyParker2012"/>अन्य लेखक ऑपरेटिंग सिस्टम तकनीकों को [[बहु क्रमादेशन]] के रूप में संदर्भित करना पसंद करते हैं और से अधिक प्रोसेसर होने के हार्डवेयर पहलू के लिए मल्टीप्रोसेसिंग शब्द आरक्षित करते हैं।<ref name="EbbersKettner2012">{{cite book |author1=Mike Ebbers |author2=John Kettner |author3=Wayne O'Brien |author4=Bill Ogden |title=Introduction to the New Mainframe: z/OS Basics |url=https://books.google.com/books?id=c-a1AgAAQBAJ&pg=PA96 |year=2012 |publisher=IBM |isbn=978-0-7384-3534-3 |page=96}}</ref><ref name="Arora2006">{{cite book |author=Ashok Arora |title=Foundations of Computer Science |url=https://books.google.com/books?id=CrcoszZBMowC&pg=PA149 |year=2006 |publisher=Laxmi Publications |isbn=978-81-7008-971-1 |page=149}}</ref> इस लेख के शेष भाग में मल्टीप्रोसेसिंग के बारे में केवल इसी हार्डवेयर अर्थ में चर्चा की गई है।
[[ऑपरेटिंग सिस्टम]] स्तर पर, बहु प्रक्रमणमल्टीप्रोसेसिंग का उपयोग कभी-कभी सिस्टम में कई समवर्ती [[प्रक्रिया (कंप्यूटिंग)]] के निष्पादन को संदर्भित करने के लिए किया जाता है, जिसमें प्रत्येक प्रक्रिया अलग सीपीयू या कोर पर चल रही होती है, जो किसी प्रक्रिया के विपरीत होती है।<ref name="MorleyParker2012">{{cite book |author1=Deborah Morley |author2=Charles Parker |title=Understanding Computers: Today and Tomorrow, Comprehensive |url=https://books.google.com/books?id=-2Ewg8QX8U4C&pg=PA183 |date=13 February 2012 |publisher=Cengage Learning |isbn=978-1-133-19024-0 |page=183}}</ref><ref name="Shibu">{{cite book |author=Shibu K. V. |title=Introduction to Embedded Systems |url=https://books.google.com/books?id=8hfn4gwR90MC&pg=PA402 |publisher=Tata McGraw-Hill Education |isbn=978-0-07-014589-4 |page=402}}</ref> जब इस परिभाषा के साथ प्रयोग किया जाता है, तो बहु प्रक्रमणमल्टीप्रोसेसिंग को कभी-कभी [[कंप्यूटर मल्टीटास्किंग]] से अलग किया जाता है, जो केवल प्रोसेसर का उपयोग कर सकता है लेकिन इसे कार्यों के बीच समय के स्लाइस (यानी [[समय साझा करने की प्रणाली]]) में स्विच कर सकता है। बहु प्रक्रमणमल्टीप्रोसेसिंग का अर्थ है से अधिक प्रोसेसर का उपयोग करके कई प्रक्रियाओं का वास्तविक समानांतर निष्पादन।<ref name="Shibu"/>बहु प्रक्रमणमल्टीप्रोसेसिंग का मतलब यह नहीं है कि प्रक्रिया या कार्य साथ से अधिक प्रोसेसर का उपयोग करता है; [[समानांतर कंप्यूटिंग]] शब्द का प्रयोग आम तौर पर उस परिदृश्य को दर्शाने के लिए किया जाता है।<ref name="MorleyParker2012"/>अन्य लेखक ऑपरेटिंग सिस्टम तकनीकों को [[बहु क्रमादेशन]] के रूप में संदर्भित करना पसंद करते हैं और से अधिक प्रोसेसर होने के हार्डवेयर पहलू के लिए बहु प्रक्रमणमल्टीप्रोसेसिंग शब्द आरक्षित करते हैं।<ref name="EbbersKettner2012">{{cite book |author1=Mike Ebbers |author2=John Kettner |author3=Wayne O'Brien |author4=Bill Ogden |title=Introduction to the New Mainframe: z/OS Basics |url=https://books.google.com/books?id=c-a1AgAAQBAJ&pg=PA96 |year=2012 |publisher=IBM |isbn=978-0-7384-3534-3 |page=96}}</ref><ref name="Arora2006">{{cite book |author=Ashok Arora |title=Foundations of Computer Science |url=https://books.google.com/books?id=CrcoszZBMowC&pg=PA149 |year=2006 |publisher=Laxmi Publications |isbn=978-81-7008-971-1 |page=149}}</ref> इस लेख के शेष भाग में बहु प्रक्रमणमल्टीप्रोसेसिंग के बारे में केवल इसी हार्डवेयर अर्थ में चर्चा की गई है।


फ्लिन की टैक्सोनॉमी में, ऊपर परिभाषित मल्टीप्रोसेसर मल्टीपल इंस्ट्रक्शन, मल्टीपल डेटा मशीन हैं।<ref name="Giladi2008"/><ref name="Shiva2005">{{cite book |author=Sajjan G. Shiva |title=Advanced Computer Architectures |url=https://books.google.com/books?id=DhdCwk5AhbEC&pg=PA221 |date=20 September 2005 |publisher=CRC Press |isbn=978-0-8493-3758-1 |page=221}}</ref> जैसा कि मल्टीप्रोसेसर शब्द सामान्य रूप से कसकर युग्मित सिस्टम को संदर्भित करता है जिसमें सभी प्रोसेसर मेमोरी साझा करते हैं, मल्टीप्रोसेसर MIMD मशीनों की संपूर्ण श्रेणी नहीं होते हैं, जिसमें मल्टीकंप्यूटर सिस्टम पास करने वाले संदेश भी होते हैं।<ref name="Giladi2008">{{cite book |author=Ran Giladi |title=Network Processors: Architecture, Programming, and Implementation |url=https://books.google.com/books?id=_7aH_4axpwAC&pg=PA293 |year=2008 |publisher=Morgan Kaufmann |isbn=978-0-08-091959-1 |page=293}}</ref>
फ्लिन की टैक्सोनॉमी में, ऊपर परिभाषित मल्टीप्रोसेसर मल्टीपल इंस्ट्रक्शन, मल्टीपल डेटा मशीन हैं।<ref name="Giladi2008"/><ref name="Shiva2005">{{cite book |author=Sajjan G. Shiva |title=Advanced Computer Architectures |url=https://books.google.com/books?id=DhdCwk5AhbEC&pg=PA221 |date=20 September 2005 |publisher=CRC Press |isbn=978-0-8493-3758-1 |page=221}}</ref> जैसा कि मल्टीप्रोसेसर शब्द सामान्य रूप से कसकर युग्मित सिस्टम को संदर्भित करता है जिसमें सभी प्रोसेसर मेमोरी साझा करते हैं, मल्टीप्रोसेसर MIMD मशीनों की संपूर्ण श्रेणी नहीं होते हैं, जिसमें मल्टीकंप्यूटर सिस्टम पास करने वाले संदेश भी होते हैं।<ref name="Giladi2008">{{cite book |author=Ran Giladi |title=Network Processors: Architecture, Programming, and Implementation |url=https://books.google.com/books?id=_7aH_4axpwAC&pg=PA293 |year=2008 |publisher=Morgan Kaufmann |isbn=978-0-08-091959-1 |page=293}}</ref>
Line 9: Line 9:


== प्रागैतिहास ==
== प्रागैतिहास ==
संभवतः मल्टीप्रोसेसिंग के विचार की पहली अभिव्यक्ति [[लुइगी फेडेरिको मेनाब्रिया]] द्वारा 1842 में [[चार्ल्स बैबेज]] के [[विश्लेषणात्मक इंजन]] ([[लवलेस है]] द्वारा अनुवादित) के बारे में लिखी गई थी: मशीन को खेल में लाया जा सकता है ताकि ही समय में कई परिणाम दिए जा सकें, जो प्रक्रियाओं की पूरी मात्रा को बहुत कम कर देगा।<ref>{{cite journal |url=http://www.fourmilab.ch/babbage/sketch.html |title=Sketch of The Analytical Engine Invented by Charles Babbage |author=L. F. Menabrea |author-link=Luigi Federico Menabrea |journal=Bibliothèque Universelle de Genève |issue=82 |date=October 1842 |quote=Likewise, when a long series of identical computations is to be performed, such as those required for the formation of numerical tables, the machine can be brought into play so as to give several results at the same time, which will greatly abridge the whole amount of the processes.}}</ref>
संभवतः बहु प्रक्रमणमल्टीप्रोसेसिंग के विचार की पहली अभिव्यक्ति [[लुइगी फेडेरिको मेनाब्रिया]] द्वारा 1842 में [[चार्ल्स बैबेज]] के [[विश्लेषणात्मक इंजन]] ([[लवलेस है]] द्वारा अनुवादित) के बारे में लिखी गई थी: मशीन को खेल में लाया जा सकता है ताकि ही समय में कई परिणाम दिए जा सकें, जो प्रक्रियाओं की पूरी मात्रा को बहुत कम कर देगा।<ref>{{cite journal |url=http://www.fourmilab.ch/babbage/sketch.html |title=Sketch of The Analytical Engine Invented by Charles Babbage |author=L. F. Menabrea |author-link=Luigi Federico Menabrea |journal=Bibliothèque Universelle de Genève |issue=82 |date=October 1842 |quote=Likewise, when a long series of identical computations is to be performed, such as those required for the formation of numerical tables, the machine can be brought into play so as to give several results at the same time, which will greatly abridge the whole amount of the processes.}}</ref>




Line 16: Line 16:
=== प्रोसेसर समरूपता ===
=== प्रोसेसर समरूपता ===


मल्टीप्रोसेसिंग सिस्टम में, सभी CPU समान हो सकते हैं, या कुछ विशेष उद्देश्यों के लिए आरक्षित हो सकते हैं। हार्डवेयर और ऑपरेटिंग सिस्टम सॉफ़्टवेयर डिज़ाइन विचारों का संयोजन किसी दिए गए सिस्टम में समरूपता (या इसकी कमी) निर्धारित करता है। उदाहरण के लिए, हार्डवेयर या सॉफ़्टवेयर के लिए आवश्यक हो सकता है कि केवल विशेष CPU सभी हार्डवेयर व्यवधानों का जवाब दे, जबकि सिस्टम में अन्य सभी कार्य CPU के बीच समान रूप से वितरित किए जा सकते हैं; या कर्नेल-मोड कोड का निष्पादन केवल विशेष CPU तक ही सीमित हो सकता है, जबकि उपयोगकर्ता-मोड कोड को प्रोसेसर के किसी भी संयोजन में निष्पादित किया जा सकता है। यदि इस तरह के प्रतिबंध लगाए जाते हैं तो मल्टीप्रोसेसिंग सिस्टम अक्सर डिजाइन करना आसान होता है, लेकिन वे उन सिस्टमों की तुलना में कम कुशल होते हैं जिनमें सभी सीपीयू का उपयोग किया जाता है।
बहु प्रक्रमणमल्टीप्रोसेसिंग सिस्टम में, सभी CPU समान हो सकते हैं, या कुछ विशेष उद्देश्यों के लिए आरक्षित हो सकते हैं। हार्डवेयर और ऑपरेटिंग सिस्टम सॉफ़्टवेयर डिज़ाइन विचारों का संयोजन किसी दिए गए सिस्टम में समरूपता (या इसकी कमी) निर्धारित करता है। उदाहरण के लिए, हार्डवेयर या सॉफ़्टवेयर के लिए आवश्यक हो सकता है कि केवल विशेष CPU सभी हार्डवेयर व्यवधानों का जवाब दे, जबकि सिस्टम में अन्य सभी कार्य CPU के बीच समान रूप से वितरित किए जा सकते हैं; या कर्नेल-मोड कोड का निष्पादन केवल विशेष CPU तक ही सीमित हो सकता है, जबकि उपयोगकर्ता-मोड कोड को प्रोसेसर के किसी भी संयोजन में निष्पादित किया जा सकता है। यदि इस तरह के प्रतिबंध लगाए जाते हैं तो बहु प्रक्रमणमल्टीप्रोसेसिंग सिस्टम अक्सर डिजाइन करना आसान होता है, लेकिन वे उन सिस्टमों की तुलना में कम कुशल होते हैं जिनमें सभी सीपीयू का उपयोग किया जाता है।


सिस्टम जो सभी सीपीयू को समान रूप से व्यवहार करते हैं उन्हें [[सममित बहु प्रसंस्करण]] (एसएमपी) सिस्टम कहा जाता है। उन प्रणालियों में जहां सभी सीपीयू समान नहीं हैं, सिस्टम संसाधनों को [[असममित मल्टीप्रोसेसिंग]] (एएसएमपी), [[गैर-समान मेमोरी एक्सेस]] (एनयूएमए) मल्टीप्रोसेसिंग और [[कंप्यूटर क्लस्टर]] मल्टीप्रोसेसिंग सहित कई तरीकों से विभाजित किया जा सकता है।
सिस्टम जो सभी सीपीयू को समान रूप से व्यवहार करते हैं उन्हें [[सममित बहु प्रसंस्करण]] (एसएमपी) सिस्टम कहा जाता है। उन प्रणालियों में जहां सभी सीपीयू समान नहीं हैं, सिस्टम संसाधनों को [[असममित मल्टीप्रोसेसिंग|असममित बहु प्रक्रमणमल्टीप्रोसेसिंग]] (एएसएमपी), [[गैर-समान मेमोरी एक्सेस]] (एनयूएमए) बहु प्रक्रमणमल्टीप्रोसेसिंग और [[कंप्यूटर क्लस्टर]] बहु प्रक्रमणमल्टीप्रोसेसिंग सहित कई तरीकों से विभाजित किया जा सकता है।


==== मास्टर/गुलाम मल्टीप्रोसेसर सिस्टम ====
==== मास्टर/गुलाम मल्टीप्रोसेसर सिस्टम ====
Line 29: Line 29:
=== निर्देश और डेटा स्ट्रीम ===
=== निर्देश और डेटा स्ट्रीम ===


मल्टीप्रोसेसिंग में, प्रोसेसर का उपयोग कई संदर्भों में निर्देशों के एकल अनुक्रम को निष्पादित करने के लिए किया जा सकता है (एकल निर्देश, एकाधिक डेटा या SIMD, अक्सर [[वेक्टर प्रसंस्करण]] में उपयोग किया जाता है), ही संदर्भ में निर्देशों के कई अनुक्रम (एकाधिक निर्देश, एकल डेटा या MISD) , विफल-सुरक्षित प्रणालियों में [[अतिरेक (इंजीनियरिंग)]] के लिए उपयोग किया जाता है और कभी-कभी [[पाइपलाइन (कंप्यूटिंग)]] या [[हाइपर थ्रेडिंग]]), या कई संदर्भों में निर्देशों के कई अनुक्रमों (एकाधिक निर्देश, कई डेटा या MIMD) का वर्णन करने के लिए लागू किया जाता है।
बहु प्रक्रमणमल्टीप्रोसेसिंग में, प्रोसेसर का उपयोग कई संदर्भों में निर्देशों के एकल अनुक्रम को निष्पादित करने के लिए किया जा सकता है (एकल निर्देश, एकाधिक डेटा या SIMD, अक्सर [[वेक्टर प्रसंस्करण]] में उपयोग किया जाता है), ही संदर्भ में निर्देशों के कई अनुक्रम (एकाधिक निर्देश, एकल डेटा या MISD) , विफल-सुरक्षित प्रणालियों में [[अतिरेक (इंजीनियरिंग)]] के लिए उपयोग किया जाता है और कभी-कभी [[पाइपलाइन (कंप्यूटिंग)]] या [[हाइपर थ्रेडिंग]]), या कई संदर्भों में निर्देशों के कई अनुक्रमों (एकाधिक निर्देश, कई डेटा या MIMD) का वर्णन करने के लिए लागू किया जाता है।


=== प्रोसेसर युग्मन ===
=== प्रोसेसर युग्मन ===
Line 36: Line 36:
कसकर युग्मित मल्टीप्रोसेसर सिस्टम में कई सीपीयू होते हैं जो बस स्तर पर जुड़े होते हैं। इन सीपीयू के पास केंद्रीय साझा मेमोरी (एसएमपी या [[यूनिफ़ॉर्म मेमोरी एक्सेस]]) तक पहुंच हो सकती है, या स्थानीय और साझा मेमोरी (एसएम) (गैर-यूनिफ़ॉर्म मेमोरी एक्सेस) दोनों के साथ मेमोरी पदानुक्रम में भाग ले सकते हैं। [[आईबीएम p690]] रेगाटा उच्च अंत एसएमपी प्रणाली का उदाहरण है। [[Intel]] [[Xeon]] प्रोसेसर व्यवसाय पीसी के लिए मल्टीप्रोसेसर बाजार पर हावी थे और 2004 में [[AMD]] के [[Opteron]] रेंज के प्रोसेसर के रिलीज़ होने तक एकमात्र प्रमुख x86 विकल्प थे। प्रोसेसर की दोनों श्रेणियों का अपना ऑनबोर्ड कैश था लेकिन साझा मेमोरी तक पहुंच प्रदान करता था; Xeon प्रोसेसर सामान्य पाइप के माध्यम से और Opteron प्रोसेसर सिस्टम [[रैंडम एक्सेस मेमोरी]] के लिए स्वतंत्र रास्ते के माध्यम से।
कसकर युग्मित मल्टीप्रोसेसर सिस्टम में कई सीपीयू होते हैं जो बस स्तर पर जुड़े होते हैं। इन सीपीयू के पास केंद्रीय साझा मेमोरी (एसएमपी या [[यूनिफ़ॉर्म मेमोरी एक्सेस]]) तक पहुंच हो सकती है, या स्थानीय और साझा मेमोरी (एसएम) (गैर-यूनिफ़ॉर्म मेमोरी एक्सेस) दोनों के साथ मेमोरी पदानुक्रम में भाग ले सकते हैं। [[आईबीएम p690]] रेगाटा उच्च अंत एसएमपी प्रणाली का उदाहरण है। [[Intel]] [[Xeon]] प्रोसेसर व्यवसाय पीसी के लिए मल्टीप्रोसेसर बाजार पर हावी थे और 2004 में [[AMD]] के [[Opteron]] रेंज के प्रोसेसर के रिलीज़ होने तक एकमात्र प्रमुख x86 विकल्प थे। प्रोसेसर की दोनों श्रेणियों का अपना ऑनबोर्ड कैश था लेकिन साझा मेमोरी तक पहुंच प्रदान करता था; Xeon प्रोसेसर सामान्य पाइप के माध्यम से और Opteron प्रोसेसर सिस्टम [[रैंडम एक्सेस मेमोरी]] के लिए स्वतंत्र रास्ते के माध्यम से।


चिप मल्टीप्रोसेसर, जिसे मल्टी-कोर (कंप्यूटिंग) | मल्टी-कोर कंप्यूटिंग के रूप में भी जाना जाता है, में चिप पर से अधिक प्रोसेसर रखे जाते हैं और कसकर युग्मित मल्टीप्रोसेसिंग के सबसे चरम रूप के बारे में सोचा जा सकता है। कई प्रोसेसर वाले मेनफ्रेम सिस्टम अक्सर कसकर युग्मित होते हैं।
चिप मल्टीप्रोसेसर, जिसे मल्टी-कोर (कंप्यूटिंग) | मल्टी-कोर कंप्यूटिंग के रूप में भी जाना जाता है, में चिप पर से अधिक प्रोसेसर रखे जाते हैं और कसकर युग्मित बहु प्रक्रमणमल्टीप्रोसेसिंग के सबसे चरम रूप के बारे में सोचा जा सकता है। कई प्रोसेसर वाले मेनफ्रेम सिस्टम अक्सर कसकर युग्मित होते हैं।


==== लूजली कपल्ड मल्टीप्रोसेसर सिस्टम ====
==== लूजली कपल्ड मल्टीप्रोसेसर सिस्टम ====
Line 50: Line 50:
== यह भी देखें ==
== यह भी देखें ==
* [[मल्टीप्रोसेसर सिस्टम आर्किटेक्चर]]
* [[मल्टीप्रोसेसर सिस्टम आर्किटेक्चर]]
* सममित मल्टीप्रोसेसिंग
* सममित बहु प्रक्रमणमल्टीप्रोसेसिंग
* असममित मल्टीप्रोसेसिंग
* असममित बहु प्रक्रमणमल्टीप्रोसेसिंग
* [[मल्टी-कोर प्रोसेसर]]
* [[मल्टी-कोर प्रोसेसर]]
*[[बीएमडीएफएम]] - बाइनरी मॉड्यूलर डेटाफ्लो मशीन, एसएमपी एमआईएमडी रनटाइम वातावरण
*[[बीएमडीएफएम]] - बाइनरी मॉड्यूलर डेटाफ्लो मशीन, एसएमपी एमआईएमडी रनटाइम वातावरण

Revision as of 09:53, 26 February 2023

बहु प्रक्रमणमल्टीप्रोसेसिंग कंप्यूटर प्रणाली के भीतर दो या दो से अधिक CPU (सीपीयू) का उपयोग होता है।[1][2]यह शब्द से अधिक प्रोसेसर या उनके बीच कार्यों को आवंटित करने की क्षमता का समर्थन करने के लिए सिस्टम की क्षमता को भी संदर्भित करता है। इस मूल विषय पर कई भिन्नताएं हैं, और बहु प्रक्रमणमल्टीप्रोसेसिंग की परिभाषा संदर्भ के साथ भिन्न हो सकती है, ज्यादातर सीपीयू को कैसे परिभाषित किया जाता है (मल्टी-कोर (कम्प्यूटिंग) डाई (एकीकृत सर्किट) पर फ़ंक्शन के रूप में, चिप वाहक में कई मर जाते हैं, सिस्टम इकाई, आदि में कई पैकेज)।

कुछ ऑन-लाइन शब्दकोशों के अनुसार, मल्टीप्रोसेसर कंप्यूटर सिस्टम है जिसमें दो या दो से अधिक सेंट्रल प्रोसेसिंग यूनिट (मल्टीपल प्रोसेसर) होते हैं, जिनमें से प्रत्येक मुख्य मेमोरी और बाह्य उपकरणों को साझा करता है, ताकि साथ प्रोग्राम को प्रोसेस किया जा सके।[3][4] 2009 की पाठ्यपुस्तक ने मल्टीप्रोसेसर सिस्टम को समान रूप से परिभाषित किया है, लेकिन यह देखते हुए कि प्रोसेसर कुछ या सभी सिस्टम की मेमोरी और I/O सुविधाओं को साझा कर सकते हैं; इसने पर्यायवाची शब्द के रूप में कसकर युग्मित प्रणाली भी दी।[5] ऑपरेटिंग सिस्टम स्तर पर, बहु प्रक्रमणमल्टीप्रोसेसिंग का उपयोग कभी-कभी सिस्टम में कई समवर्ती प्रक्रिया (कंप्यूटिंग) के निष्पादन को संदर्भित करने के लिए किया जाता है, जिसमें प्रत्येक प्रक्रिया अलग सीपीयू या कोर पर चल रही होती है, जो किसी प्रक्रिया के विपरीत होती है।[6][7] जब इस परिभाषा के साथ प्रयोग किया जाता है, तो बहु प्रक्रमणमल्टीप्रोसेसिंग को कभी-कभी कंप्यूटर मल्टीटास्किंग से अलग किया जाता है, जो केवल प्रोसेसर का उपयोग कर सकता है लेकिन इसे कार्यों के बीच समय के स्लाइस (यानी समय साझा करने की प्रणाली) में स्विच कर सकता है। बहु प्रक्रमणमल्टीप्रोसेसिंग का अर्थ है से अधिक प्रोसेसर का उपयोग करके कई प्रक्रियाओं का वास्तविक समानांतर निष्पादन।[7]बहु प्रक्रमणमल्टीप्रोसेसिंग का मतलब यह नहीं है कि प्रक्रिया या कार्य साथ से अधिक प्रोसेसर का उपयोग करता है; समानांतर कंप्यूटिंग शब्द का प्रयोग आम तौर पर उस परिदृश्य को दर्शाने के लिए किया जाता है।[6]अन्य लेखक ऑपरेटिंग सिस्टम तकनीकों को बहु क्रमादेशन के रूप में संदर्भित करना पसंद करते हैं और से अधिक प्रोसेसर होने के हार्डवेयर पहलू के लिए बहु प्रक्रमणमल्टीप्रोसेसिंग शब्द आरक्षित करते हैं।[2][8] इस लेख के शेष भाग में बहु प्रक्रमणमल्टीप्रोसेसिंग के बारे में केवल इसी हार्डवेयर अर्थ में चर्चा की गई है।

फ्लिन की टैक्सोनॉमी में, ऊपर परिभाषित मल्टीप्रोसेसर मल्टीपल इंस्ट्रक्शन, मल्टीपल डेटा मशीन हैं।[9][10] जैसा कि मल्टीप्रोसेसर शब्द सामान्य रूप से कसकर युग्मित सिस्टम को संदर्भित करता है जिसमें सभी प्रोसेसर मेमोरी साझा करते हैं, मल्टीप्रोसेसर MIMD मशीनों की संपूर्ण श्रेणी नहीं होते हैं, जिसमें मल्टीकंप्यूटर सिस्टम पास करने वाले संदेश भी होते हैं।[9]


प्रागैतिहास

संभवतः बहु प्रक्रमणमल्टीप्रोसेसिंग के विचार की पहली अभिव्यक्ति लुइगी फेडेरिको मेनाब्रिया द्वारा 1842 में चार्ल्स बैबेज के विश्लेषणात्मक इंजन (लवलेस है द्वारा अनुवादित) के बारे में लिखी गई थी: मशीन को खेल में लाया जा सकता है ताकि ही समय में कई परिणाम दिए जा सकें, जो प्रक्रियाओं की पूरी मात्रा को बहुत कम कर देगा।[11]


मुख्य विषय

प्रोसेसर समरूपता

बहु प्रक्रमणमल्टीप्रोसेसिंग सिस्टम में, सभी CPU समान हो सकते हैं, या कुछ विशेष उद्देश्यों के लिए आरक्षित हो सकते हैं। हार्डवेयर और ऑपरेटिंग सिस्टम सॉफ़्टवेयर डिज़ाइन विचारों का संयोजन किसी दिए गए सिस्टम में समरूपता (या इसकी कमी) निर्धारित करता है। उदाहरण के लिए, हार्डवेयर या सॉफ़्टवेयर के लिए आवश्यक हो सकता है कि केवल विशेष CPU सभी हार्डवेयर व्यवधानों का जवाब दे, जबकि सिस्टम में अन्य सभी कार्य CPU के बीच समान रूप से वितरित किए जा सकते हैं; या कर्नेल-मोड कोड का निष्पादन केवल विशेष CPU तक ही सीमित हो सकता है, जबकि उपयोगकर्ता-मोड कोड को प्रोसेसर के किसी भी संयोजन में निष्पादित किया जा सकता है। यदि इस तरह के प्रतिबंध लगाए जाते हैं तो बहु प्रक्रमणमल्टीप्रोसेसिंग सिस्टम अक्सर डिजाइन करना आसान होता है, लेकिन वे उन सिस्टमों की तुलना में कम कुशल होते हैं जिनमें सभी सीपीयू का उपयोग किया जाता है।

सिस्टम जो सभी सीपीयू को समान रूप से व्यवहार करते हैं उन्हें सममित बहु प्रसंस्करण (एसएमपी) सिस्टम कहा जाता है। उन प्रणालियों में जहां सभी सीपीयू समान नहीं हैं, सिस्टम संसाधनों को असममित बहु प्रक्रमणमल्टीप्रोसेसिंग (एएसएमपी), गैर-समान मेमोरी एक्सेस (एनयूएमए) बहु प्रक्रमणमल्टीप्रोसेसिंग और कंप्यूटर क्लस्टर बहु प्रक्रमणमल्टीप्रोसेसिंग सहित कई तरीकों से विभाजित किया जा सकता है।

मास्टर/गुलाम मल्टीप्रोसेसर सिस्टम

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

मास्टर/स्लेव मल्टीप्रोसेसर सिस्टम का प्रारंभिक उदाहरण टैंडी/रेडियो शेक [[टीआरएस-80 मॉडल II]] डेस्कटॉप कंप्यूटर है, जो फरवरी 1982 में आया और मल्टी-यूजर/मल्टी-टास्किंग ज़ेनिक्स ऑपरेटिंग सिस्टम चला, माइक्रोसॉफ्ट का यूनिक्स का संस्करण (टीआरएस कहा जाता है) -जेनिक्स). मॉडल 16 में 3 माइक्रोप्रोसेसर हैं, 8-बिट Zilog Z80 CPU 4MHz पर चल रहा है, 16-बिट Motorola 68000 CPU 6MHz पर चल रहा है और कीबोर्ड में Intel 8021 है। जब सिस्टम बूट किया गया था, Z-80 मास्टर था और Xenix बूट प्रक्रिया ने स्लेव 68000 को इनिशियलाइज़ किया, और फिर 68000 पर नियंत्रण स्थानांतरित कर दिया, जिसके बाद CPU ने भूमिकाओं को बदल दिया और Z-80 स्लेव प्रोसेसर बन गया जो सभी के लिए जिम्मेदार था। डिस्क, संचार, प्रिंटर और नेटवर्क, साथ ही कीबोर्ड और एकीकृत मॉनिटर सहित I/O संचालन, जबकि ऑपरेटिंग सिस्टम और एप्लिकेशन 68000 CPU पर चलते थे। Z-80 का उपयोग अन्य कार्यों के लिए किया जा सकता है।

पहले का TRS-80 मॉडल II, जो 1979 में जारी किया गया था, को भी मल्टीप्रोसेसर सिस्टम माना जा सकता था क्योंकि इसमें Z-80 CPU और Intel 8021 दोनों थे[12] कीबोर्ड में माइक्रोप्रोसेसर। 8021 ने मॉडल II को पहला डेस्कटॉप कंप्यूटर सिस्टम बनाया जिसमें अलग पतले लचीले तार से जुड़ा अलग वियोज्य हल्का कीबोर्ड था, और संभवतः समर्पित माइक्रोप्रोसेसर का उपयोग करने वाला पहला कीबोर्ड, दोनों विशेषताएँ जो बाद में Apple और IBM द्वारा कॉपी की गईं। .

निर्देश और डेटा स्ट्रीम

बहु प्रक्रमणमल्टीप्रोसेसिंग में, प्रोसेसर का उपयोग कई संदर्भों में निर्देशों के एकल अनुक्रम को निष्पादित करने के लिए किया जा सकता है (एकल निर्देश, एकाधिक डेटा या SIMD, अक्सर वेक्टर प्रसंस्करण में उपयोग किया जाता है), ही संदर्भ में निर्देशों के कई अनुक्रम (एकाधिक निर्देश, एकल डेटा या MISD) , विफल-सुरक्षित प्रणालियों में अतिरेक (इंजीनियरिंग) के लिए उपयोग किया जाता है और कभी-कभी पाइपलाइन (कंप्यूटिंग) या हाइपर थ्रेडिंग), या कई संदर्भों में निर्देशों के कई अनुक्रमों (एकाधिक निर्देश, कई डेटा या MIMD) का वर्णन करने के लिए लागू किया जाता है।

प्रोसेसर युग्मन

कसकर युग्मित मल्टीप्रोसेसर सिस्टम

कसकर युग्मित मल्टीप्रोसेसर सिस्टम में कई सीपीयू होते हैं जो बस स्तर पर जुड़े होते हैं। इन सीपीयू के पास केंद्रीय साझा मेमोरी (एसएमपी या यूनिफ़ॉर्म मेमोरी एक्सेस) तक पहुंच हो सकती है, या स्थानीय और साझा मेमोरी (एसएम) (गैर-यूनिफ़ॉर्म मेमोरी एक्सेस) दोनों के साथ मेमोरी पदानुक्रम में भाग ले सकते हैं। आईबीएम p690 रेगाटा उच्च अंत एसएमपी प्रणाली का उदाहरण है। Intel Xeon प्रोसेसर व्यवसाय पीसी के लिए मल्टीप्रोसेसर बाजार पर हावी थे और 2004 में AMD के Opteron रेंज के प्रोसेसर के रिलीज़ होने तक एकमात्र प्रमुख x86 विकल्प थे। प्रोसेसर की दोनों श्रेणियों का अपना ऑनबोर्ड कैश था लेकिन साझा मेमोरी तक पहुंच प्रदान करता था; Xeon प्रोसेसर सामान्य पाइप के माध्यम से और Opteron प्रोसेसर सिस्टम रैंडम एक्सेस मेमोरी के लिए स्वतंत्र रास्ते के माध्यम से।

चिप मल्टीप्रोसेसर, जिसे मल्टी-कोर (कंप्यूटिंग) | मल्टी-कोर कंप्यूटिंग के रूप में भी जाना जाता है, में चिप पर से अधिक प्रोसेसर रखे जाते हैं और कसकर युग्मित बहु प्रक्रमणमल्टीप्रोसेसिंग के सबसे चरम रूप के बारे में सोचा जा सकता है। कई प्रोसेसर वाले मेनफ्रेम सिस्टम अक्सर कसकर युग्मित होते हैं।

लूजली कपल्ड मल्टीप्रोसेसर सिस्टम

लूजली कपल्ड मल्टीप्रोसेसर सिस्टम (अक्सर कंप्यूटर क्लस्टर के रूप में संदर्भित) मल्टीपल स्टैंडअलोन अपेक्षाकृत कम प्रोसेसर काउंट कमोडिटी कंप्यूटर पर आधारित होते हैं जो उच्च गति संचार प्रणाली (गीगाबिट ईथरनेट सामान्य है) के माध्यम से जुड़े होते हैं। लिनक्स बियोवुल्फ़ क्लस्टर ढीले युग्मन प्रणाली का उदाहरण है।

कसकर युग्मित प्रणालियाँ बेहतर प्रदर्शन करती हैं और शिथिल युग्मित प्रणालियों की तुलना में शारीरिक रूप से छोटी होती हैं, लेकिन ऐतिहासिक रूप से अधिक प्रारंभिक निवेश की आवश्यकता होती है और तेजी से मूल्यह्रास हो सकता है; शिथिल युग्मित प्रणाली में नोड्स आमतौर पर सस्ते कमोडिटी कंप्यूटर होते हैं और क्लस्टर से सेवानिवृत्ति पर स्वतंत्र मशीनों के रूप में पुनर्नवीनीकरण किए जा सकते हैं।

बिजली की खपत भी विचार है। गुच्छों की तुलना में कसकर युग्मित प्रणालियाँ बहुत अधिक ऊर्जा-कुशल होती हैं। ऐसा इसलिए है क्योंकि मजबूती से युग्मित प्रणालियों में शुरुआत से ही साथ काम करने के लिए घटकों को डिजाइन करके बिजली की खपत में काफी कमी महसूस की जा सकती है, जबकि शिथिल युग्मित प्रणालियां उन घटकों का उपयोग करती हैं जो विशेष रूप से ऐसी प्रणालियों में उपयोग के लिए अभिप्रेत नहीं थे।

लूज़ली कपल्ड सिस्टम में अलग-अलग सिस्टम पर अलग-अलग ऑपरेटिंग सिस्टम या OS संस्करण चलाने की क्षमता होती है।

यह भी देखें

संदर्भ

  1. Raj Rajagopal (1999). Introduction to Microsoft Windows NT Cluster Server: Programming and Administration. CRC Press. p. 4. ISBN 978-1-4200-7548-9.
  2. 2.0 2.1 Mike Ebbers; John Kettner; Wayne O'Brien; Bill Ogden (2012). Introduction to the New Mainframe: z/OS Basics. IBM. p. 96. ISBN 978-0-7384-3534-3.
  3. "Multiprocessor dictionary definition - multiprocessor defined". www.yourdictionary.com. Retrieved 16 March 2018.
  4. "multiprocessor". Retrieved 16 March 2018 – via The Free Dictionary.
  5. Irv Englander (2009). The architecture of Computer Hardware and Systems Software. An Information Technology Approach (4th ed.). Wiley. p. 265. ISBN 978-0471715429.
  6. 6.0 6.1 Deborah Morley; Charles Parker (13 February 2012). Understanding Computers: Today and Tomorrow, Comprehensive. Cengage Learning. p. 183. ISBN 978-1-133-19024-0.
  7. 7.0 7.1 Shibu K. V. Introduction to Embedded Systems. Tata McGraw-Hill Education. p. 402. ISBN 978-0-07-014589-4.
  8. Ashok Arora (2006). Foundations of Computer Science. Laxmi Publications. p. 149. ISBN 978-81-7008-971-1.
  9. 9.0 9.1 Ran Giladi (2008). Network Processors: Architecture, Programming, and Implementation. Morgan Kaufmann. p. 293. ISBN 978-0-08-091959-1.
  10. Sajjan G. Shiva (20 September 2005). Advanced Computer Architectures. CRC Press. p. 221. ISBN 978-0-8493-3758-1.
  11. L. F. Menabrea (October 1842). "Sketch of The Analytical Engine Invented by Charles Babbage". Bibliothèque Universelle de Genève (82). Likewise, when a long series of identical computations is to be performed, such as those required for the formation of numerical tables, the machine can be brought into play so as to give several results at the same time, which will greatly abridge the whole amount of the processes.
  12. TRS-80 Model II Technical Reference Manual. Radio Shack. 1980. p. 135.