Là lịch trình băng đảng được sử dụng bởi VMware là một nhược điểm nghiêm trọng?


15

Tôi đã đọc một số bài viết về kỹ thuật cũng như bài viết này về sự khác biệt giữa cách thức VMware và hyper v thực hiện lập lịch CPU.

Tôi đã tự hỏi nếu tôi có thể nhận được một số thông tin khách quan về điều này. Có vẻ như việc lập lịch trình băng đảng được sử dụng bởi VMware là một bất lợi lớn, nhưng tôi không muốn uống nước giải khát. Liệu nó có ảnh hưởng nghiêm trọng đến hiệu suất hoặc các lần lặp mới nhất của siêu thị của VMware giải quyết điều này không?

Chỉnh sửa: Khi tôi nói bất lợi tôi có nghĩa là liên quan đến "lập lịch xử lý miễn phí" của Hyper V hoặc tuy nhiên KVM thực hiện điều đó. Tài liệu tôi đang đọc không nói rằng có bất kỳ vấn đề nào với "lập lịch trình xử lý miễn phí" mà không thể tránh được với lập lịch băng đảng.


3
Lập lịch trình băng hoạt động tốt hơn đối với mã cũ chưa từng được kiểm tra đối với các bộ xử lý ảo có thể chạy ở tốc độ và / hoặc thời gian khác nhau.
Brian

Câu trả lời:


22

Giống như tụng Bloody Mary vào gương trong phòng tắm có ánh sáng tối, hãy xem liệu chúng ta có thể khiến Jake Oshins xuất hiện ...

Lập kế hoạch băng đảng cũng được gọi là đồng lập kế hoạch. Tôi nghĩ rằng VMware thích thuật ngữ đồng lập kế hoạch cho lập kế hoạch băng đảng.

Trong các phiên bản ESX trước phiên bản 3.x, VMware đã sử dụng lập kế hoạch "nghiêm ngặt", có nhược điểm đồng bộ hóa. Trong ESX 3.x trở lên, VMware đã chuyển sang lập kế hoạch "thư giãn".

Lập kế hoạch đồng thời thay thế lập kế hoạch đồng nghiêm ngặt trong ESX 3.x và đã được tinh chỉnh trong các phiên bản tiếp theo để đạt được mức sử dụng CPU tốt hơn và hỗ trợ các máy ảo đa bộ xử lý rộng. Đồng lập kế hoạch thư giãn có một vài thuộc tính đặc biệt so với thuật toán đồng lập lịch nghiêm ngặt. Quan trọng nhất trong tất cả, trong thuật toán đồng lập lịch chặt chẽ, sự tồn tại của vCPU bị trễ khiến toàn bộ máy ảo bị dừng lại. Trong thuật toán đồng lập lịch trình thoải mái, một vCPU hàng đầu quyết định liệu nó có nên tự dừng lại hay không dựa trên độ lệch so với vCPU anh chị em chậm nhất. Nếu độ lệch lớn hơn ngưỡng, vCPU hàng đầu sẽ tự dừng lại. Lưu ý rằng vCPU bị trễ là một trong những tiến trình ít hơn đáng kể so với vCPU anh chị em nhanh nhất, trong khi một vCPU hàng đầu là một trong những tiến bộ đáng kể hơn so với vCPU anh chị em chậm nhất. Bằng cách theo dõi vCPU anh chị em chậm nhất, giờ đây mỗi vCPU có thể đưa ra quyết định đồng lập kế hoạch của riêng mình một cách độc lập. Giống như đồng dừng, quyết định đồng khởi cũng được đưa ra riêng lẻ. Khi vCPU anh chị em chậm nhất bắt đầu tiến triển, các vCPU đồng dừng có đủ điều kiện để bắt đầu và có thể được lên lịch tùy thuộc vào tình trạng sẵn có của pCPU. Điều này giải quyết vấn đề phân mảnh CPU trong thuật toán đồng lập lịch nghiêm ngặt bằng cách không yêu cầu một nhóm vCPU được lên lịch cùng nhau. Trong ví dụ trước về máy ảo 4- vCPU, máy ảo có thể tiến triển ngay cả khi chỉ có sẵn một pCPU nhàn rỗi. Điều này cải thiện đáng kể việc sử dụng CPU. Bằng cách theo dõi vCPU anh chị em chậm nhất, giờ đây mỗi vCPU có thể đưa ra quyết định đồng lập kế hoạch của riêng mình một cách độc lập. Giống như đồng dừng, quyết định đồng khởi cũng được đưa ra riêng lẻ. Khi vCPU anh chị em chậm nhất bắt đầu tiến triển, các vCPU đồng dừng có đủ điều kiện để bắt đầu và có thể được lên lịch tùy thuộc vào tình trạng sẵn có của pCPU. Điều này giải quyết vấn đề phân mảnh CPU trong thuật toán đồng lập lịch nghiêm ngặt bằng cách không yêu cầu một nhóm vCPU được lên lịch cùng nhau. Trong ví dụ trước về máy ảo 4- vCPU, máy ảo có thể tiến triển ngay cả khi chỉ có sẵn một pCPU nhàn rỗi. Điều này cải thiện đáng kể việc sử dụng CPU. Bằng cách theo dõi vCPU anh chị em chậm nhất, giờ đây mỗi vCPU có thể đưa ra quyết định đồng lập kế hoạch của riêng mình một cách độc lập. Giống như đồng dừng, quyết định đồng khởi cũng được đưa ra riêng lẻ. Khi vCPU anh chị em chậm nhất bắt đầu tiến triển, các vCPU đồng dừng có đủ điều kiện để bắt đầu và có thể được lên lịch tùy thuộc vào tình trạng sẵn có của pCPU. Điều này giải quyết vấn đề phân mảnh CPU trong thuật toán đồng lập lịch nghiêm ngặt bằng cách không yêu cầu một nhóm vCPU được lên lịch cùng nhau. Trong ví dụ trước về máy ảo 4- vCPU, máy ảo có thể tiến triển ngay cả khi chỉ có sẵn một pCPU nhàn rỗi. Điều này cải thiện đáng kể việc sử dụng CPU. Khi vCPU anh chị em chậm nhất bắt đầu tiến triển, các vCPU đồng dừng có đủ điều kiện để bắt đầu và có thể được lên lịch tùy thuộc vào tình trạng sẵn có của pCPU. Điều này giải quyết vấn đề phân mảnh CPU trong thuật toán đồng lập lịch nghiêm ngặt bằng cách không yêu cầu một nhóm vCPU được lên lịch cùng nhau. Trong ví dụ trước về máy ảo 4- vCPU, máy ảo có thể tiến triển ngay cả khi chỉ có sẵn một pCPU nhàn rỗi. Điều này cải thiện đáng kể việc sử dụng CPU. Khi vCPU anh chị em chậm nhất bắt đầu tiến triển, các vCPU đồng dừng có đủ điều kiện để bắt đầu và có thể được lên lịch tùy thuộc vào tình trạng sẵn có của pCPU. Điều này giải quyết vấn đề phân mảnh CPU trong thuật toán đồng lập lịch nghiêm ngặt bằng cách không yêu cầu một nhóm vCPU được lên lịch cùng nhau. Trong ví dụ trước về máy ảo 4- vCPU, máy ảo có thể tiến triển ngay cả khi chỉ có sẵn một pCPU nhàn rỗi. Điều này cải thiện đáng kể việc sử dụng CPU. máy ảo có thể tiến triển ngay cả khi chỉ có sẵn một pCPU nhàn rỗi. Điều này cải thiện đáng kể việc sử dụng CPU. máy ảo có thể tiến triển ngay cả khi chỉ có sẵn một pCPU nhàn rỗi. Điều này cải thiện đáng kể việc sử dụng CPU.

Đoạn mã trên là từ tài liệu riêng của VMware .

Vì vậy, VMware không sử dụng lập kế hoạch băng đảng nghiêm ngặt nữa. Tôi sẽ coi tài liệu trực tiếp từ nhà cung cấp là có thẩm quyền hơn.

Điều duy nhất sẽ cung cấp cho bạn các số cứng là điểm chuẩn và nó sẽ hoàn toàn phụ thuộc vào loại mã mà CPU đang chạy. Nhưng tôi có thể nói với bạn rằng nếu VMware gặp bất lợi như vậy, thì họ vẫn sẽ không có thị phần ảo trong thị trường ảo hóa.


Vui mừng tôi hỏi. Đây có vẻ là một chút mánh khóe tiếp thị theo cách tôi thấy nó được giải thích trong các tài liệu / bài viết dựa trên MS.
red888

8
Các phiên bản ESX trước năm 2006 đã ở thế bất lợi so với Hyper-V (về mặt lập lịch CPU ít nhất) được phát hành vào năm 2008. Nếu bất kỳ ai bị sốc bởi điều này, họ đáng bị thu hồi thẻ geek.
Chris S

Vì vậy, nếu tôi cài đặt MSDOS đơn luồng (duh!) Trong máy ảo 16 lõi, mỗi chu kỳ CPU của máy ảo sẽ không khóa 16 lõi trên máy chủ, mà chỉ có một pCPU? Điều này, và không phải tốc độ của CPU, là nhược điểm chính của lập kế hoạch băng đảng.
dyasny

"Lập lịch trình băng đảng chặt chẽ hơn so với lập kế hoạch" - liên kết - ở đây, lập lịch trình băng đảng không được gọi là lập kế hoạch đồng. Hãy xem xét tôi bối rối!
Robin

16

Được rồi, Ryan, bạn đã làm cho ngày của tôi. Tôi không đọc diễn đàn này nhiều như trước đây, nhưng tôi tình cờ đăng nhập.

Red888, bạn nên biết trước rằng tôi là một kiến ​​trúc sư phần mềm làm việc trên Hyper-V tại Microsoft. Tôi cho rằng hầu hết mọi người đọc cái này hoàn toàn có khả năng nhấp vào liên kết tên của tôi bên dưới cái này và khám phá ra điều đó, hoặc thậm chí là làm cho tôi biết, nhưng đối với câu trả lời này, thật hữu ích khi những người đọc nó không nghi ngờ gì về quan điểm của tôi.

Nói chung, lập lịch băng nhóm là hữu ích nếu nhà ảo thuật không có cách nào ảnh hưởng đến hành vi của HĐH chạy trong VM. Tất nhiên, đây là lý do tại sao VMware bắt đầu theo cách này. Họ không sở hữu bất kỳ hệ điều hành nào và vì vậy mục tiêu của họ là làm cho các hệ điều hành hiện tại hoạt động tốt. Nếu tôi là họ, đây là nơi tôi sẽ bắt đầu.

Lập lịch trình băng đảng và VMware có thể sẽ nói rằng tôi đúng về điều này, để lại nhiều hạn chế về cách bạn có thể sử dụng các bộ xử lý vật lý trong máy. Nhà ảo thuật thường không thể tìm thấy tài nguyên phù hợp vào lúc này. Vì vậy, họ đã sửa đổi thuật toán của mình qua nhiều năm, tìm cách để lên lịch làm việc hiệu quả hơn.

Microsoft (và có lẽ một số công ty khác) đã bắt đầu với một cái nhìn khác. Chúng tôi sở hữu Windows. Chúng ta sẽ làm cho Windows hoạt động tốt khi được ảo hóa. Và do đó lập kế hoạch băng đảng sẽ không cần thiết. Chúng tôi thậm chí sẽ không bận tâm để xây dựng một lịch trình băng đảng.

Thật thú vị, tại Microsoft chúng tôi quan tâm nhiều hơn về Windows chạy tốt so với các hệ điều hành khác so với việc chúng tôi quan tâm đến Hyper-V trông tốt hơn VMware, hoặc KVM, hoặc Xen, hoặc Oracle hoặc Unisys, v.v. Vì vậy, chúng tôi đã xuất bản các giao diện mà Windows sử dụng để hợp tác với một siêu giám sát. Đây là một liên kết nếu bạn tò mò, mặc dù tôi không khuyên bạn nên đọc nó khi đi ngủ:

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

Vì vậy, bất kỳ nhà cung cấp dịch vụ ảo hóa nào cũng có thể tiết lộ những thứ sẽ kích hoạt hành vi hợp tác từ Windows. Một số trong số họ có. Tôi thực sự không biết nếu VMware có, hoặc không, hoặc sẽ phơi bày điều này. Bạn phải hỏi họ hoặc ai đó chú ý đến họ. Và nếu họ làm như vậy, tôi sẽ rất ngạc nhiên nếu họ không sửa đổi lịch trình của mình để thư giãn hơn nữa. Đó là tuyên bố cuối cùng, tất nhiên, là đầu cơ thuần túy.

Vì vậy, câu trả lời mấu chốt của tôi là tôi nghi ngờ rằng bạn nên đưa ra quyết định mua hàng vào năm 2014 dựa trên cách hoạt động của bộ lập lịch trình ảo hóa. Tôi nghi ngờ rằng tất cả chúng bây giờ khá tốt. Một vài năm trước, điều đó có thể không đúng.

Bạn nên thử khối lượng công việc của mình trên các hệ thống khác nhau và xem cách chúng hoạt động. Tôi sẽ đặt cược hiệu suất cuối cùng của bạn là liệu bộ nhớ và mạng của bạn có đáp ứng nhu cầu của bạn hay không.


Đó là thông tin. Tôi chỉ đọc về những thứ này và đặt câu hỏi thông qua sự tò mò học thuật
red888

4
Woohoo, Bloody Mary của tôi đã làm việc! : D Luôn luôn tốt khi thấy bạn dừng lại.
Ryan Ries
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.