A Busy Computer is a Happy Computer.

Copyright (c) 1999-2001 by Rich Morin
published in Silicon Carny, July 1999


Your computers spend most of their time waiting for the next keystroke. Here are some distributed processing projects that could keep them usefully employed.

Although some computers (e.g., mainframes and supercomputers) work all the time, most computers have a great deal of free time. Desktop machines, in particular, spend most of their time waiting for the next keystroke. For that matter, most servers have significant periods of time each day when they aren't running at anything like full capacity.

In short, most of our machines have processing time to burn. Why not find some useful outlets for all of this excess energy? Here are some interesting (and possibly useful) distributed processing projects that you might wish to consider joining.

SETI@home

The Search for Extraterrestrial Intelligence (SETI) is a real long shot; lottery tickets and progressive slot machines are "sure things" in comparison. On the other hand, the payoff (finding an extraterrestrial, intelligent life form) seems to many folks to be worth a try. And, given that your computer's idle time would be wasted otherwise, why not use it to search this very large haystack for candidate needles?

The SETI@home project collects radio astronomy data and parcels it out to volunteer machines for processing. The input file (work_unit.txt) is a smallish (384 KB) text file, containing both header information and some ASCII-encoded data.

The Help File indicates that this paltry snippet of data will keep a G3 Power Macintosh crunching for about two days. In short, this is a really compute-intensive project; You needn't worry about using large chunks of either disk storage or Internet bandwidth.

I'm a little fuzzy about the exact calculations that are being done, but they involve Fast Fourier Transforms and related sorts of frequency-based data-characterization calculations. That is, the computer looks for periodic patterns in the data, reporting "interesting" patterns back to the SETI@home folks for closer examination.

The Macintosh version of the SETI@home software gets high marks for presentation. It provides continuous visual feedback on the FFT results, nicely formatted as a 3D histogram. Annotations supply some informative context (data recording source and time, search frequencies, etc.), making it all a bit more "real" for science groupies like me.

GIMPS and PiHex

If you'd rather invest your computer's efforts on a sure thing, you might consider joining GIMPS (the "Great Internet Mersenne Prime Search") or PiHex ("A Distributed Project to Calculate Pi"). There isn't any real question about whether a given prime number can be found; it just takes lots of processing time.

GIMPS comcentrates its efforts on Mersenne Primes, prime numbers which can be expressed as 2P-1. The project has found three such primes to date: 21398269-1, 22976221-1, and 223021377-1 (the 37th known Mersenne Prime; currently the largest known prime).

The project provides a diverse set of clients. Pentium users (running either Linux or Microsoft OSs), Power Macintosh users (running Mac OS), and random Unixoids (by means of C or Fortran) can all participate.

PiHex has already calculated the forty trillionth bit of Pi and is now working on the quadrillionth bit (2 trillionth hex digit). Unfortunately, the project uses Pentium-based assembly-language software, and I don't see any support for non-Microsoft environments. Consequently, I won't be running it any time soon, but Windows users might want to give it a shot.

distributed.net

The folks at distributed.net are interested in all sorts of applications for distributed processing, but their current projects are concentrated in the mathematical and cryptographic realms.

Their current mathematical project is involved with finding and proving larger Optimal Golomb Rulers. Quoting from their web page:

In mathematics, the term "Golomb Ruler" refers to a set of non-negative integers such that no two distinct pairs of numbers from the set have the same difference. Conceptually, this is similar to a ruler constructed in such a way that no two pairs of marks measure the same distance.

An Optimal Golomb Ruler (OGR) is the shortest Golomb Ruler possible for a given number of marks. OGRs have many applications, including radio astronomy and sensor placements for X-ray crystallography.

They are also doing a pair of cryptographic projects. Project RC5-64 (aka Project Bovine) is taking on the RSA Data Security Secret-Key Challenge for 64-bit keys, having successfully cracked the preceding (56-bit) key.

Project DES (aka Project Monarch) is history now. The distributed.net crew, working with the EFF's DES Cracker, broke the US government's standard data encryption algorithm (Data Encryp-
tion Standard, or DES) in less than one day. (So much for government-approved encryption! :-)

PVM/POV-Ray

If you'd like to create ray-traced images, and have a batch of computers available, you might want to look into PVM/POV-Ray. This is an adaptation of the "Persistence Of Vision" (POV) ray-tracer for use with the "Parallel Virtual Machine" (PVM). Some really gorgeous examples of POV output, by the way, can be found on the Persistence Of Vision Hall Of Fame (www.povray.org/hof).

Resources

distributed.net
http://www.distributed.net
         
EFF
http://www.eff.org
        
GIMPS 
http://www.mersenne.org/prime.htm
        
PiHex
http://www.cecm.sfu.ca/projects/pihex/pihex.html
        
PVM/POV-Ray
http://www-mddsp.enel.ucalgary.ca/People/adilger/povray/pvmpov.html
        
RSA
http://www.rsa.com
        
SETI@home
http://setiathome.ssl.berkeley.edu/
      

About the author

Rich Morin (rdm@cfcl.com) operates Prime Time Freeware (www.ptf.com), a publisher of books about Open Source software. Rich lives in San Bruno, on the San Francisco peninsula.