A busy computer is a happy computer
Give your computer(s) a hobby!
Computers spend most of their time waiting for the next keystroke. Here are some distributed processing projects that could keep them usefully employed. (900 words)
lthough some computers (e.g., mainframes and supercomputers) work continuously, 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.
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, called
work_unit.txt, is a smallish (384 KB) text file, containing both header information and some ASCII-encoded data.
The documentation indicates that this paltry snippet of data will keep a G3 Power Macintosh crunching for about two days. In short, this is a really computation-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 Transformations (FFT) 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.
The SETI@home project has attracted a great deal of support. As of July 13, nearly 800,000 volunteers have signed up. Many of the volunteers are running the software on multiple machines, so the total amount of computing power involved is staggering, possibly exceeding a million CPUs.
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 a lot of processing time.
GIMPS concentrates its efforts on Mersenne primes,
prime numbers which can be expressed as 2P-1.
The project has found four such primes to date:
The project provides a diverse set of clients. Pentium users (running either Linux or Microsoft OSs), Power Macintosh users (running Mac OS), and users of various Unix systems (if they have access to C or Fortran) can all participate.
PiHex has already calculated the forty trillionth bit of pi and is now working on the quadrillionth bit (two 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.
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.
Distributed.net's current mathematical project involves finding larger Optimal Golomb Rulers. Quoting from its 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.
Distributed.net is 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 Encryption Standard, or DES) in less than one day. (So much for government-approved encryption!)
If you'd like to create ray-traced images, and have a batch of computers available, you might want to look into PVMPOV-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 (see Resources).
About the author
Rich Morin operates Prime Time Freeware (www.ptf.com), a publisher of books about open source software. He lives in San Bruno, CA, on the San Francisco peninsula.
If you have technical problems with this magazine, contact firstname.lastname@example.org