VMware tarafından kullanılan çete çizelgesi ciddi bir dezavantaj mı?


15

Bazı technet makaleleri yanı sıra okuyordu bu bir işlemci zamanlama yapıyor şekilde VMware ve hiper v arasındaki farklılıklar bakımından.

Bu konuda objektif bilgi alıp alamayacağımı merak ediyordum. VMware tarafından kullanılan çete çizelgesinin BÜYÜK bir dezavantaj olduğu görülüyor, ancak sadece coolaid içmek istemiyorum. Performansı ciddi şekilde etkiliyor mu veya VMware'in hiper vizörlerinin en son yinelemeleri bunu çözüyor mu?

Düzenleme: Dezavantaj dediğimde Hyper V "serbest işlemci zamanlama" ya da KVM göreceli demek. Okuduğum materyal, "serbest işlemci çizelgeleme" ile çete çizelgelemesinden kaçınılan herhangi bir sorun olduğunu söylemedi.


3
Çete planlama, farklı hızlarda ve / veya zamanlarda çalışabilecek sanal işlemcilere karşı hiç test edilmemiş eski kodlar için daha iyi davranır.
Brian

Yanıtlar:


22

İlahi gibi Bloody Mary bir karanlık aydınlatılmış banyo aynasına, biz göstermek için Jake Oshins alabilirsiniz bakalım ...

Çete çizelgelemesi aynı zamanda eş çizelgeleme olarak da adlandırılır. Sanırım VMware, çete çizelgeleme için birlikte çizelgeleme terimini tercih ediyor.

Sürüm 3.x'ten önceki ESX sürümlerinde, VMware eşitleme dezavantajlarına sahip olan "katı" eş zamanlama kullandı. ESX 3.x ve üstü sürümlerde VMware, "rahat" eş zamanlı programlamaya geçti.

Rahat birlikte programlama, ESX 3.x'teki katı birlikte programlamanın yerini aldı ve daha iyi CPU kullanımı ve geniş çok işlemcili sanal makineleri desteklemek için sonraki sürümlerde rafine edildi. Rahat birlikte programlama, katı birlikte programlama algoritmasına kıyasla birkaç ayırt edici özelliğe sahiptir. Hepsinden önemlisi, katı eş zamanlı programlama algoritmasında, gecikmeli bir vCPU'nun bulunması, tüm sanal makinenin birlikte durdurulmasına neden olur. Rahat birlikte programlama zamanlama algoritmasında, önde gelen bir vCPU en yavaş kardeş vCPU'ya karşı eğime dayanarak kendini durdurup durdurmayacağına karar verir. Eğriltme bir eşik değerden büyükse, önde gelen vCPU kendini durdurur. Gecikmeli bir vCPU'nun en hızlı kardeş vCPU'dan önemli ölçüde daha az ilerleme kaydeden bir olduğunu unutmayın, önde gelen bir vCPU ise en yavaş kardeş vCPU'dan önemli ölçüde daha fazla ilerleme kaydeden bir vCPU'dur. En yavaş kardeş vCPU'yu izleyerek, artık her vCPU'nun kendi ortak programlama kararını bağımsız olarak vermesi mümkün. Co-stop gibi, co-start kararı da ayrı ayrı verilir. En yavaş kardeş vCPU ilerlemeye başladığında, birlikte durdurulmuş vCPU'lar birlikte başlatılabilir ve pCPU kullanılabilirliğine bağlı olarak programlanabilir. Bu, bir grup vCPU'ların birlikte programlanmasını gerektirmeyerek katı eş zamanlı programlama algoritmasındaki CPU parçalanması sorununu çözer. 4-vCPU sanal makinenin önceki örneğinde, sanal makine yalnızca bir boş pCPU olsa bile ileri ilerleme sağlayabilir. Bu, CPU kullanımını önemli ölçüde geliştirir. En yavaş kardeş vCPU'yu izleyerek, artık her vCPU'nun kendi ortak programlama kararını bağımsız olarak vermesi mümkün. Co-stop gibi, co-start kararı da ayrı ayrı verilir. En yavaş kardeş vCPU ilerlemeye başladığında, birlikte durdurulmuş vCPU'lar birlikte başlatılabilir ve pCPU kullanılabilirliğine bağlı olarak programlanabilir. Bu, bir grup vCPU'ların birlikte programlanmasını gerektirmeyerek katı eş zamanlı programlama algoritmasındaki CPU parçalanması sorununu çözer. 4-vCPU sanal makinenin önceki örneğinde, sanal makine yalnızca bir boş pCPU olsa bile ileri ilerleme sağlayabilir. Bu, CPU kullanımını önemli ölçüde geliştirir. En yavaş kardeş vCPU'yu izleyerek, artık her vCPU'nun kendi ortak programlama kararını bağımsız olarak vermesi mümkün. Co-stop gibi, co-start kararı da ayrı ayrı verilir. En yavaş kardeş vCPU ilerlemeye başladığında, birlikte durdurulmuş vCPU'lar birlikte başlatılabilir ve pCPU kullanılabilirliğine bağlı olarak programlanabilir. Bu, bir grup vCPU'ların birlikte programlanmasını gerektirmeyerek katı eş zamanlı programlama algoritmasındaki CPU parçalanması sorununu çözer. 4-vCPU sanal makinenin önceki örneğinde, sanal makine yalnızca bir boş pCPU olsa bile ileri ilerleme sağlayabilir. Bu, CPU kullanımını önemli ölçüde geliştirir. En yavaş kardeş vCPU ilerlemeye başladığında, birlikte durdurulmuş vCPU'lar birlikte başlatılabilir ve pCPU kullanılabilirliğine bağlı olarak programlanabilir. Bu, bir grup vCPU'ların birlikte programlanmasını gerektirmeyerek katı eş zamanlı programlama algoritmasındaki CPU parçalanması sorununu çözer. 4-vCPU sanal makinenin önceki örneğinde, sanal makine yalnızca bir boş pCPU olsa bile ileri ilerleme sağlayabilir. Bu, CPU kullanımını önemli ölçüde geliştirir. En yavaş kardeş vCPU ilerlemeye başladığında, birlikte durdurulmuş vCPU'lar birlikte başlatılabilir ve pCPU kullanılabilirliğine bağlı olarak programlanabilir. Bu, bir grup vCPU'ların birlikte programlanmasını gerektirmeyerek katı eş zamanlı programlama algoritmasındaki CPU parçalanması sorununu çözer. 4-vCPU sanal makinenin önceki örneğinde, sanal makine yalnızca bir boş pCPU olsa bile ileri ilerleme sağlayabilir. Bu, CPU kullanımını önemli ölçüde geliştirir. yalnızca bir boş pCPU olsa bile sanal makine ileri ilerleme sağlayabilir. Bu, CPU kullanımını önemli ölçüde geliştirir. yalnızca bir boş pCPU olsa bile sanal makine ileri ilerleme sağlayabilir. Bu, CPU kullanımını önemli ölçüde geliştirir.

Yukarıdaki snippet, VMware'in kendi belgelerinden alınmıştır .

Bu yüzden VMware artık sıkı çete zamanlaması kullanmıyor. Belgeleri doğrudan satıcıdan daha yetkili olarak değerlendiririm.

Size sabit sayılar verecek tek şey bir kıyaslamadır ve tamamen CPU'ların çalıştığı kod türlerine bağlı olacaktır. Ama size söyleyebilirim ki, VMware böyle bir dezavantajdaysa, sanallaştırma pazarında hala aslan payına sahip olmayacaklardı.


Sordum sevindim. Bu MS tabanlı dokümanlar / makaleler açıkladı gördüğüm şekilde bir pazarlama manevra biraz gibi görünüyor.
red888

8
2006'dan önceki ESX sürümleri, 2008'de piyasaya sürülen Hyper-V (en azından CPU zamanlaması açısından) ile karşılaştırıldığında dezavantajlıydı. Bu durumdan şok olan biri varsa geek kartlarının iptal edilmesini hak ediyor.
Chris S

Yani, 16 çekirdekli bir VM'ye tek iş parçacıklı (duh!) MSDOS yüklersem, VM'nin her CPU döngüsü ana bilgisayarda 16 çekirdeği kilitlemez, sadece bir pCPU? Bu, CPU'ların hızı değil, çete planlamasının ana dezavantajıdır.
6yas14

"Çete çizelgeleme, ortak çizime göre daha katıdır" - bağlantı - burada, çete çizelgeleme birlikte çizelgeleme olarak adlandırılmaz. Kafamı bir düşünün!
Robin

16

Tamam, Ryan, sen benim günümü yaptın. Bu forumu eskisi kadar okumadım ama check-in yaptım.

Red888, Microsoft'ta Hyper-V üzerinde çalışan bir yazılım mimarı olduğumu önceden bilmelisiniz. Bunu okuyan çoğu insanın, bunun altındaki ad bağlantımı tıklayıp bunu keşfetmesini, hatta beni Googling'i mükemmel bir şekilde yapabildiğini varsayıyorum, ancak bu cevap için bunu okuyan insanların bakış açımdan şüphe etmediğinden tamamen emin olmak yararlıdır.

Genel olarak, hiper denetimcinin VM içinde çalışan işletim sisteminin davranışını etkilemesinin bir yolu yoksa, çete planlama yararlıdır. Elbette, VMware bu şekilde başladı. Herhangi bir işletim sistemine sahip değiller ve bu yüzden amaçları mevcut işletim sistemlerinin iyi çalışmasını sağlamaktı. Eğer onlar olsaydım, buradan başlardım.

Çete planlama ve VMware muhtemelen bu konuda doğru olduğumu söyleyebilir, makinedeki fiziksel işlemcileri nasıl kullanabileceğiniz konusunda birçok sınırlama bırakır. Hipervizör çoğu zaman o ana uygun kaynağı bulamıyor. Bu yüzden algoritmalarını yıllar içinde değiştirdiler ve daha iyi iş planlaması yapmanın yollarını aradılar.

Microsoft (ve muhtemelen birkaç başka şirket) farklı bir görüşle başladı. Windows sahibiyiz. Sanallaştırıldığında Windows'un iyi davranmasını sağlayacağız. Ve böylece çete planlama gerekli olmayacak. Bir çete zamanlayıcısı oluşturmak için bile uğraşmayacağız.

İlginç bir şekilde, Microsoft'ta Hyper-V'nin VMware veya KVM veya Xen veya Oracle veya Unisys vb. bir hipervizörle işbirliği yapmak için kullanır. Merak ediyorsanız bir bağlantı, ancak yatmadan okuma olarak önermiyorum:

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

Bu nedenle, herhangi bir hipervizör satıcısı, Windows'dan işbirliği davranışını tetikleyecek olan şeyleri ortaya çıkarabilir. Birçoğu var. Dürüst olmak gerekirse, VMware'in bunu ortaya koyduğunu, ya da ifşa edip etmediğini bilmiyorum. Onlara sormalısın, ya da onlara çok dikkat eden biri. Ve eğer yaparlarsa, programlayıcılarını daha da rahatlamak için değiştirmemiş olsaydı çok şaşırırdım. Bu son ifade elbette saf spekülasyon.

Sonuç olarak, 2014'te hipervizör zamanlayıcısının nasıl çalıştığına bağlı olarak bir satın alma kararı vermeniz gerektiğinden şüphe duyuyorum. Şimdiye kadar hepsinin oldukça iyi olduğundan şüpheleniyorum. Birkaç yıl önce, bu doğru olmayabilir.

İş yüklerinizi çeşitli sistemlerde denemeli ve nasıl çalıştıklarını görmelisiniz. Bahse girerim ki nihai performansınız, depolama ve ağınızın ihtiyaçlarınızı karşılayıp karşılamadığına bağlıdır.


Bu bilgi için. Ben sadece bu şeyleri okuyordum ve akademik merakla soruyu sordum
red888

4
Woohoo, Bloody Mary'm çalıştı! : D Her zaman uğradığını görmek güzel.
Ryan Ries
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.