I/O वर्चुअलाइजेशन और डीएमए
प्रत्यक्ष मेमोरी एक्सेस उपकरणों को प्रति-शब्द प्रोसेसर की भागीदारी के बिना मेमोरी से और उसमें डेटा स्थानांतरित करने देता है, और I/O वर्चुअलाइजेशन इसे वर्चुअल मशीनों के बीच भौतिक उपकरणों को सुरक्षित रूप से साझा करने तक विस्तारित करता है, ये दोनों कुशल आधुनिक और क्लाउड सिस्टम के लिए केंद्रीय हैं।
Definition
प्रत्यक्ष मेमोरी एक्सेस एक ऐसी प्रणाली है जिसके द्वारा एक उपकरण प्रत्येक डेटा को कॉपी किए बिना प्रोसेसर के मुख्य मेमोरी से या उसमें सीधे डेटा स्थानांतरित करता है, और I/O वर्चुअलाइजेशन उन तकनीकों का समूह है जो कई वर्चुअल मशीनों के बीच भौतिक I/O उपकरणों को सुरक्षित और कुशलता से प्रस्तुत और साझा करती हैं।
Scope
यह विषय प्रत्यक्ष मेमोरी एक्सेस (DMA) और I/O के वर्चुअलाइजेशन को शामिल करता है: DMA नियंत्रक थोक डेटा को कैसे स्थानांतरित करते हैं और पूर्णता का संकेत देते हैं, डिवाइस स्थानान्तरण के लिए पता अनुवाद और सुरक्षा में IOMMU की भूमिका, और डिवाइस अनुकरण, पैरा-वर्चुअलाइजेशन और हार्डवेयर-सहायता प्राप्त पासथ्रू जैसी वर्चुअल मशीनों के बीच उपकरणों को साझा करने की तकनीकें। यह कुशल और सुरक्षित डिवाइस डेटा मूवमेंट का इलाज करता है। इसमें बुनियादी डिवाइस नियंत्रण और इंटरप्ट (I/O आर्किटेक्चर और बसें) और स्टोरेज मीडिया (द्वितीयक स्टोरेज डिवाइस) शामिल नहीं हैं।
Core questions
- DMA प्रोसेसर को व्यस्त किए बिना थोक डेटा कैसे स्थानांतरित करता है?
- एक IOMMU डिवाइस स्थानान्तरण के लिए पता अनुवाद और सुरक्षा कैसे प्रदान करता है?
- वर्चुअल मशीनों के बीच भौतिक उपकरणों को सुरक्षित रूप से कैसे साझा किया जाता है?
- डिवाइस अनुकरण, पैरा-वर्चुअलाइजेशन और पासथ्रू के बीच क्या समझौते हैं?
Key concepts
- प्रत्यक्ष मेमोरी एक्सेस (DMA)
- DMA नियंत्रक और डिस्क्रिप्टर
- पूर्णता इंटरप्ट
- IOMMU और डिवाइस पता अनुवाद
- डिवाइस अनुकरण
- पैरा-वर्चुअलाइज्ड I/O
- डिवाइस पासथ्रू और SR-IOV
- अलगाव और सुरक्षा
Key theories
- प्रत्यक्ष मेमोरी एक्सेस
- एक DMA नियंत्रक एक डिवाइस और मेमोरी के बीच डेटा के ब्लॉक को स्वायत्त रूप से स्थानांतरित करता है, केवल पूर्णता पर प्रोसेसर को बाधित करता है, जो I/O को गणना के साथ ओवरलैप करता है और उच्च-थ्रूपुट डेटा मूवमेंट के लिए आवश्यक है।
Mechanisms
DMA स्थानांतरण के लिए प्रोसेसर स्रोत, गंतव्य और लंबाई के साथ एक नियंत्रक को प्रोग्राम करता है, फिर डिवाइस डेटा को स्थानांतरित करते समय और पूर्णता इंटरप्ट उत्पन्न करते समय अन्य कार्य जारी रखता है। एक IOMMU उन पतों का अनुवाद करता है जिनका उपयोग डिवाइस करते हैं और उनकी पहुंच को सीमित करता है, सुरक्षा प्रदान करता है और सुरक्षित पासथ्रू को सक्षम बनाता है। वर्चुअल मशीनें अनुकरणीय उपकरणों, पैरा-वर्चुअलाइज्ड ड्राइवरों, या प्रत्यक्ष हार्डवेयर पासथ्रू (जिसमें सिंगल-रूट I/O वर्चुअलाइजेशन शामिल है जो एक डिवाइस को कई वर्चुअल फ़ंक्शन प्रस्तुत करने देता है) के माध्यम से उपकरणों तक पहुंचती हैं।
Clinical relevance
DMA कुशल I/O के लिए मौलिक है, थोक स्थानान्तरण के दौरान प्रोसेसर को स्टोरेज और नेटवर्क उपकरणों से मुक्त करता है। I/O वर्चुअलाइजेशन क्लाउड कंप्यूटिंग और डेटा केंद्रों के लिए आवश्यक है, जहाँ कई वर्चुअल मशीनें भौतिक हार्डवेयर साझा करती हैं; IOMMU अलगाव प्रदान करता है जो साझाकरण और प्रत्यक्ष डिवाइस असाइनमेंट दोनों को सुरक्षित और तेज़ बनाता है।
History
प्रत्यक्ष मेमोरी एक्सेस का उपयोग शुरुआती कंप्यूटरों से प्रोसेसर से डेटा मूवमेंट को ऑफलोड करने के लिए किया जाता रहा है। जैसे-जैसे 2000 के दशक में वर्चुअलाइजेशन सर्वर और क्लाउड कंप्यूटिंग के लिए केंद्रीय हो गया, डिवाइस साझाकरण और प्रत्यक्ष असाइनमेंट को कुशल और सुरक्षित बनाने के लिए IOMMU और सिंगल-रूट I/O वर्चुअलाइजेशन जैसे हार्डवेयर समर्थन जोड़े गए।
Debates
- पासथ्रू प्रदर्शन बनाम लचीलापन
- प्रत्यक्ष डिवाइस पासथ्रू वर्चुअल मशीनों को लगभग-देशी I/O प्रदर्शन देता है लेकिन माइग्रेशन और ओवरसब्सक्रिप्शन के लिए लचीलेपन को कम करता है, जबकि अनुकरणीय या पैरा-वर्चुअलाइज्ड I/O अधिक लचीला लेकिन धीमा होता है; सिस्टम डिजाइनर अपने वर्कलोड के लिए इनका संतुलन बनाते हैं।
Key figures
- John L. Hennessy
- David A. Patterson
- Abraham Silberschatz
Related topics
Seminal works
- hennessy2019
- silberschatz2018
Frequently asked questions
- एक IOMMU क्या करता है?
- एक IOMMU उन पतों का अनुवाद करता है जिनका उपयोग डिवाइस DMA के दौरान भौतिक मेमोरी पतों में करते हैं और यह प्रतिबंधित करता है कि एक डिवाइस किस मेमोरी तक पहुंच सकता है। यह सुरक्षा और अलगाव प्रदान करता है — एक डिवाइस या ड्राइवर को मनमानी मेमोरी को दूषित करने से रोकता है — और वर्चुअल मशीनों को उपकरणों का सुरक्षित प्रत्यक्ष असाइनमेंट सक्षम बनाता है।
- प्रदर्शन के लिए DMA क्यों महत्वपूर्ण है?
- DMA के बिना प्रोसेसर को प्रत्येक शब्द को एक डिवाइस से या उसमें कॉपी करना होगा, जिससे चक्रों का उपभोग होगा और धीमी स्थानान्तरण पर रुकावट आएगी। DMA थोक डेटा मूवमेंट को एक समर्पित नियंत्रक पर ऑफलोड करता है, जिससे प्रोसेसर अन्य उपयोगी कार्य कर सकता है और केवल एक पूर्णता इंटरप्ट को संभाल सकता है।