• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Notfred's VM Appliance + VMWare Player Guide

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

PeddlerOfFlesh

Member
Joined
Jan 10, 2009
Location
Northern California
OK, this is my first attempt at a guide, so it may be missing stuff and I'm certain it will be ugly (at least to start). There seems to have been a lot of interest in this, but a lot of questions. Here goes.

How to set up Notfred's VMWare Virtual Appliance with VMWare Player.

1. Obtain and install VMWare Player. (VMWare) (Filehippo) Filehippo doesn't require registration. I think the only option during install is the install directory. Other than that, any good firewall will probably pop up asking if you want to allow the newly added virtual network cards to have access to your computer or LAN. Make sure you allow these.

2. Obtain the virtual appliance image. (link)

3. Open the zip containing folding.vmdk and folding.vmx. Extract these to whatever directories you want to use, say C:\folding\vm for example. If you have a quadcore and are planning to use 2 VMs with static IP addresses (suggested, for monitoring purposes), name it something like vm1 and make a copy of it and call the second directory vm2. If you are using DHCP you can copy it AFTER you make the configuration changes in step 8.

4. (Optional) for management purposes, you may want to change the name of the VM. Right click on the .vmx file and open it with wordpad. Where it says displayName = "Folding@Home", you can change what is in the quotes to whatever you want to help you keep track of which is which if you have a quadcore and are running 2 VMs. You need to do this for both directories.

5. You can now run the virtual machine by double clicking the .vmx file or by opening it through VMWare Player. (My virtual machines randomly stopped working by opening the .vmx file and I now have to run VMWare Player as Administrator, then open the virtual machine) At this point it will boot up and detect your architechture and launch the appropriate configuration. Assuming it has access to the internet1, it will download what it needs and start folding (under notfred's username).

6. When the VM boots up, take note of the IP address given on the console. Now go to your web browser and go to http://<IP address of VM>. It will bring up the status page. Click "Reconfigure this host and any USB drives". This page is where you will configure your VM.

7. Configure it however you'd like. Remember to change the username and team! Here are some of the options that might not be obvious.
  • SMP Instance per - This is how many CPUs to use. I don't think there's any point in using more than 2, as VMWare Player won't use them.
  • Remote Reboot - This enables a link on the status page that will let you reboot the machine.
  • Install to USB drives on boot - When the VM boots it will try to install to a USB drive for use on another computer or on the same computer for diskless folding. I've never messed with this, so I don't know if it works.
  • Console blank time - Simply blanks the VM's window.
  • Windows Networking - This will enable samba file sharing on the VM, so you can browse its files from the computer it's running on.
  • Login shell - This enables you to login from the VM to run commands. It's very limited and you probably won't need it, but it doesn't hurt to enable it.

8. Click reconfigure. It will tell you it has to reboot. Let it do its thing. After a few seconds it will be back up and folding under your name. You can double check this on the console in the area marked in blue on the picture below.

9. Repeat 4 - 9 if you have another static IP VM to set up. If you used DHCP, now would be the time to make a copy of the first VM and get it up and running.

10. (Optional, but suggested) You may want to set the priority to vmware-vmx.exe to low. It may provide a slightly higher PPD yield from the GPU2 clients, especially if they require more than 1-2% CPU. It will also make it less likely to bog down the rest of your computer. If running GPU2 clients, you should also set their priority to slightly higher via the GPU2 client (not task manager) if you haven't already.

11. (Optional, but suggested) To avoid loss of data, you should set your virtual machines to go into a suspend state when closed, rather than powering down. To do this, go to "VMWare Player" at the top of the VMWare Player window, go to "Preferences..." and change the option of "When exiting:" to "Suspend the virtual machine" if the radio button is not already in that position. Now when you hit the X in the upper right hand corner it will take a minute to to save the machine's state to your hard drive for restoration later. Keep in mind that having them shut off for too long can make you miss the deadline! I have about a 12 hour window for having them shut off on my Q6600.

1 If it doesn't have access to the internet, try switching between bridged and NAT and rebooting the VM. You can switch between bridged and NAT by right clicking the two computes in the bottom of the VMWare Player window. This is circled in red in the image below. Also make sure your firewall is allowing it out. It will probably ask you if you want to allow it's virtual network cards when you install VMWare Player.

Some visual clarification:
notfred-tut.jpg


Monitoring with FahMon

1. Download Fahmon, if you don't have it already. You can get 2.3.99+ here.

2. In the main window right click "Add a client". Fill in the name as whatever you'd like to describe it. I find it helpful to use the name I gave it with displayName= in step 4.

3. In the location box you can either use the IP (if it's static) or the client's hostname. To find the host name you can either look at the console, or go to the client's built in webpage. This name will be something like FOLD-XXXX. In the location box enter \\<either the IP, or the hostname>\c\etc\folding\1\

4. Check the box that says "Client is on a Virtual Machine" and click OK.

5. (Optional) You may want to go to FahMon -> Preferences -> Monitoring and check the "Ignore Asynchronous Clocks" option if you are still having problems with it saying it is hung.

Common Problems

1. You get something like this:
Code:
hda1: rw=1, want 2094840, limit 2088387
attempt to access beyond end of device

This seems to happen to everybody. It doesn't seem to cause any real problems. notfred knows about this and may be working on a fix. A few people have said their PPD has gone down after it happened, but any ill effects are not known for sure.

2. You get an out of RAM error. This crashes your folding core and you have to reboot the VM. Unless you move up the RAM, this can happen again.

To increase the amount of RAM, go to VMWare Player on the title bar of the VMWare Player, then go to Troubleshoot, then Change Memory Allocation. At minimum I would use 864, but some people have said it requires more. It has also been reported that being a multiple of 32 helps. Then go to the configuration webpage and reboot the virtual machine. NOTE: this doesn't seem to actually use up more RAM. What it DOES seem to do is increase the size limit of the .vmem file in your folding directory. If your system doesn't have much RAM, don't be afraid to move this up.​

3. You lose work when powering off your Virtual Machine.

P
OK, now the information for the guide is here. I just gotta look at other people's guides to get an idea how to pretty it up.​
 
Last edited:
Seems easy enough... I think I will go ahead and switch from the winsmp client to this linux/vmware config. I know the points boost will be pretty significant on 3 Quads. Thanks for the guide
 
Alas... I still can't monitor these rigs correctly with FahMon. :( It just shows up as *Hung* even though it's still running. :(

Yes, I have "Ignore Async Clocks" checked. ;)

I need a single app to monitor all my clients at a glance. Checking them all manually is a pain == not an option. I need to find the time (and energy) to build my own monitoring app. FahMon is beginning to be more of a headache than a friendly tool anymore.

If anyone can get FahMon to monitor these notfred virtual appliances correctly, I'm all ears. :)

Oh, and last but certainly not least...

@Peddler- very nice guide. :)
 
Alas... I still can't monitor these rigs correctly with FahMon. :( It just shows up as *Hung* even though it's still running. :(

Yes, I have "Ignore Async Clocks" checked. ;)

I need a single app to monitor all my clients at a glance. Checking them all manually is a pain == not an option. I need to find the time (and energy) to build my own monitoring app. FahMon is beginning to be more of a headache than a friendly tool anymore.

If anyone can get FahMon to monitor these notfred virtual appliances correctly, I'm all ears. :)

Oh, and last but certainly not least...

@Peddler- very nice guide. :)

Have you tried a SVN build? I used to have problems before I started using SVN builds. I have a build up here if you wanna try it. It adds the option to mark the machine as a virtual machine, which I think is what fixed it. It also adds HTTP monitoring, which works with notfreds.

Also, fahmon is open source. If you can improve it, I'm sure uncle_fungus would appreciated the help.
 
Alas... I still can't monitor these rigs correctly with FahMon. :( It just shows up as *Hung* even though it's still running. :(

Yes, I have "Ignore Async Clocks" checked. ;)

I need a single app to monitor all my clients at a glance. Checking them all manually is a pain == not an option. I need to find the time (and energy) to build my own monitoring app. FahMon is beginning to be more of a headache than a friendly tool anymore.

If anyone can get FahMon to monitor these notfred virtual appliances correctly, I'm all ears. :)


Point your notfreds Diskless or your Notfreds VM to EG- \\192.168.XX.XXX\C\etc\folding\1\

Yellow IP to that of the Machine client is set up for and you should be good to go

@PeddlerOfFlesh --- yeah I think that is also the version fahmon 2.3.4 I have too
 
Have you tried a SVN build? I used to have problems before I started using SVN builds. I have a build up here if you wanna try it. It adds the option to mark the machine as a virtual machine, which I think is what fixed it. It also adds HTTP monitoring, which works with notfreds.

Also, fahmon is open source. If you can improve it, I'm sure uncle_fungus would appreciated the help.

Yes and no... I'm using an older v2.3.3svn build I got from a member of OCAU. He actually posted about it here many months ago and I picked it up then. The distribution v2.3.4 just sucks... so I've just stuck with my older svn version.

I'll definitely try the version you've got linked. If I can mark it as a VM and it be happy, then that will deter my future efforts for a bit... although I've already started work on the log parsing code. ;)

As far as helping improve the current code... I'm just not a C++ guy. I'm a C# guy. Meaning, it's not that I'm C++ illiterate... I do some C++ for work purposes (very limited), but I don't really enjoy it very much- nor would I be happy coding C++ full time. So, if I'm going to take the time to work on a monitoring utility, then I'm going to use the language I enjoy. Blame it on my college education... when I went through school they shoved Java down our throats (~10 years ago)... so I took a liking to working in a managed memory environment.

Point your notfreds Diskless or your Notfreds VM to EG- \\192.168.XX.XXX\C\etc\folding\1\

Yellow IP to that of the Machine client is set up for and you should be good to go

@PeddlerOfFlesh --- yeah I think that is also the version fahmon 2.3.4 I have too

Well... that's how I have it setup now silly. ;) It must just work correctly with this newer svn version you guys have. Which is exactly what I'm looking for. :) Now we'll just have to see if this version is good at handling 15~20 clients, as the distribution 2.3.4 just chokes on all my clients.
 
If you have not, give Fahspy a go. Works here for monitoring diskless, vm & gpu folding. With Fahmon depending on the time of day i check vm's will show hung when they have not and yes, I have "Ignore Async Clocks" checked also.
 
Now we'll just have to see if this version is good at handling 15~20 clients, as the distribution 2.3.4 just chokes on all my clients.

I have been running 2.3.4 svn rev 478 for about 2 weeks monitoring 40 instances on my home network.
 
When I ever I finish a WU on one of my pc's I'm goin to give this a shot. More PPD is always a good thing :D
 
I agree. Very nice job and hopefully this will encourage more people to try VM/SMP folding, since it gives more PPD. With MPC on our tails, we need all the points we can get.

Yep hopefully most of us will use vm/smp folding. It would really help us keeping the number 3 spot.


When I ever I finish a WU on one of my pc's I'm goin to give this a shot. More PPD is always a good thing :D

More PPD is always a good thing.. :D



I will try this also and compare it with my xubuntu VM after I finish the current WU.
 
Please do let us know how it compares. I'm curious myself.

Me too. I don't see how it'd make much of a difference production wise. Just with simplicity setting it up. I suppose not having the other background processes running in the VM could slightly improve performance.

I'm also interested in seeing how much of a production boost you guys are getting from setting them up. Mustanely, have you got yours set up? I'd like to see the difference with your 12 cores.

I wish I could do this on my Q8200 :(. Stupid lack of VT...
 
Back