Distributed Computing


Your computer isn't using 100% of the CPU all the time, maybe it does when playing chess against it or when zipping/ unzipping large files. As you can see a normal user doesn't use all the time 100% processor power. How can we take profit for that? The answer is just distributed processing.
Think for a moment that when your screensaver goes on, your computer begins to calculate some kind of operations and lots of people installs this screensaver, the computing power joining them all together could be huge.

The power of your home computer
SETI Any Aliens out of there?

An example for this is the SETI project (Search for Extraterrestial Intelligence) that consist on a beautiful screensaver that you can download from his website and when it's on, connects to the server and downloads a little file containing data from a radio telescope that is analyzed by this software trying to find logical secuences that means there are intelligence from the outer space. IMHO SETI it's a very nice project, but it's objective is not so interesting as I can expect. A sarcastic web site is STI project.

SETI Screensaver

Distributed Chess, not yet???

An interesting project for sorgonet.com on distributed computing is Distributed Chess, what does it mean? It means to use computing power to evaluate every posible secuence of moves on a chess game with the objective to know who wins if it's played perfectly by both sides (black and white). Lamentably this project doesn't exist may be because all the possible diferent chess games that can be played on a chessboard exceds the number of atoms on the universe. But nowadays, we know that all the positions on a chessboard with 1,2,3,4,5 and some 6 pieces on it are stored on a database with it's evaluation and can be downloaded for free from here at Crafty chess software FTP site on TB directory.

Chess and Computers

Anyway other board games are solved thanks to big supercomputers and/or distributed computing, games like othelo also called reversi is a popular example. Checkers can be solved today with computers. Why checkers and not chess? Just think that checkers is like a well and chess is like an ocean.

Distributed.net Decoding by brute force.

An interesting Distributed Computing effort is www.distributed.net , this guys created and managed a software to share between multiple computers over internet a little portion of a very big task.
Trying to decrypt a hidden  phrase encripted with RC5-64bits algorithm. This is called project "Bobine" RC5.

How does Distributed.net work (RC5)

There's a main server named Bobine this distributed who distribute the work to do (blocks to decode) to the Proxies, and that proxies to the Users, so every User that installs this software, asks for a block to decode to the proxies that sends it to him. When the User have decoded this blocks, it sends the results back to the proxies and them to the main server to be sure that the blocks are checked and to don't reassing that blocks again.
To contribute to the effort, you must go to distributed.net download page and get the client for your Operation System. Almost any OS are listed there.
This client software only is activated when your processor is not working for other tasks, that means your computer will not run slower, and you will not notice it.

Linux Configuration

 Windows clients installation is very easy but if you're using linux and a PC you could get lastest x86/ELF client this file is in .tar.gz format, once downloaded type:
mkdir distributed
cd distributed
tar -zxvf ../filename.tar.gz
now some files will be extracted, dnetc is the binary (the program) to configure it for the first time:
./dnetc
a menu will be displayed, choose the option where to type your email (that will identify you, and where you'll recieve your password), other options let you change project preferences because there are more that one project that you could participate with this software.
Don't forget to put a line on /etc/rc.d/rc.local  to load it at boot time
As an example, put this lines:

if [ -x /usr/local/distributed/dnetc ]; then
   echo "Starting Distributed.net Client..."
   /usr/local/distributed/dnetc -quiet
fi

It says: if dnetc is not already running, then start it in quiet mode (no messages).
To check if the software is running: top  (q to quit)

Windows configuration
System Tray
An easier install if for windows clients that is like any installer, you know: next,next,next,finish and so on. Once installed a cow will appear on the system tray (bottom right of the screen) you can click there to configure it.
When you see the main menu, select First entry: 1) General Client Options, then enter your email adress where you will recieve your password to edit your information and if you want join a team.

Distributed.net Windows Main Menu

Return to main menu and select second entry: 2) Buffer and Buffer Update options

Buffer Options

Then 9) Load-work precedence

Load Work Precedence to RC5 only

And change it to do first RC5 and forget about other projects.

Then Return to main menu and Save settings and Exit.

Once have sent some blocks you recieve your password by email, with this password and a link you'll also recieve by email, your can edit your profile, and join to a TEAM. Joining a team is just for fun and if you found the correct key  the price if for you and not for your team.
We'd like to tell you join our team sorgonet.com   team number 3085
There you could see how many blocks are you crunching also as the rest of the team.