Page 1 of 1

Running Linux VM under Windows, performance hit?

Posted: Sat Jan 02, 2021 6:40 pm
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?

Re: Running Linux VM under Windows, performance hit?

Posted: Sat Jan 02, 2021 6:46 pm
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sat Jan 02, 2021 8:20 pm
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sat Jan 02, 2021 8:24 pm
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sat Jan 02, 2021 8:29 pm
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. :)

Re: Running Linux VM under Windows, performance hit?

Posted: Sat Jan 02, 2021 8:34 pm
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sat Jan 02, 2021 8:39 pm
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sat Jan 02, 2021 8:41 pm
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sat Jan 02, 2021 8:43 pm
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:

Re: Running Linux VM under Windows, performance hit?

Posted: Sat Jan 02, 2021 8:47 pm
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?

Re: Running Linux VM under Windows, performance hit?

Posted: Sat Jan 02, 2021 9:09 pm
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sun Jan 03, 2021 8:23 am
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

Re: Running Linux VM under Windows, performance hit?

Posted: Sun Jan 03, 2021 9:03 am
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sun Jan 03, 2021 11:16 am
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sun Jan 03, 2021 11:50 am
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sun Jan 03, 2021 11:54 am
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).

Re: Running Linux VM under Windows, performance hit?

Posted: Sun Jan 03, 2021 12:41 pm
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sun Jan 03, 2021 12:47 pm
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Sun Jan 03, 2021 9:57 pm
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Mon Jan 04, 2021 12:49 am
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Mon Jan 04, 2021 1:17 am
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Mon Jan 04, 2021 1:48 am
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.

Re: Running Linux VM under Windows, performance hit?

Posted: Mon Jan 04, 2021 7:14 am
by 10esseetony
Task run time and CPU time were within seconds of each other, regardless of OS, points are fixed at 125.

Re: Running Linux VM under Windows, performance hit?

Posted: Mon Jan 04, 2021 9:49 am
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. :-|

Re: Running Linux VM under Windows, performance hit?

Posted: Mon Jan 04, 2021 6:22 pm
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]