Increase the PPD - set up SMP
This is a guide to setting up VMWare server to run a 64-bit linux OS, from within Windows; allowing us folders to run the 64-bit Linux SMP (ie, multi-core/multi-CPU) client without the dangers/hassle of a full linux install or dual boot.
Why?
Because the SMP folding client can provide greater points yeild for contributors like you and me, & also helps Stanford run different projects at a greater speed than the standard windows client alone.
You will need...
- A dual core, 64-bit enabled CPU - with VT enabled on Intels (eg C2D e6x00, AMD x2, Pentium D 9x0) Check compatibilty using Tools provided at VMWare if unsure; I personally have only used C2D's & have only read about the usability of other CPU's so far. Recommend 1Gb RAM imo.
- Windows installed.
- VMWare Server installed http://www.vmware.com/products/server/ (register to receive serial codes for this product, which is free & unrestricted) :)
- A copy of a 64-bit Linux OS, of your choice, on bootable media (eg CD, or even as a raw ISO).
- Some time, a couple of hours should cover it, depending on your familiarity with VMware, Linux, and the folding client.
- I would suggest a reasonable DSL-like internet connection, as these are large units & the upload can take some time on slower connections.
VMWare Setup
So you've got the serials & installed VMWare, now we need to configure the Virtual PC that our linux distribution will run in. VMWare Server is generally very straightforward to use, create a Virtual Machine via the wizard, hit play to turn it on, and install an OS as if your were sat in front of any normal PC :) Create a new Virtual Machine and follow the steps to suit your needs. I used the following options:
- Created a hard disk of 10Gb, allocated space now (this took a few minutes).
- 512Mb RAM Available to the Virtual Machine.
- Bridged Networking - enables the Virtual machine to gain a DHCP IP like any real machine on my network. ** NAT is recommended if you have issues with Bridged Networking, or if your PC is connected direcetly to the internet. **
- CDrom enabled, no floppy or sound enabled. You can also mount an ISO image here instead of your PC's optical drive.
- 2 CPU's available to the Virtual Machine, we certainly need this option selected.
- Selected a suitable OS, to match the linux OS that is being installed.
Here's some pics of the interface, for reference: [OS Selection Options][Networking Options][System Summary]
Fire it up
So the Virtual Machine's configured, time to fire it up & get the linux install going. Insert the linux OS disk (or mount the ISO image as a CDRom, in the VM's setup) and press the Play button on the VMWare interface to power on; click within the window to get your mouse/keyboard 'inside' the Virtual Machine (press Ctrl-Alt to release them back to Windows at any time). Hit F2 as the VMWare POST screen flashes up & check the BIOS boot order is correct, picture here [VMWare BIOS] Save & Exit the BIOS.
OS Install
After the restart I'm greeted with the Redhat FC4 installation screen [Linux Install from CD] and can begin this install just as I would on a real PC. Linux installers these days are largely self-explanatory, and well documented, so I won't bore you with too many details here; and of course the steps will vary depending on what 64-bit distribution of Linux you opted for.
I accept the defaults for almost everything during the install, except that I set my hostname manually to anything apart from the default, and ensure that I have the 'Development Packages' 'Compatibility Support' 'Admin Tools' package groups installed in Fedora Core. If you see an option for 'Compatibilty' or '32-bit Libraries' I advise you install them, based on this thread from FAH Forum.
Time to Login
The install completed, the machine booted & is now waiting for a login [Login to Linux], so login as root or the non-root user you created as part of the setup and do some exploring in your new OS install :) At this point I also spend some time stopping services such as sendmail, ssh, cups for printing, etc (I just type ntsysv in a terminal, or find the relevant GUI in Fedora)
You may need to install the VMware tools, Fedora appears to include drivers for running inside VMware, but other distributions may not. There's an option in the VMWare Tools drop down iirc, that will effectively mount a driver disk as a CD in your linux OS - from which you can install the tools/drivers (needed to get high-res display and more responsive mouse etc).
Find and open a Terminal, and if you couldn't login as root, type su and enter your root password [Terminal Open].Now you can configure the SMP-Client from Stanford &, with a bit of luck, start folding some monster units :D
SMP Download & Configuration
Some installation details can be found at the bottom of Stanford's page, the SMP FAQ. I simply run the following commands in a terminal:
mkdir folding/ make directory called folding
cd folding change directory
wget http://folding.stanford.edu/release/FAH_SMP_Linux.tgz download SMP Client
tar -xzvf FAH_SMP_Linux.tgz unzip SMP Client
./fah5 -local -configonly run client configuration *Enable large units over 5Mb*
echo "./fah5 -local -forceasm -verbosity 9" > FAHSMP make a script to run the client with desired flags, -advmethods can cause problems apparently, but has worked fine for me
chmod +x FAHSMP make that script executable
./FAHSMP run the script & get folding!
To shutdown the folding client, highlight the terminal window & hit Ctrl-C (this is also good practice on windows boxes I understand, for a clean shutdown).
Notes/Problems:
SMP - Check Stanford's Linux SMP forum for help with the client.
Linux - General Linux problems are best Google'd for, and there's a few Linux experts around here too somewhere I'm sure.
Distributions - Custom made distributions are available for 64-bit folding purposes apparently, and possibly even ready-made VMWare image files - I might look into over the coming weeks, a pre-made XS 64-bit linux VMWare file <100mb would be very useful tool imo.
Performance - Running Linux inside VMware is rumoured to cost between 10%-20% in terms of performance hit, compared to running it natively; not too bad in my opinion.
Disaster? - Remember that anything that goes wrong within the Virtual Machine is no big disaster - at worst you can delete the VM & start again.
VT - Disabling VT (Vanderpool?/Virtualization Technology) on my E6400 seemingly ruled out any chance of running a 64-bit OS within a 32-bit Windows environment - so do not disable it! Once off, it may need a hard reset to re-enable, and simply locked out the option on one of my boards completely.
Networking - VMWare adds some interfaces to your list of network connections, like so [VMWare interfaces] which it uses to get a connection for the VM's. The SMP client works on big units, which can be slow to upload for me (1mb down, 256k up) usually taking about 5 minutes & lagging internet usage quite severely. Depending on the number of machines folding SMP & their speed; and on your internet usage & connection, this may or may not be an issue for you.
CPU Utilisation I'm noticing CPU usage of around 90-92% in windows currently, I believe the usage is higher currently on the larger units (1760pts) and falls around the 80% mark for the smaller units (587pts).
Time Sync I've noticed that an OS running inside VMWare can sometimes get it's clock out of sync, for example, mine was sometimes 30mins ahead after running 24hrs roughly. I changed the clock properties to sync with an NTP Time server, which seems to have solved the issue so far.
Conclusion
I'm only just starting out on the VMWare method myself, and have yet to encounter any real problems. Is it worth it? Well its hardly apples Vs apples, but here is the situation on my e6400's at the moment, by my rough estimations...
- 17mins/Frame - Project 2604 in VMware (e6400@2.8), over 1K ppd (machine is down a few hours each day)
- 12mins/Frame - Project 2605, native Linux 64 (e6400@3.2), approaching 2K ppd
- And my work machine (e6400@stock) crunches normal FAH windows units, yesterday 2x3038's for a total of 300-400ppd.
Hope I didn't bore you to death with all that, good luck if you choose to go this route, and as always, fold on :up:
edit - altered known compatible CPU's, Intel 9x0 should be ok, 9x5 exclude VT feature. Appended NAT Networking for VM setup.