ScholarGate
सहायक

साझा स्मृति और डेटा समानांतरता

साझा-स्मृति समानांतरता में कई थ्रेड एक सामान्य एड्रेस स्पेस पर कार्य करते हैं, जबकि डेटा समानांतरता एक ही समय में कई डेटा तत्वों पर समान ऑपरेशन लागू करती है।

PaperMind से विषय खोजेंजल्द हीFind papers & topics
Tools & resources
स्लाइड डाउनलोड करें
Learn & explore
वीडियोजल्द ही

Definition

साझा-स्मृति मॉडल में, निष्पादन के समानांतर थ्रेड एक सामान्य स्मृति को पढ़कर और लिखकर अप्रत्यक्ष रूप से संवाद करते हैं, सिंक्रनाइज़ेशन प्रिमिटिव्स के माध्यम से समन्वय स्थापित करते हैं; डेटा समानांतरता वह विशेष मामला है जिसमें एक डेटा संरचना के तत्वों में स्वतंत्र रूप से समान गणना लागू की जाती है।

Scope

यह विषय साझा-एड्रेस-स्पेस मॉडल और उसके प्रोग्रामिंग इंटरफेस (थ्रेड्स, ओपनएमपी), थ्रेड्स को समन्वित करने वाले सिंक्रनाइज़ेशन प्रिमिटिव्स (लॉक्स, बैरियर्स, एटॉमिक्स) और उनके द्वारा प्रबंधित खतरों (डेटा रेस, डेडलॉक, फाल्स शेयरिंग), डेटा-समानांतर और लूप-समानांतर संरचनाओं, और कार्य-चोरी शेड्यूलर के साथ कार्य-आधारित रनटाइम को शामिल करता है। यह प्रोग्रामिंग पक्ष का वर्णन करता है जिसके सैद्धांतिक आधार साझा-स्मृति मॉडल के तहत आते हैं।

Core questions

  • थ्रेड्स बिना रेस या डेडलॉक के साझा डेटा तक पहुंच को कैसे समन्वित करते हैं?
  • समानांतर निष्पादन के लिए लूप और एरे ऑपरेशंस को कैसे व्यक्त किया जा सकता है?
  • गतिशील रूप से उत्पन्न कार्यों को कोर में कुशलता से कैसे संतुलित किया जाता है?

Key theories

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

Clinical relevance

साझा-स्मृति और डेटा-समानांतर प्रोग्रामिंग वह तरीका है जिससे रोजमर्रा के सॉफ्टवेयर मल्टीकोर सीपीयू का उपयोग करते हैं और वैज्ञानिक कर्नेल, सिमुलेशन और एरे-भारी वर्कलोड एक ही नोड पर गति प्राप्त करते हैं, जिससे यह समानांतर प्रोग्रामिंग का सबसे व्यापक रूप से सामना किया जाने वाला रूप बन जाता है।

History

साझा-स्मृति मल्टीप्रोसेसिंग थ्रेड्स मॉडल और पोर्टेबल डायरेक्टिव-आधारित समानांतरता के लिए 1998 के ओपनएमपी मानक के साथ परिपक्व हुई; सिल्क परियोजना (1996 से आगे) से कार्य-चोरी शेड्यूलर ने कुशल कार्य-आधारित समानांतरता प्रदान की, और ये विचार अब भाषाओं में मल्टीकोर प्रोग्रामिंग के आधार हैं।

Key figures

  • Maurice Herlihy
  • Nir Shavit
  • Charles Leiserson
  • Vipin Kumar

Related topics

Seminal works

  • herlihy2008
  • grama2003
  • blumofe1996

Frequently asked questions

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

Methods for this concept

Related concepts