Máy chủ Quad Core với siêu phân luồng, có bao nhiêu bộ xử lý để cấu hình trong VirtualBox?


10

Tôi có bộ xử lý i7 lõi ​​tứ với siêu phân luồng (8 lõi logic), khi tôi định cấu hình máy ảo để sử dụng 8 bộ xử lý, VirtualBox đã cho tôi một cảnh báo rằng tôi chỉ có bốn lõi (điều này là đúng) và điều này có thể gây ra vấn đề hiệu suất. Nhưng siêu phân luồng là một tính năng phần cứng, do đó, HĐH nhìn thấy 8 lõi và nó sẽ gửi hướng dẫn cho tất cả 8. Điều gì xảy ra nếu đặt nó thành 4 khiến VM sử dụng 2 lõi (4 luồng) thay vì 4 luồng đồng thời (trên cả 4 lõi )? Có cảnh báo tôi đã đưa vào tài khoản rằng máy của tôi có siêu phân luồng?

Câu trả lời:


9

Dựa trên điểm chuẩn được thực hiện bởi Kristian Wedberg tôi sẽ nói bạn nên sử dụng tất cả các lõi logic mà bạn có.
Ngoài ra, tôi đã thực hiện điểm chuẩn của riêng mình bằng cách sử dụng cùng CPU (i7, CPU 4 với HT) để xác nhận tăng hiệu suất cho các ứng dụng đa luồng. Nếu PC khách (Win. 8.1 x64) sử dụng tất cả 8 lõi, thì PC chủ (Ubuntu x64) cũng sử dụng tất cả 8 lõi.

nhập mô tả hình ảnh ở đây

Tôi cũng so sánh hiệu suất trong các ứng dụng đơn luồng. Trong cả hai trường hợp, tôi đều đo cùng một giá trị để không bị phạt khi sử dụng nhiều hơn số lượng CPU vật lý (nhưng tối đa logic).
Ở đây bạn có thể thấy rằng 1 CPU tải đầy đủ trong PC khách sẽ dẫn đến 1 tải CPU trong PC chủ.

nhập mô tả hình ảnh ở đây


Đã đồng ý. Tôi đã sử dụng 4 lõi và thấy nó chỉ mất khoảng 50% thời gian CPU khi xây dựng dự án của tôi. Sau đó, bất chấp cảnh báo, tôi đã thay đổi thành 8, đó là số lõi hợp lý, quá trình xây dựng đã chiếm 100% thời gian CPU và tôi tin rằng nó chạy nhanh hơn trước.
De Khánh

Điều này khá thú vị, tôi nhớ rằng Linux đặc biệt cố gắng tập trung tải vào 1 lõi logic từ mỗi lõi HT vật lý để tăng hiệu quả. Tôi tự hỏi liệu nhân Linux khách có nhận thấy CPU siêu phân luồng hay không và tối ưu hóa lịch trình của nó cho loại cấu hình đó.
Anthony

8

Tôi thấy rằng mặc dù có thể (và có thể nhanh hơn) trong VirtualBox (kinh nghiệm của tôi là với phiên bản 5.1.0) để phân bổ vCPU cho VM dựa trên bộ xử lý logic, người ta có thể gặp sự cố bên trong HĐH khách khi chạy ở mức tải cao . Trong trường hợp của tôi, máy ảo Windows 2012 R2 có 12 vCPU trên máy chủ Ubuntu 16.04 lõi 8 (báo cáo 16 bộ xử lý logic) sẽ BSOD trong khi tải CPU cao với thông báo lỗi DPC_WATCHDOG_VIOLATION. Một phân tích nhỏ bằng osronline.com cho thấy e1g6032e.sys (trình điều khiển mạng Intel 100/1000 có nguồn gốc từ Windows) là nguyên nhân của vi phạm.

Điều này khiến tôi tin rằng thời gian bên trong HĐH khách bị ảnh hưởng tiêu cực khi phân bổ vCPU dựa trên dung lượng bộ xử lý logic và chạy VM ở mức tải cao trong thời gian dài. Trong trường hợp của tôi, tải CPU 100% bên trong Windows VM trong vài phút sẽ dẫn đến BSOD. Sau khi giảm số lượng vCPU xuống còn 8 (tương ứng với số lượng lõi vật lý của máy chủ), Windows VM không còn BSOD nữa trong các tình huống tải cao tương tự. Các tài liệu trực tuyến từ VirtualBox nói ta nên làm điều này, nhưng không đưa ra bất kỳ lý do.

Trong môi trường của tôi cũng có hai máy ảo Ubuntu khác đang chạy, mỗi máy có 8 vCPU riêng. Tuy nhiên, tải cho chúng rất ít tại thời điểm xảy ra sự cố BSOD của Windows VM.


Câu trả lời tuyệt vời (có nguồn), cảm ơn! Một vài năm muộn màng, nhưng bây giờ tôi biết :)
Anthony

2

Có cảnh báo tôi đã đưa vào tài khoản rằng máy của tôi có siêu phân luồng?

Đúng. Nếu bạn đặt số lượng lõi trong VM lớn hơn số lượng vật lý bạn có, quy trình lập lịch tác vụ trong Hộp ảo sẽ cam kết tài nguyên CPU, dẫn đến các vấn đề hiệu năng lớn.

Đối với việc phân phối tải trên các lõi, đó là công việc của HĐH máy chủ và nên hành xử đúng cách.


4
Bạn có bất kỳ dữ liệu để hỗ trợ báo cáo của bạn? Ai đó đã thực hiện một nghiên cứu envobi.com/post/virtualbox-hyper-threading-benchmark-surprise và họ khuyên bạn nên thiết lập số lượng CPU Virtual Box cho số lượng CPU logic .
Maxim Egorushkin

0

Đây có phải là máy ảo gốc cho máy của bạn không? Đôi khi bạn sẽ gặp phải các lỗi đặc biệt nếu bạn sao chép VM và di chuyển nó sang một máy khác và / hoặc thay đổi cài đặt.
Tôi khuyên bạn nên tải xuống và cài đặt phiên bản Virtual Box mới nhất với các tiện ích mở rộng mới nhất.

Tôi đã cam kết tất cả tám lõi và tôi không nhận được lỗi đó với i7 của tôi đang chạy VM với Ubuntu 13.10.

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.