मल्टीप्रोसेसर सिस्टम में मेमोरी - Memory in Multiprocessor System in Hindi


मल्टीप्रोसेसर सिस्टम में मेमोरी क्या होती है?

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

मल्टीप्रोसेसर सिस्टम में मेमोरी के प्रकार

मल्टीप्रोसेसर सिस्टम में मुख्य रूप से दो प्रकार की मेमोरी आर्किटेक्चर पाई जाती है:

1. साझा मेमोरी आर्किटेक्चर (Shared Memory Architecture)

इसमें सभी प्रोसेसर एक ही साझा मेमोरी (Shared Memory) तक पहुंच सकते हैं। यह तकनीक उच्च गति वाले डेटा एक्सेस और आसान संचार प्रदान करती है।

विशेषताएँ:

  • सभी प्रोसेसर एक ही मेमोरी एड्रेस स्पेस साझा करते हैं।
  • डेटा को साझा करने के लिए अतिरिक्त संचार चैनल की आवश्यकता नहीं होती।
  • समानांतर प्रसंस्करण (Parallel Processing) को आसान बनाता है।

2. वितरित मेमोरी आर्किटेक्चर (Distributed Memory Architecture)

इसमें प्रत्येक प्रोसेसर की अपनी स्थानीय मेमोरी होती है, और प्रोसेसर एक-दूसरे से संदेशों के माध्यम से डेटा साझा करते हैं।

विशेषताएँ:

  • प्रत्येक प्रोसेसर स्वतंत्र रूप से अपनी मेमोरी तक पहुंच सकता है।
  • डेटा साझा करने के लिए संदेश-आधारित संचार (Message Passing) का उपयोग किया जाता है।
  • यह प्रणाली स्केलेबल होती है और बड़े नेटवर्क में उपयोग की जाती है।

साझा मेमोरी आर्किटेक्चर के प्रकार

साझा मेमोरी आर्किटेक्चर को और अधिक वर्गीकृत किया जाता है:

1. समान स्मृति पहुँच (Uniform Memory Access - UMA)

  • सभी प्रोसेसर को मेमोरी तक समान गति से पहुंच प्राप्त होती है।
  • यह मल्टीप्रोसेसर सिस्टम में सामान्य रूप से उपयोग किया जाता है।

2. असमान स्मृति पहुँच (Non-Uniform Memory Access - NUMA)

  • प्रत्येक प्रोसेसर के पास अपनी स्थानीय मेमोरी होती है, और अन्य प्रोसेसर धीमी गति से डेटा एक्सेस कर सकते हैं।
  • यह बड़ी सिस्टम में अधिक कुशल होता है।

3. अनुक्रमिक सुसंगतता (Cache-Coherent NUMA - CC-NUMA)

  • NUMA प्रणाली में कैश की सुसंगतता बनाए रखने के लिए विशेष तकनीकों का उपयोग किया जाता है।
  • यह डेटा की अखंडता (Data Integrity) सुनिश्चित करता है।

वितरित मेमोरी आर्किटेक्चर के प्रकार

वितरित मेमोरी प्रणाली में प्रत्येक प्रोसेसर की अपनी अलग-अलग मेमोरी होती है। इसे दो भागों में विभाजित किया जाता है:

1. संदेश आधारित प्रणाली (Message Passing System)

  • प्रोसेसर एक-दूसरे से डेटा साझा करने के लिए संदेशों का उपयोग करते हैं।
  • यह सिस्टम अधिक स्केलेबल होता है और बड़े नेटवर्क पर काम करता है।

2. क्लस्टर्ड मेमोरी सिस्टम (Clustered Memory System)

  • इसमें प्रोसेसर समूहों में व्यवस्थित होते हैं, और प्रत्येक समूह की अपनी साझा मेमोरी होती है।
  • यह हाइब्रिड मेमोरी आर्किटेक्चर का एक रूप है।

साझा मेमोरी और वितरित मेमोरी में अंतर

विशेषता साझा मेमोरी (Shared Memory) वितरित मेमोरी (Distributed Memory)
डेटा एक्सेस सभी प्रोसेसर एक ही मेमोरी का उपयोग करते हैं। प्रत्येक प्रोसेसर की अपनी अलग मेमोरी होती है।
संचार साझा मेमोरी के माध्यम से मैसेज पासिंग के माध्यम से
गति अधिक गति से डेटा एक्सेस कई चरणों में डेटा एक्सेस
स्केलेबिलिटी सीमित अधिक स्केलेबल

मल्टीप्रोसेसर सिस्टम में मेमोरी समन्वय (Memory Synchronization)

मल्टीप्रोसेसर सिस्टम में प्रोसेसरों के बीच डेटा की सुसंगतता बनाए रखने के लिए सिंक्रोनाइज़ेशन तकनीकों का उपयोग किया जाता है।

1. कैश कोहेरेन्स (Cache Coherence)

  • प्रत्येक प्रोसेसर को समान डेटा का नवीनतम संस्करण प्राप्त हो, इसके लिए विशेष तकनीकों का उपयोग किया जाता है।
  • MESI प्रोटोकॉल (Modified, Exclusive, Shared, Invalid) इसका एक उदाहरण है।

2. सेमाफोर (Semaphore)

  • संसाधनों तक पहुँच को नियंत्रित करने के लिए प्रयुक्त किया जाता है।
  • यह डेडलॉक और डेटा असंगति से बचने में मदद करता है।

3. म्यूटेक्स (Mutex)

  • केवल एक प्रोसेसर को किसी संसाधन का उपयोग करने की अनुमति देता है।
  • डेटा की अखंडता बनाए रखता है।

मल्टीप्रोसेसर सिस्टम में मेमोरी प्रबंधन की चुनौतियाँ

  • डेटा की सुसंगतता बनाए रखना।
  • प्रोसेसरों के बीच उचित लोड संतुलन।
  • कैश कोहेरेन्स सुनिश्चित करना।
  • संसाधन विवाद (Resource Contention) को रोकना।

निष्कर्ष

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

Related Post