Page History

Turn Off History

Here's how to contribute your HTCondor pool's spare cycles to Folding@Home.

The basic idea is to use HTCondor's "work fetch" mechanism to start the Folding@Home client when you have idle resources. This means you don't have Folding@Home jobs cluttering up your schedulers or in your the accountant, and you don't have to do anything special to preserve your Folding@Home progress.

Assumptions

Instructions

  1. Create user named 'backfill' for Folding@Home to run as.
  2. Make directories so that Folding@Home can preserve its progress when preempted: create /opt/fah/slots/slot1, /opt/fah/slots/slot2/, and the like (up to the number of cores on your machine). Make sure that the 'backfill' user can read and write to them (chown them appropriately).
  3. Create the following files:

/opt/fah/fetch_work
#!/bin/bash
# extract SlotId from the Machine classad passed on stdin
eval `awk '/^SlotID/ {print "export _CONDOR_BACKFILL_SLOTID="$3}'`
# build a job classad from a template in the HTcondor config called FAH_JOB
condor_config_val -macro '$(FAH_JOB)'

The following configuration can be changed if you want credit for your contribution.

/opt/fah/config.xml
<config>
  <!-- Client Control -->
  <fold-anon v='true'/>

  <!-- Folding Slot Configuration -->
  <gpu v='false'/>

  <!-- Folding Slots -->
  <slot id='0' type='CPU'/>
</config>

  1. If you're using static slots, use this recipe for your configuration.
  2. If you're using partitionable slots, use this recipe for your configuration.