क्या वीएमवेयर द्वारा गैंग शेड्यूलिंग एक गंभीर खामी है?


15

मैं कुछ तकनीकी लेख पढ़ रहा था और साथ ही यह VMware और हाइपर वी कर रही सीपीयू शेड्यूलिंग के बीच के अंतर के बारे में था।

मैं सोच रहा था कि क्या मुझे इस पर कुछ उद्देश्य जानकारी मिल सकती है। ऐसा लगता है कि VMware द्वारा उपयोग किया जाने वाला गिरोह शेड्यूलिंग एक बड़ा नुकसान है, लेकिन मैं सिर्फ कूलड पीना नहीं चाहता। क्या यह गंभीरता से प्रदर्शन को प्रभावित करता है या VMware के हाइपर विज़र्स के नवीनतम पुनरावृत्तियों को हल करता है?

संपादित करें: जब मैं कहता हूं कि मैं हाइपर वी के "फ्री प्रोसेसर शेड्यूलिंग" के सापेक्ष नुकसान का मतलब है या फिर केवीएम करता है। जिस सामग्री को मैं पढ़ रहा था, वह यह नहीं कहती थी कि "मुफ्त प्रोसेसर शेड्यूलिंग" के साथ कोई समस्या थी जो गिरोह के समय निर्धारण से बचा जाता है।


3
गिरोह का समय निर्धारण पुराने कोड के लिए बेहतर व्यवहार करता है जिसे कभी भी वर्चुअल प्रोसेसर के खिलाफ परीक्षण नहीं किया गया था जो अलग-अलग गति और / या समय पर चल सकता है।
ब्रायन

जवाबों:


22

ब्लडी मैरी को एक अंधेरे में जले बाथरूम के शीशे में जपते हुए , आइए देखें कि क्या हम जेक ओशिन को दिखा सकते हैं ...

गिरोह समय-निर्धारण को सह-समय-निर्धारण भी कहा जाता है। मुझे लगता है कि VMware सह समय-निर्धारण को गिरोह निर्धारण के लिए प्राथमिकता देता है।

संस्करण 3.x से पहले ईएसएक्स संस्करणों में, वीएमवेयर ने "सख्त" सह-समय-निर्धारण का उपयोग किया, जिसमें सिंक्रनाइज़ेशन कमियां थीं। ESX 3.x और इसके बाद के संस्करण में, VMware ने "आराम" सह-शेड्यूलिंग पर स्विच किया।

आराम से सह-शेड्यूलिंग ने ESX 3.x में सख्त सह-शेड्यूलिंग को बदल दिया और बेहतर CPU उपयोग को प्राप्त करने और व्यापक मल्टीप्रोसेसर वर्चुअल मशीनों का समर्थन करने के लिए बाद की रिलीज़ में परिष्कृत किया गया है। आराम से सह-शेड्यूलिंग में सख्त सह-शेड्यूलिंग एल्गोरिदम की तुलना में कुछ विशिष्ट गुण हैं। सबसे महत्वपूर्ण बात यह है कि कड़े सह-शेड्यूलिंग एल्गोरिदम में, एक लैगिंग वीसीपीयू के अस्तित्व के कारण पूरे वर्चुअल मशीन को सह-रोक दिया जाता है। आराम से सह-शेड्यूलिंग एल्गोरिथ्म में, एक प्रमुख vCPU यह तय करता है कि उसे सबसे धीमी sibling vCPU के विरुद्ध तिरछा के आधार पर स्वयं को सह-बंद करना चाहिए या नहीं। यदि तिरछा तिरछा से अधिक है, तो अग्रणी vCPU स्वयं बंद हो जाता है। ध्यान दें कि एक लैगिंग वीसीपीयू वह है जो सबसे तेज सिबलिंग वीसीपीयू की तुलना में काफी कम प्रगति करता है, जबकि एक प्रमुख वीसीपीयू वह है जो सबसे धीमी गति से चलने वाले वीसीपीयू की तुलना में काफी अधिक प्रगति करता है। सबसे धीमे भाई vCPU को ट्रैक करके, अब प्रत्येक vCPU के लिए स्वतंत्र रूप से अपना सह-शेड्यूलिंग निर्णय करना संभव है। सह-रोक की तरह, सह-प्रारंभ निर्णय भी व्यक्तिगत रूप से किया जाता है। एक बार जब सबसे धीमी गति से चलने वाला वीसीपीयू प्रगति करना शुरू कर देता है, तो सह-रोका गया वीसीपीयू सह-प्रारंभ के योग्य होता है और इसे पीसीपीयू उपलब्धता के आधार पर निर्धारित किया जा सकता है। यह CPU सह-निर्धारण एल्गोरिथ्म में CPU विखंडन समस्या को हल करता है, जिसमें vCPUs के समूह को एक साथ निर्धारित करने की आवश्यकता नहीं होती है। 4- vCPU वर्चुअल मशीन के पिछले उदाहरण में, वर्चुअल मशीन आगे की प्रगति कर सकती है, भले ही केवल एक निष्क्रिय pCPU उपलब्ध हो। यह CPU उपयोग में महत्वपूर्ण सुधार करता है। सबसे धीमे भाई vCPU को ट्रैक करके, अब प्रत्येक vCPU के लिए स्वतंत्र रूप से अपना सह-शेड्यूलिंग निर्णय करना संभव है। सह-रोक की तरह, सह-प्रारंभ निर्णय भी व्यक्तिगत रूप से किया जाता है। एक बार जब सबसे धीमी गति से चलने वाला वीसीपीयू प्रगति करना शुरू कर देता है, तो सह-रोका गया वीसीपीयू सह-प्रारंभ के योग्य होता है और इसे पीसीपीयू उपलब्धता के आधार पर निर्धारित किया जा सकता है। यह CPU सह-निर्धारण एल्गोरिथ्म में CPU विखंडन समस्या को हल करता है, जिसमें vCPUs के समूह को एक साथ निर्धारित करने की आवश्यकता नहीं होती है। 4- vCPU वर्चुअल मशीन के पिछले उदाहरण में, वर्चुअल मशीन आगे की प्रगति कर सकती है, भले ही केवल एक निष्क्रिय pCPU उपलब्ध हो। यह CPU उपयोग में महत्वपूर्ण सुधार करता है। सबसे धीमे भाई vCPU को ट्रैक करके, अब प्रत्येक vCPU के लिए स्वतंत्र रूप से अपना सह-शेड्यूलिंग निर्णय करना संभव है। सह-रोक की तरह, सह-प्रारंभ निर्णय भी व्यक्तिगत रूप से किया जाता है। एक बार जब सबसे धीमी गति से चलने वाला वीसीपीयू प्रगति करना शुरू कर देता है, तो सह-रोका गया वीसीपीयू सह-प्रारंभ के योग्य होता है और इसे पीसीपीयू उपलब्धता के आधार पर निर्धारित किया जा सकता है। यह CPU सह-निर्धारण एल्गोरिथ्म में CPU विखंडन समस्या को हल करता है, जिसमें vCPUs के समूह को एक साथ निर्धारित करने की आवश्यकता नहीं होती है। 4- vCPU वर्चुअल मशीन के पिछले उदाहरण में, वर्चुअल मशीन आगे की प्रगति कर सकती है, भले ही केवल एक निष्क्रिय pCPU उपलब्ध हो। यह CPU उपयोग में महत्वपूर्ण सुधार करता है। एक बार जब सबसे धीमी गति से चलने वाला वीसीपीयू प्रगति करना शुरू कर देता है, तो सह-रोका गया वीसीपीयू सह-प्रारंभ के योग्य होता है और इसे पीसीपीयू उपलब्धता के आधार पर निर्धारित किया जा सकता है। यह CPU सह-निर्धारण एल्गोरिथ्म में CPU विखंडन समस्या को हल करता है, जिसमें vCPUs के समूह को एक साथ निर्धारित करने की आवश्यकता नहीं होती है। 4- vCPU वर्चुअल मशीन के पिछले उदाहरण में, वर्चुअल मशीन आगे की प्रगति कर सकती है, भले ही केवल एक निष्क्रिय pCPU उपलब्ध हो। यह CPU उपयोग में महत्वपूर्ण सुधार करता है। एक बार जब सबसे धीमी गति से चलने वाला वीसीपीयू प्रगति करना शुरू कर देता है, तो सह-रोका गया वीसीपीयू सह-प्रारंभ के योग्य होता है और इसे पीसीपीयू उपलब्धता के आधार पर निर्धारित किया जा सकता है। यह CPU सह-निर्धारण एल्गोरिथ्म में CPU विखंडन समस्या को हल करता है, जिसमें vCPUs के समूह को एक साथ निर्धारित करने की आवश्यकता नहीं होती है। 4- vCPU वर्चुअल मशीन के पिछले उदाहरण में, वर्चुअल मशीन आगे की प्रगति कर सकती है, भले ही केवल एक निष्क्रिय pCPU उपलब्ध हो। यह CPU उपयोग में महत्वपूर्ण सुधार करता है। वर्चुअल मशीन आगे की प्रगति कर सकती है, भले ही केवल एक निष्क्रिय pCPU उपलब्ध हो। यह CPU उपयोग में महत्वपूर्ण सुधार करता है। वर्चुअल मशीन आगे की प्रगति कर सकती है, भले ही केवल एक निष्क्रिय pCPU उपलब्ध हो। यह CPU उपयोग में महत्वपूर्ण सुधार करता है।

उपरोक्त स्निपेट VMware के स्वयं के प्रलेखन से है

इसलिए VMware अब सख्त गिरोह निर्धारण का उपयोग नहीं कर रहा है। मैं विक्रेता से सीधे अधिक आधिकारिक होने के रूप में प्रलेखन का इलाज करेगा।

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


खुशी है कि मैंने पूछा। ऐसा लगता है कि मैंने जिस तरह से इसे एमएस आधारित डॉक्स / लेखों में बताया है, वह मार्केटिंग का एक सा हिस्सा है।
2188 पर red888

8
2006 से पहले ईएसएक्स के संस्करण हाइपर-वी की तुलना में नुकसान में थे (कम से कम सीपीयू शेड्यूलिंग के संदर्भ में) जो 2008 में जारी किया गया था। अगर किसी को भी इससे झटका लगता है, तो वे अपने गीक कार्ड को रद्द कर देते हैं।
क्रिस एस

इसलिए, अगर मैं 16-कोर VM में सिंगल-थ्रेडेड (duh!) MSDOS स्थापित करता हूं, तो VM का प्रत्येक CPU चक्र होस्ट पर 16 कोर लॉक नहीं करेगा, लेकिन केवल एक pCPU? यह, और सीपीयू की गति नहीं, गिरोह निर्धारण का मुख्य दोष है।
डायसनी

"गैंग शेड्यूलिंग coscheduling की तुलना में सख्त है" - लिंक - यहां, गिरोह समय-निर्धारण को सह-शेड्यूलिंग के रूप में संदर्भित नहीं किया गया है। मुझे भ्रमित समझो!
रॉबिन

16

ठीक है, रयान, तुमने मेरा दिन बना दिया। मैं इस मंच को उतना नहीं पढ़ता जितना मैं इस्तेमाल करता था, लेकिन मैं जांच करने के लिए हुआ।

Red888, आपको पता होना चाहिए कि मैं एक सॉफ़्टवेयर वास्तुकार हूं जो Microsoft में हाइपर-वी पर काम करता है। मुझे लगता है कि इसे पढ़ने वाले अधिकांश लोग इसके नीचे दिए गए मेरे नाम लिंक पर क्लिक करने और इसकी खोज करने, या यहां तक ​​कि मुझे Googling करने में पूरी तरह से सक्षम हैं, लेकिन इस जवाब के लिए यह पूरी तरह से उपयोगी है कि इसे पढ़ने वाले लोगों को मेरे परिप्रेक्ष्य के बारे में कोई संदेह नहीं है।

सामान्य तौर पर, गैंग शेड्यूलिंग उपयोगी है यदि हाइपरवाइजर के पास VM के भीतर चल रहे OS के व्यवहार को प्रभावित करने का कोई तरीका नहीं है। यह, ज़ाहिर है, क्यों VMware इस तरह से शुरू किया। वे किसी भी ऑपरेटिंग सिस्टम के मालिक नहीं हैं और इसलिए उनका लक्ष्य मौजूदा ऑपरेटिंग सिस्टम को अच्छी तरह से काम करना था। अगर मैं वे होते, तो यह वह जगह होती, जहां से मैंने शुरुआत की होती।

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

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

दिलचस्प बात यह है कि, हम Microsoft पर अन्य ऑपरेटिंग सिस्टम की तुलना में अच्छी तरह से चलने वाले विंडोज के बारे में अधिक ध्यान रखते हैं, जैसे कि हम हाइपर-वी की परवाह करते हैं, वीएमवेयर, या केवीएम, या एक्सएन, या ओरेकल, या यूनिसिस, आदि की तुलना में बेहतर दिखते हैं, इसलिए हमने उन इंटरफेस को प्रकाशित किया है जो विंडोज हाइपरवाइजर के साथ सहयोग करने के लिए उपयोग करता है। यदि आप उत्सुक हैं, तो यहां एक लिंक है, हालांकि मैं इसे पढ़ने के रूप में सुझाता नहीं हूं:

http://www.bing.com/search?q=Hypervisor+Top-Level+Functional+Specification+3.0a%3A+Windows+Server+2012&src=IE-SearchBox&FORM=IESR02

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

तो मेरा लब्बोलुआब यह है कि मुझे संदेह है कि आपको हाइपरवाइजर शेड्यूलर के काम करने के आधार पर 2014 में खरीदारी का फैसला करना चाहिए। मुझे संदेह है कि वे अब तक बहुत अच्छे हैं। कुछ साल पहले, यह सच नहीं था।

आपको विभिन्न प्रणालियों पर अपने कार्यभार का प्रयास करना चाहिए और देखना चाहिए कि वे कैसे काम करते हैं। मुझे यकीन है कि आपका अंतिम प्रदर्शन नीचे आ जाएगा कि क्या आपका भंडारण और नेटवर्किंग आपकी आवश्यकताओं को पूरा करता है।


वह जानकारी के लिए है। मैं सिर्फ इस सामान के बारे में पढ़ रहा था और अकादमिक जिज्ञासा के माध्यम से सवाल पूछा
red888

4
वाहो, मेरी ब्लडी मैरी ने काम किया! : D हमेशा आपको देखकर रुक जाता है।
रायन राइस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.