• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Folding on ESXi, Does it work?

nowwhatnapster

Limp Gawd
2FA
Joined
Aug 9, 2009
Messages
406
Pretty straight forward question: Can you GPU/CPU fold via a Guest OS on a machine using ESXi as the host OS?
 
CPU folding works obviously. GPU won't because you will only have the "VMWare SVGA 2" Adapter in the VM-Guest.
 
Darn. I was hoping to do some VGA folding.

Does anyone know of something similar to ESXi that allows folding via guest OS?
 
Im not really sure about this, but maybe this can be done with XEN. I read something about "VGA pass-through" and mapping GPU's to VM's quite a while ago.

PS: XEN is a pita to set up - imo :)
 
Oh well. That was one of the major appeals of ESXi, it looked simple to setup.

I guess I will have to revert back to my original plan of having Windows as the Host OS so I can fold and run VM's
 
Oh well. That was one of the major appeals of ESXi, it looked simple to setup.

I guess I will have to revert back to my original plan of having Windows as the Host OS so I can fold and run VM's

As said before, works great with CPU folding, just not with GPU. I'm currently running around 20 folding VMs at the moment; 1 for each esxi server I have.
 
what you would need is a VM server software that would allow you to assign an entire PCI-Ex slot to a VM Client. We do pci slot based assignments on PowerVM for AIX all the time, it's quite simple there but I'm honestly not sure if either Xen based or ESX based will allow you to assign an entire PCI-Ex slot to an x86/64 client. To make this work you'd need to have two video adapters, one for the VM Host to use and the other to assign to the VM Client (assuming it'll allow you to assign the whole slot).
 
Going to necro this thread because I'm about to start testing some of this and it deserves a correct answer.

GPU support within a guest OS requires either virtualization of the GPU functions within the host OS, or allowing the guest OS to own the physical device. In client virtualization, or "hosted virtualization" in VMware terminology, this is reasonably straightforward, but not particularly performant. The virtualization of the GPU is accomplished by creating a para-virtualization device. Similar to what is done with advanced HBA's, a virtual GPU is created and installed in the guest OS and the virtual machine monitor maps driver calls to the para-virtualized device to physical calls within the host OS API/driver stack.

In hypervisor scenarios, there may or may not be a host OS to map to. In XEN, Windows HyperV, or other "slim hypervisor" scenarios, a "parent OS" partition is present which provides hardware support for the guest OS's running on the hypervisor. In this case, it is feasible that a similar approach to client virtualization could be taken. Microsoft acquired Calista for this purpose and Windows Server 2008 R2 SP1 HyperV allows GPU virtualization.

VMware ESX/ESXi are monolithic hypervisors married to a Linux based host OS. The drivers are compiled into the hypervisor which is why VMware is so picky with hardware. There is no native support for GPUs within VMware ESX/ESXi. Perhaps this is something, particularly with VDI, that VMware will be forced to tackle to stay competitive, but for now, instead ESXi relies on DirectPathIO.

DirectPath IO is simply direct mapping of a PCI/PCI-E device to a guest OS through the hypervisor. It is enabled by AMD-Vi and Intel VT-D. Both of these hardware virtualization technologies enabled IOMMU remapping which facilitates a guest OS taking direct control of a PCI-E device.

The catch is that *both* the CPU and chipset *must* support it, as well as the hypervisor, and the relationship is 1:1. There needs to be some major architectural change (in progress though) to the overall PC IO spec to allow sharing. For now, if a guest takes control of the PCI-E device, it is offline. The guest owns it. This means the host needs some alternate video device and any other guests would need their own dedicated GPU if pass through was required for them as well. Virtual display adapters would, of course, continue to function fine.

I worked at MSFT for 10 years and now work for VMware. VMware, in many ways, is far ahead of HyperV and, in many ways, the monolithic hypervisor model is superior, but flexibility in supporting hardware is one area where the parent/child approach of XEN/HyperV always had an advantage. It never mattered all that much, but GPU is one strong area where there is a big difference.

Net net... you can try ESXi 4.1 with DirectPath IO pass through of the GPU if your hardware has the capabilities and is supported. You can also give hyperv 2008 R2 SP1 a go as this is a free product also.
 
Good information, mlambert890. I have 2008 R2 on one of my boxen, so I might try HyperV with a secondary video card.

FYI, I installed SP1 on Windows 7, and it took about an hour and a couple reboots. Install it in between bigadv WUs, not while one is folding. :)
 
Curious whether or not the OP actually started folding on an ESXi machine and what his results are. I am looking to set up my server with ESXi (Xeon E3-1230, Supermicro board) and setup a guest OS with Ubuntu for BOINC projects (should work the same as F@H). Possible? Performance hits? I obviously would want to be able to throw all 8 threads at it as well. I am not planning on throwing many VM's at it. Just an OpenIndiana for ZFS and a Ubuntu VM.
 
Well i have my ESXi machine up and running, but I am not folding. i did not try to pass the vga card through to the guest OS, although it looked like there was an option to do so.

I am hosting a game server for some people so I am caring more for uptime and less for testing stuff out. I will keep the folding to my main PC for now I think.
 
Problem with the "free" version of ESXi is that it only supports 4CPU's in a VM so no bigadv, and there goes the point of using Linux in the first place. Plus the limitation of no GPU's

There is a trial version of ESXi that supports 8 cpu's but it reverts back to 4CPU's in a VM after the trial is over. (free license)

Yes if you have mega wonga you can get ESXi Enterprise licenses but then you might as well just buy 4CPU G34 boxen for maximum ppd :D

The other point of note is that its just not worth trying to do GPU + Vmware bigadv on the same boxen, the hit on bigadv is such that it almost equals the amount of points you get from the GPU, so you end up getting similar points output but much higher power usage because you have a gpu @100% plus a cpu @ 100%

Its the same on windows running gpu+bigadv isn't worth it imho.

VirtualBox supports 3D GPU but it might only be limited to OGL/Direct3D gaming stuff, not sure if it supports GPU processing
 
I am not really looking to folding in the rig, more of BOINC where it uses single threads typically so it would not be as big of a scaling/performance hit as F@H. I could always run multiple VM's of Ubuntu since thats the case. Does a CPU count as a thread or a core in a VM? I am guessing a thread but I want to double check.

I guess my biggest concern would be sharing of the resources. For instance if I ran OpenIndiana as the ZFS file server and shares, dedicated two cores to that and then started running a BOINC Ubuntu VM where I can dedicate the rest of the CPU to. Ideally I would not want those two OI cores sitting idle if I could have it be BOINCing at the same time.

I am not at all concerned about using the GPU. Really only the CPU. I can live with a 10-15% performance hit if need be.

I guess I am just trying to sort the logic out in my head.
 
Just set the OI VM to Normal or high priority and the BOINC VM to low priority and everything should be fine. I folded on ESXi and it works well. They can even share cores. So give 4 to BOINC and 4 to OI and it should be just fine. You can try a second BOINC vm and see where that goes.

Just make sure not to overallocate ram. So ram for VM's + ram overhead (usually 10% of what is on VM's) + ram for ESXi 2 gigs.

And be careful with disk space if you overallocate and it runs out all VM's stop and you have to delete stuff until they can start.

Good luck!
 
Just set the OI VM to Normal or high priority and the BOINC VM to low priority and everything should be fine. I folded on ESXi and it works well. They can even share cores. So give 4 to BOINC and 4 to OI and it should be just fine. You can try a second BOINC vm and see where that goes.

Just make sure not to overallocate ram. So ram for VM's + ram overhead (usually 10% of what is on VM's) + ram for ESXi 2 gigs.

And be careful with disk space if you overallocate and it runs out all VM's stop and you have to delete stuff until they can start.

Good luck!

Thank you. Thats what I like to hear. Do you have a similar setup or could you go into more detail on your exact setup? So what your telling me is I need to buy 8 more gigs of RAM;) Is there much of a performance hit at all?
 
Back
Top