Most of the time, my workstation sits there doing nothing. I’m typing a line of code, or I’m in a meeting, and those millions of cycles per second are just turning into heat. It’s a massive waste of computing power.
UC Berkeley has just released SETI@home, and it’s a brilliant way to harness that waste.
The Power of the Crowd
Searching for patterns in radio telescope data is an "embarrassingly parallel" problem. You can take a huge chunk of data and break it into tiny pieces (called "work units") that can be processed independently.
Instead of building a multi-million dollar supercomputer, Berkeley is using the internet to build a virtual one. You download a small screensaver client that fetches a work unit, processes it when your CPU is idle, and sends the results back.
# Monitoring the client on my Linux box:
setiathome -verbose -email my@email.com
# Current state: Processing Gaussian... 12.5% done
More Than Just Aliens
The science is fascinating, but as a developer, I’m more interested in the infrastructure. This is a proof-of-concept for global-scale distributed computing. If we can search for aliens, why can’t we use the same model for protein folding, climate modeling, or cracking encryption? (Though I hope we stick to the first two).
The Competitive Spirit
They’ve even added a "leaderboard" where you can join teams and see who has processed the most units. My department has a team, and we're currently in the top 100. It’s a great way to build community while contributing to a massive scientific effort.
SETI@home is a reminder that the internet isn't just for looking at pages; it’s a platform for global collaboration. Now, if you'll excuse me, I need to check if my Pentium III has found any little green men yet.