The name Elves is plural for a reason. Elves can, in fact, do many things at once. The processing of crystallographic data turns out to be a highly parallelizable problem at several stages. Specifically, diffraction image data are usually collected in multiple contiguous groups, or "wedges", which can each be processed on different computers. In addition, there are space group ambiguities that persist right up until the final map is evaluated. Each of these space groups can be evaluated simultaneously, on different CPUs.
The Elves multiprocessing strategy is incredibly simple, and does not require any third-party process managment programs:
To use Elves multiprocessing features, all you have to do is run more than one copy of the Elves main program in the same root data-processing directory:
unix% cd ~/processing/elves
unix% Elves process the data in /data/jamesh/frames
...
meanwhile, on another, 4-processer machine called
"crunchbox"
...
crunchbox% cd ~/processing/elves
crunchbox% Elves >&! elves_cpu2.log
&
crunchbox% Elves >&! elves_cpu3.log
&
crunchbox% Elves >&! elves_cpu4.log
&
Each new instance of Elves will check to see if another copy is already running, and, by default, will begin cooperating with the running Elves jobs at whatever stage of data processing they have reached so far. This makes it easy to throw more Elves at a problem, even late in processing, if you decide its taking too long to run.
Back to the Elves Page.