Ett sätt att köra SMP-folding genom VMWare i Windows
Ett sätt att köra SMP-folding genom VMWare i Windows
Det finns många guider för att köra Linux-varianten av SMP-klienten i VMWare för att kunna få tillgång till fahcore_A2 som ger extra mycket PPD. Här tänkte jag beskriva hur jag har löst det efter att jag experimenterat med detta ett tag. Jag valde att köra med Notfred's populära Linux-dist som är speciellt gjord för folding.
Steg 1:
Ladda ner VMWare Player 3.x eller nyare t ex från http://www.softpedia.com/get/System/OS-Enhancements/VMware-Pl... och installera det.
Steg 2:
Surfa in på http://reilly.homeip.net/folding/cd.html.
Username: //ditt folding-nick
Team: 37451
Passkey: //lämna blankt såvida inte du har ett lösenord (eller skaffa ett här)
Backup interval (in minutes, 0 to disable): 0
Big Work Units: big
Advmethods requesting new advanced cores and/or work units if available: enabled
Memory, in MB, to indicate (leave blank for auto-detect): //lämna blankt
SMP instance per: //antalet logiska/fysiska kärnor per SMP-instans
Remote Reboot: enabled
Install to USB drives on boot: disabled
Console blank time (1-60 minutes, 0=disabled): 0
Windows Networking: enabled
Windows Networking Workgroup: diskless
Proxy Hostname (blank if no proxy):
Proxy Port (blank if no proxy):
Proxy Username (blank if no proxy or proxy doesn't require username and password):
Proxy Password (blank if no proxy or proxy doesn't require username and password):
Interface(blank for DHCP round-robin):
Static IP (blank for DHCP):
Subnet Mask (blank for DHCP):
Default Gateway (blank for DHCP):
DNS Server IP (blank for DHCP):
TFTP Server IP (blank for DHCP):
Login shell: disabled
Sen är det bara att tanka ner det. Websidan genererar en iso-fil automatiskt.
Steg 3:
Nu är det dags att göra en vmx-fil. Det är en vanlig text-fil för att starta och konfigurera en virtuell maskin. Jag har själv döpt den till "SMP1.vmx". Se till att iso-filen är döpt till "fold.iso" och att den ligger i samma katalog som "SMP1.vmx".
# This is a Workstation 5 or 5.5 config file
# It can be used with Player
config.version = "8"
virtualHW.version = "7"
# Number of virtual CPUs. Your virtual machine will not
# work if this number is higher than the number of your physical CPUs
numvcpus = "4"
# Memory
memsize = "1024"
# Selected operating system for your virtual machine
guestOS = "other-64"
# displayName is your own name for the virtual machine
displayName = "SMP1"
# These fields are free text description fields
annotation = "Diskless Folding@Home"
guestinfo.vmware.product.long = "Diskless Folding by Nick Reilly"
guestinfo.vmware.product.url = "http://reilly.homeip.net"
guestinfo.vmware.product.class = "virtual machine"
# First serial port, physical COM1 is not available
serial0.present = "FALSE"
# Optional second serial port, physical COM2 is not available
serial1.present = "FALSE"
# First parallel port, physical LPT1 is not available
parallel0.present = "FALSE"
# Settings for physical floppy drive
floppy0.present = "FALSE"
# Logging
logging = "FALSE"
# These settings decides interaction between your
# computer and the virtual machine
isolation.tools.hgfs.disable = "FALSE"
isolation.tools.dnd.disable = "FALSE"
isolation.tools.copy.enable = "FALSE"
isolation.tools.paste.enabled = "FALSE"
# First network interface card
ethernet0.present = "TRUE"
ethernet0.startConnected = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.connectionType = "nat"
# First IDE PATA port
ide0:0.present = "TRUE"
ide0:0.fileName = "fold.iso"
ide0:0.deviceType = "cdrom-image"
# Set CPU priority
priority.grabbed = "normal"
priority.ungrabbed = "idle"
# Synchronize time
tools.syncTime = "TRUE"
Du kan kopiera koden ovan rakt av och sätta in allt i "SMP1.vmx". Koden är anpassad för att köra den virtuella maskinen på 4 logiska/fysiska kärnor. Om du har en dual-core (utan HT) kan du sätta "numvcpu" till 2. Om du har 8 logiska/fysiska kärnor (t ex en i7 med HT) så kan du sätta "numvcpu" till 8 och möjligen behöva ändra "memsize" (mängden minne som tilldelas den virtuella maskinen) till ett högre värde (endast multiplar av 4 godkänns).
Tiden i den virtuella maskinen har en tendens att gå väldigt fel och den tycks stanna upp om man pausar klienten dvs sätter den i "suspended mode". Efter lite efterforskningar verkar det som det har lite med hur Linux-kärnan håller koll på tiden. Jag har inte hittat nån helt bra lösning men kommandot "tools.syncTime" i vmx-filen kan hjälpa tilll viss del. Inget av detta verkar påverka SMP-klienten något men det kan bli lite svårare att övervaka den om tiden avviker för mycket.
Steg 4:
Allt klart! Bara att starta den genom att köra vmx-filen (filen bör vara associerad till VMWare Player). Om allt är rätt konfigurerat så behöver du inte göra nåt mer.
Om du vill stoppa (stänga ner) den tillfälligt så kan du, i VMWare Player's meny, trycka dig vidare från "VM", via "Power", till "Suspend". På så sätt pausas och sparas allt så allt kan fortsätta igen när du startar den igen. En omstart eller nedstängning (av den virtuella maskinen alltså) sparar ingenting och du måste börja om på en ny WU igen. När du pausar den virtuella maskinen kan det vara bra att undvika det just när den laddar upp eller ner en WU.
Steg 5:
Övervakning sker via webläsaren (surfa in på dess IP-adress) eller FahMon.
Om du har lagt in FahMon så börja med att lägga till ny klient. "Namn" kan du välja till vad du nu känner för. "Plats" är katalogen innehållandes "FAHlog.txt" dvs "\\*hostname*\C\etc\folding\1\" (en eventuell andra instans ligger i katalogen "\\*hostname*\C\etc\folding\2\"). Bocka dessutom för "Klienten är en virtuell maskin". Tänk dock på att om tiden går för långsamt eller för snabbt i den virtuella maskinen kan FahMon rapportera fel PPD.
Uppdatering (2010-02-03):
Eftersom A3-kärnan, som kan köras med SMP-klienten i både Windows och Linux, har släppts av Pandelab så är det inte längre nödvändigt att köra Linux genom VMWare för att kunna få mycket poäng. A2-kärnan kräver fortfarande Linux men A3-kärnan kan ge minst lika mycket poäng den (om bonusen är inräknad). Dessutom kan troligen inte notfred's Linux-dist ta emot A3-paket då det bör kräva version 6.29 av Linux-klienten (den släpptes 2010-01-21 men notfred's dist har inte uppdaterats sen 2009-11-08), men det kan ju ändras med tiden eller så använder man en annan Linux-dist.
Alltså, version 6.29 av SMP-klienten krävs för att ta emot A3-paket. Det krävs också en passkey för att få bonus (först måste man göra klart 10 st WU med passkey). A3-kärnan använder dessutom trådar (threads) istället för processer vilket gör DeinoMPI och MPICH överflödiga. Fortfarande är A1-kärnan i bruk, vilket kräver DeinoMPI eller MPICH, men sen kommer man antagligen slippa besvären med dem. Se mer här.
AMD Ryzen 5 3600 | 4x8GiB 18-20-16-36-52-2T DDR4-3400 | MSI B450-A Pro Max AGESA 1.2.0.7 | Sapphire RX 480 Nitro+ OC 8GiB | Crucial MX500 500GB | PNY CS900 2TB | Samsung 850 EVO 500GB | Samsung PM961 512GB | Scythe Kamariki 4 450W