Running Linux VM under Windows, performance hit?

Help with projects and applications, client configuration, system software tweaks.
The pinboard for cheat sheets.
Post Reply
User avatar
10esseetony
TAAT Member
Reactions:
Posts: 473
Joined: Sun Sep 15, 2019 7:02 pm

Running Linux VM under Windows, performance hit?

Post by 10esseetony »

I was wondering how much performance is left on the table, if you run Linux optimized tasks (Universe, for example), in a VM on a Win10 system?
I can't imagine a VM would use less than one full thread, at least?
Icecold
TAAT Member
Reactions:
Posts: 1447
Joined: Thu May 07, 2020 7:46 pm

Re: Running Linux VM under Windows, performance hit?

Post by Icecold »

I was wondering the exact opposite as well (not trying to derail your thread though). I was thinking of spinning up some Windows VM's to run Gerasim on my Linux machines.

I'll be curious to see if anybody tested the overhead involved with the VM's.

My PC is dual boot, I'm testing a Linux Mint 20 VM in Windows now, will reboot into native Linux after the tasks complete and post with results.
User avatar
pututu
TAAT Friend
Reactions:
Posts: 194
Joined: Thu Nov 05, 2020 11:12 pm

Re: Running Linux VM under Windows, performance hit?

Post by pututu »

I started with virtualbox and then switched to windows hyper-v. Did see some improvement due to hyper-v been closer to bare metal. See article here: https://www.makeuseof.com/tag/virtualbo ... s-hyper-v/. I ran Universe with Ubuntu 20.04 with hyper-V when I'm lazy to swap out the SSD. All my rigs are headless and non-server motherboard, so doing dual boot is not an option unless I've monitor and keyboard attached via KVM or other means.
Icecold
TAAT Member
Reactions:
Posts: 1447
Joined: Thu May 07, 2020 7:46 pm

Re: Running Linux VM under Windows, performance hit?

Post by Icecold »

pututu wrote: Sat Jan 02, 2021 8:20 pm I started with virtualbox and then switched to windows hyper-v. Did see some improvement due to hyper-v been closer to bare metal. See article here: https://www.makeuseof.com/tag/virtualbo ... s-hyper-v/. I ran Universe with Ubuntu 20.04 with hyper-V when I'm lazy to swap out the SSD. All my rigs are headless and non-server motherboard, so doing dual boot is not an option unless I've monitor and keyboard attached via KVM or other means.
I haven't tested Hyper-V or native Linux yet to compare, but running Universe in a Mint VM on Virtualbox is way faster than running it natively in Windows. I'm waiting for tasks to finish to get better info but it was clear right after starting them that it's probably at least 2-3 times faster.

I only dual boot on my primary machine so I can boot into Windows to play games, but I have considered looking into this - https://pikvm.org/ It would be really nice for troubleshooting issues, changing bios settings, etc. without needing to physically have a keyboard, mouse and monitor hooked up. It would let you select a dual boot option as well. I did buy an 8 port KVM as well but haven't set it up yet ,and it's not enough for all my machines so I'm not sure if I'll use it or not.
User avatar
10esseetony
TAAT Member
Reactions:
Posts: 473
Joined: Sun Sep 15, 2019 7:02 pm

Re: Running Linux VM under Windows, performance hit?

Post by 10esseetony »

@Icecold So....are you telling me to quit being so lazy and find out? :P

@pututu Oh cool! Thanks for that....not sure I know how to fully use VirtualBox just yet though! :D :D :D So is hyper-V a built in Windows thing? I do seem to recall news articles that MS made some massive improvements regarding Linux support...

The Beast [EPYC Rome] has just started 32 Windows threads, and 32 VM Mint 20 threads of NFS.

1.) It was winding down on some Rosetta tasks, running 22-24% CPU usage.
2.) When I started the VM, CPU usage went up about 2% (naturally, one thread in use).
3.) Once the VM/Mint20 fully booted, CPU usage dropped back down to 22-24%. Very nice. This looks promising.
4.) Once both Windows and Mint were running 32 tasks each, CPU usage was 96-98%. Uhm.... :?: These EPYC chips have extra cores! Just kidding.

epyc-bunker-1 started with 0 points.
The Beast (Windows) started with 311,220 points.

Now we wait 10-12 hours. Much longer if I forget I am running a test in the morning, when I awake. :D

Sadly I am still 80x more knowledgeable with Windows, vs any form of Linux. I am fortunate to be old enough to remember having to use DOS (wait, that's a good thing?), or I would be totally lost with the terminal usage, etc. My biggest downfall with Linux is that if something goes awry, I have NO idea how to fix it, so I reinstall.

I am hoping to reap the benefits of Linux, while being in my comfort zone. :)
User avatar
10esseetony
TAAT Member
Reactions:
Posts: 473
Joined: Sun Sep 15, 2019 7:02 pm

Re: Running Linux VM under Windows, performance hit?

Post by 10esseetony »

I am not sure UNIVERSE is a good test, since it is so well optimized for the Mint 20 (and other updated distro's) kernel. But it most certainly is promising to see the Linux VM under Windows still shows the speed bump associated with that kernel.

edit: I am not sure my testing methodology is any better, unless I run 50/50, then run straight windows, then run straight Linux, on the same box.
User avatar
10esseetony
TAAT Member
Reactions:
Posts: 473
Joined: Sun Sep 15, 2019 7:02 pm

Re: Running Linux VM under Windows, performance hit?

Post by 10esseetony »

Ah crap, I don't think I configured my VM with enough RAM to run NFS.....lemme go check and see how it is doing...might have to switch to....oh, Numberfields perhaps.
Icecold
TAAT Member
Reactions:
Posts: 1447
Joined: Thu May 07, 2020 7:46 pm

Re: Running Linux VM under Windows, performance hit?

Post by Icecold »

10esseetony wrote: Sat Jan 02, 2021 8:29 pm @Icecold So....are you telling me to quit being so lazy and find out? :P

@pututu Oh cool! Thanks for that....not sure I know how to fully use VirtualBox just yet though! :D :D :D So is hyper-V a built in Windows thing? I do seem to recall news articles that MS made some massive improvements regarding Linux support...

The Beast [EPYC Rome] has just started 32 Windows threads, and 32 VM Mint 20 threads of NFS.

1.) It was winding down on some Rosetta tasks, running 22-24% CPU usage.
2.) When I started the VM, CPU usage went up about 2% (naturally, one thread in use).
3.) Once the VM/Mint20 fully booted, CPU usage dropped back down to 22-24%. Very nice. This looks promising.
4.) Once both Windows and Mint were running 32 tasks each, CPU usage was 96-98%. Uhm.... :?: These EPYC chips have extra cores! Just kidding.

epyc-bunker-1 started with 0 points.
The Beast (Windows) started with 311,220 points.

Now we wait 10-12 hours. Much longer if I forget I am running a test in the morning. :D

Sadly I am still 80x more knowledgeable with Windows, vs any form of Linux. I am fortunate to be old enough to remember having to use DOS (wait, that's a good thing?), or I would be totally lost with the terminal usage, etc. My biggest downfall with Linux is that if something goes awry, I have NO idea how to fix it, so I reinstall.

I am hoping to reap the benefits of Linux, while being in my comfort zone. :)
Hyper-V is built into Windows. The one downfall though is that once you enable it you cannot use any other VM software on the machine. (at least that was the case a couple years ago when I used it last). That could cause issues with any BOINC project that requires Virtualbox. To enable it you need to bring up 'Turn Windows features on and off' (control panel --> programs and features --> 'turn windows features on and off') and enable Hyper-V and any subfolders under it.

I'm having some performance issues with the host OS, and am wondering if I shouldn't have done 23 threads on a 24 thread machine.

At least with a VM you can snapshot it or make a backup of the virtual disk, so that if you run into issues you can just revert the snapshot rather than reinstalling.
Icecold
TAAT Member
Reactions:
Posts: 1447
Joined: Thu May 07, 2020 7:46 pm

Re: Running Linux VM under Windows, performance hit?

Post by Icecold »

10esseetony wrote: Sat Jan 02, 2021 8:34 pm I am not sure UNIVERSE is a good test, since it is so well optimized for the Mint 20 (and other updated distro's) kernel. But it most certainly is promising to see the Linux VM under Windows still shows the speed bump associated with that kernel.
I guess other than GPU projects, I'm not sure that Linux gives a huge boost in performance outside of projects like Universe that are using certain libraries, etc. I have run ODLK on Windows and not noticed any big difference compared to my Linux machines.

Maybe a better test for me, more in line with my goal would to be to test Gerasim both natively in Windows and in a Windows VM :lol:
User avatar
10esseetony
TAAT Member
Reactions:
Posts: 473
Joined: Sun Sep 15, 2019 7:02 pm

Re: Running Linux VM under Windows, performance hit?

Post by 10esseetony »

Icecold wrote: Sat Jan 02, 2021 8:43 pm Maybe a better test for me, more in line with my goal would to be to test Gerasim both natively in Windows and in a Windows VM :lol:
You Ninja'd me on an edit I did above. :)
10esseetony wrote: Sat Jan 02, 2021 8:34 pm edit: I am not sure my testing methodology is any better, unless I run 50/50, then run straight windows, then run straight Linux, on the same box.
10esseetony wrote: Sat Jan 02, 2021 8:39 pm Ah crap, I don't think I configured my VM with enough RAM to run NFS.....lemme go check and see how it is doing...might have to switch to....oh, Numberfields perhaps.
Yep, NFS isn't going to work, waiting for memory issues on the VM. Switched to NFs on both.

NumberFields starting points:
The Beast (Windows): 778,625
epyc-bunker-1 (Mint 20): 151,375 Don't you just love how creative I am with my naming schemes? ;)

edit: NFS vs NFs.....that is not at all confusing, is it?
Icecold
TAAT Member
Reactions:
Posts: 1447
Joined: Thu May 07, 2020 7:46 pm

Re: Running Linux VM under Windows, performance hit?

Post by Icecold »

I think I need to test this not on my main machine since it's making it run kind of crappy (plus I'm influencing the results by using it while it runs), but it's the only one I have dual boot setup on.

So far all I've concluded is if you're running Universe, and all you have available is Windows it's definitely worth running it in a VM instead of natively. I'm going to try another project on another Windows machine here I'm not actively using.
User avatar
10esseetony
TAAT Member
Reactions:
Posts: 473
Joined: Sun Sep 15, 2019 7:02 pm

Re: Running Linux VM under Windows, performance hit?

Post by 10esseetony »

Personal NumberFields Sprint, Eleven hours later:

The Beast (Windows): 823,500 - 778,625 = 44,875
epyc-bunker-1 (Mint 20): 177,375 -151,375 = 26,000 (Oracle Virtualbox)

Wow. That is rather terrible. I expected it to be much more difficult to declare a winner. And it is opposite of what I was expecting, I was expecting Windows to take the hit, not the VM. Interesting.

Both clients are running 32 threads, but CPU usage shows at least two free threads, 96-98%. But not even two threads can account for the points hit the Linux VM took.
Icecold wrote: Sat Jan 02, 2021 9:09 pm ....it's making it run kind of crappy.....
Same here, it is as if I have changed my pointer to have 'mouse tails' lol. jerk-jerk-jerk-jerk
StefanR5R
TAAT Member
Reactions:
Posts: 1661
Joined: Wed Sep 25, 2019 4:32 pm

Re: Running Linux VM under Windows, performance hit?

Post by StefanR5R »

How well are Windows + VirtualBox balancing the load on a 64-thread SMT machine? If you have the time, try a similar test while SMT is disabled in the BIOS.

It is safe to say that virtualization comes with a mininum of performance hit when set up accordingly. The business of cloud providers depends on that. I haven't used virtualization myself yet though, apart from running vboxwrapper based DC applications.
User avatar
10esseetony
TAAT Member
Reactions:
Posts: 473
Joined: Sun Sep 15, 2019 7:02 pm

Re: Running Linux VM under Windows, performance hit?

Post by 10esseetony »

StefanR5R wrote: Sun Jan 03, 2021 9:03 am ....It is safe to say that virtualization comes with a mininum of performance hit when set up accordingly. The business of cloud providers depends on that....
I would imagine they are doing the opposite of what I am currently doing, running Linux then Windows/etc in a VM. But surely they would use SMT/hyper-threading?

***************************************************************************

Drag race #2, no hyper-threading.

NumberFields Starting points, 11am my time:

The-Beast : 829,125
epyc-bunker-1: 183,375

As a point of possible interest, hyper-threaded run times:
The Beast, native Win10: From 945 seconds to over 4800 seconds per task, 20 task avg: 3300 seconds
epyc-bunker-1, VM Mint 20: From 2000 seconds to over 7000 seconds per task, 19 task avg (one completed in 3 seconds?): 4650 seconds

edit: Side note: Windows BOINC client set to 50% tried to run all 32 threads, so I set it to 25% to get 16 threads. I will need to keep an eye on that to ensure it does not revert to 8 threads. Also CPU usage is 100% this time around.
Icecold
TAAT Member
Reactions:
Posts: 1447
Joined: Thu May 07, 2020 7:46 pm

Re: Running Linux VM under Windows, performance hit?

Post by Icecold »

My experience was similar, the Linux tasks ran like garbage compared to native Windows. I was waiting until the tasks validated to make sure the credit was similar, but with ODLK1 the Linux VM tasks took twice as long as native Windows for the same credit. I didn't turn off hyperthreading, but it was a 4 core/8 thread machine, so I ran the windows tasks with 50% of CPU's used, and then had setup the VM with 4 vCPU's.

I would be curious what the performance is with just a hypervisor, something like ESXi or Citrix Hypervisor or Hyper-V running(with nothing else) and then a Linux VM on there. I would expect that to be much closer to native performance, but I doubt I'd have time to test that soon.
User avatar
10esseetony
TAAT Member
Reactions:
Posts: 473
Joined: Sun Sep 15, 2019 7:02 pm

Re: Running Linux VM under Windows, performance hit?

Post by 10esseetony »

Holy smokes, it is far too early to be presenting data, but after less than 1 hour the linux VM is down to 1740 seconds (4650s with SMT/HT enabled) per 8 completed tasks. The native Windows has yet to finish a task. (tasks for both were downloaded simultaneously)


edit: looks like Linux got some 'lucky tasks', this will likely even out. I ran the first test for 11 hours, will report back about 10pm my time (11 hours, once again).
StefanR5R
TAAT Member
Reactions:
Posts: 1661
Joined: Wed Sep 25, 2019 4:32 pm

Re: Running Linux VM under Windows, performance hit?

Post by StefanR5R »

For performance comparisons, the fact that NumberFields is using fixed credits currently is nice. But the run time variations are huge. On a high-core-count CPU, half a day of testing time is certainly appropriate, but more than that may be necessary on low-core-count CPUs.

For quicker testing with NumberFields' GetDecics application, one would have to pick a specific workunit with a medium run time, and then figure out how to execute it offline outside of boinc for benchmarking.
Fardringle
TAAT Member
Reactions:
Posts: 643
Joined: Thu May 07, 2020 2:21 pm

Re: Running Linux VM under Windows, performance hit?

Post by Fardringle »

I have a Hyper-V VM running Linux Mint 20 on my 3900X computer running Windows 10. I have it mostly for projects that only work in Linux, so I haven't really tested projects directly in both Windows and Linux to see how they compare. I have the VM configured to allow access to all 24 cores/threads and dynamic RAM up to 20GB of the 32GB in the machine. BOINC itself is usually limited to 50% of the CPU and with most projects the VM doesn't actually use the full 20GB of RAM so it gives that RAM back to Windows. Doing it this way prevents the VM from taking too many resources, so I can still use the computer for normal computing and for gaming without having to stop the VM.

The only two projects that I have run in both native Windows and the VM are Universe and climateprediction.net.

Universe gets about 2-3 times as many credits per core in Linux as it does in Windows.

I haven't calculated the exact difference for climateprediction since tasks are scarce so I haven't had tasks from the same batch in both Windows and Linux much, but the Linux tasks I've had seem to take about 3-5 times as long to complete as the Windows tasks.

It might be worthwhile doing tests for a lot of different projects to see which ones work better in a VM and which ones don't.

Having Hyper-V enabled does make it so I can't run VirtualBox projects in Windows. Tasks will (sometimes) download if I try, but they immediately fail.
User avatar
10esseetony
TAAT Member
Reactions:
Posts: 473
Joined: Sun Sep 15, 2019 7:02 pm

Re: Running Linux VM under Windows, performance hit?

Post by 10esseetony »

Alright alright alright.....been 11 hours (almost), running with not SMT/HT, time for some numbers.

The-Beast (native Windows): 863,125-829,125= 34,000 points

epyc-bunker-1 (VM Mint 20): 204,125-183,375= 20,750 points

Again, a clear win for NOT using a VM (under windows), and now, for NOT disabling HT/SMT.
crashtech
TAAT Member
Reactions:
Posts: 1544
Joined: Sun Sep 15, 2019 4:45 pm
Location: Idaho, USA

Re: Running Linux VM under Windows, performance hit?

Post by crashtech »

I impetuously fired up an old existing Mint VM in Windows 10 based on some hints that running Numberfields in it might be worthy. Then Boinc manager quit working in it for some reason. Now I have installed boinctui and am manually aborting hundreds of NF WUs, apparently the client was set to download the maximum. What a shitshow, lol.
emoga
TAAT Member
Reactions:
Posts: 217
Joined: Sun Sep 15, 2019 8:23 pm

Re: Running Linux VM under Windows, performance hit?

Post by emoga »

crashtech wrote: Mon Jan 04, 2021 12:49 am Then Boinc manager quit working in it for some reason.
Did you try typing this into a terminal?

Code: Select all

boincmgr -m


I'd just restart the VM and try the code above again if it doesn't work the first time.
StefanR5R
TAAT Member
Reactions:
Posts: 1661
Joined: Wed Sep 25, 2019 4:32 pm

Re: Running Linux VM under Windows, performance hit?

Post by StefanR5R »

10esseetony wrote: Sun Jan 03, 2021 8:23 am Personal NumberFields Sprint, Eleven hours later:

The Beast (Windows): 823,500 - 778,625 = 44,875
epyc-bunker-1 (Mint 20): 177,375 -151,375 = 26,000 (Oracle Virtualbox)
1 : 0.58
StefanR5R wrote: Sun Jan 03, 2021 9:03 am How well are Windows + VirtualBox balancing the load on a 64-thread SMT machine? If you have the time, try a similar test while SMT is disabled in the BIOS.
10esseetony wrote: Sun Jan 03, 2021 9:57 pm Alright alright alright.....been 11 hours (almost), running with not SMT/HT, time for some numbers.

The-Beast (native Windows): 863,125-829,125= 34,000 points
epyc-bunker-1 (VM Mint 20): 204,125-183,375= 20,750 points
1 : 0.61

Not significantly better.

But this ratio only says how much of the production happened outside vs. inside the virtualized environment. It does not say anything about application performance.

For application performance, we need to know credits per CPU time.

Another data point to describe what went on during these tests would be the ratio of run time : CPU time. But this can be also be inferred when we know credits per CPU time if the run time inside and outside of the VM was about the same.

10esseetony wrote: Sun Jan 03, 2021 11:16 am I would imagine they are doing the opposite of what I am currently doing, running Linux then Windows/etc in a VM. But surely they would use SMT/hyper-threading?
It depends on the use case whether or not they use HyperThreading and SMT. It is generally used, unless it isn't desired for reasons of performance consistency, or security.

AFAIK they don't use a game launcher ;-) as hypervisor.

Icecold wrote: Sun Jan 03, 2021 11:50 am I would be curious what the performance is with just a hypervisor, something like ESXi or Citrix Hypervisor or Hyper-V running(with nothing else) and then a Linux VM on there. I would expect that to be much closer to native performance,
I agree. Although Windows and Linux should both be viable as hypervisor for purposes such as ours.
User avatar
10esseetony
TAAT Member
Reactions:
Posts: 473
Joined: Sun Sep 15, 2019 7:02 pm

Re: Running Linux VM under Windows, performance hit?

Post by 10esseetony »

Task run time and CPU time were within seconds of each other, regardless of OS, points are fixed at 125.
StefanR5R
TAAT Member
Reactions:
Posts: 1661
Joined: Wed Sep 25, 2019 4:32 pm

Re: Running Linux VM under Windows, performance hit?

Post by StefanR5R »

One more thing which I forgot to ask: Did you run a 32-bit Linux or a 64-bit Linux in the VM?


BTW, I browsed top_hosts.php just now and looked at the reported GFLOPS of "Get Decic Fields 4.00" of some computers with same CPU but Windows versus Linux. The GFLOPS were all over the place. Therefore, to find out whether this application performs the same on Windows and Linux when running on the bare metal, not inside a VM, one would need ones own dual-boot computer, or twin systems, and test in a controlled manner. :-|
User avatar
10esseetony
TAAT Member
Reactions:
Posts: 473
Joined: Sun Sep 15, 2019 7:02 pm

Re: Running Linux VM under Windows, performance hit?

Post by 10esseetony »

StefanR5R wrote: Mon Jan 04, 2021 9:49 am One more thing which I forgot to ask: Did you run a 32-bit Linux or a 64-bit Linux in the VM?....
32-bit....That is illegal in 39 states already, won't see me touching that! Also, from my recent trip to KY, I discovered that feeding livestock those large 1 ton round bales of hay is now illegal....the cows don't get a good square meal! :lol: :lol: :lol: (sorry if that doesn't translate, square meal is a colloquialism/phrase for a 'good meal'). [this entire paragraph is a joke, to convey that I used 64-bit]
Post Reply