Jako projektant systemu operacyjnego całkowicie zgadzam się z wynikami pomiarów. Ilość bzdur produkowanych gdzie indziej na ten temat jest niewiarygodna.
Zobacz liczbę rdzeni logicznych jako liczbę równoległych wątków / procesów, które może wykonać HW. Osiąga się to poprzez powielanie np. Rejestrów i wskaźników instrukcji rdzenia procesora. Sam rdzeń procesora decyduje teraz, którego wątku (wskaźnika instrukcji) użyć. Zdecyduje się użyć drugiego wątku, ponieważ instrukcja bieżącego wątku nie jest dostępna w pamięci podręcznej i musi zostać pobrana z np. Pamięci lub pamięci podręcznej L3. Ten mechanizm spowoduje 10–30% potencjalną poprawę instrukcji / sekund lub wydajności procesora.
Jeśli uruchomisz pojedynczą aplikację z jednym wątkiem, nie będziesz mógł skorzystać z tej korzyści, ale jeśli uruchomisz dwie aplikacje o wysokim obciążeniu na np. Starym HT Pentium, będziesz mógł czerpać korzyści. To samo dotyczy oczywiście aplikacji, które mają więcej niż jeden wątek. Mój system Linux ma 200 wątków, więc niektóre korzyści zależne od faktycznego obciążenia są zawsze obecne. Wszystkie te uwagi mają zastosowanie bez wirtualizacji.
Virtualbox ogranicza tylko liczbę wątków, które mogą być uruchomione równolegle dla każdej maszyny wirtualnej (VM), ale program planujący procesy hosta zmieni procesor (y) logiczne, a tym samym procesor (y) fizyczny, na których procesy maszyny wirtualnej działają dynamicznie. Jeśli uruchomisz aplikacje o wysokim obciążeniu na maszynie wirtualnej, dodatkowe rdzenie logiczne zapewnią tę samą korzyść w wysokości 10–30%. Obciążenie może być pojedynczą aplikacją wielowątkową lub zestawem różnych aplikacji.
W nowoczesnych systemach z VT-x lub AMD-V nie ma ograniczenia wydajności dla maksymalizacji liczby rdzeni logicznych, ponieważ nie ma też zauważalnej utraty wydajności dla uruchamiania większej liczby maszyn wirtualnych w tym samym czasie. Ograniczeniem jest wydajność procesora CPU, więc nie można renderować wideo na 3 maszynach jednocześnie, bez spowalniania każdej maszyny wirtualnej, ponieważ muszą one dzielić ten sam fizyczny procesor.
System hosta może przestać odpowiadać, jeśli renderujesz wideo na maszynie wirtualnej z obecnymi wszystkimi rdzeniami logicznymi, ale miałbyś prawie ten sam problem, gdybyś uruchomił tę aplikację renderującą na hoście. Przynajmniej w VM masz wybór i możesz go rozwiązać, ograniczając maksymalne obciążenie procesora do 80% -90% lub zmniejszając liczbę rdzeni z tego powodu.