Tuesday, May 13, 2008

Put Yer CPU to Work...For Good!

I'm participating in high level research that could find a cure for cancer, eradicate AIDS, help end hunger in Africa, and even find signs of extraterrestrial life, and I don't have a Ph.D in any of those fields. I'm working towards the betterment of humanity on this little class M planet, and I don't have to do anything more than keep Allegra, my aging, but still more than able Compaq Evo D500 Small Form Factor PC on and running. I don't have to publish papers, participate in boring academic conferences and deal with pretentious colleagues who are trying to poach my work while ripping it to shreds. I can make a change in my world and not even miss work.

How, pray thee, Uncle Pee, are you able to do these wonders and still have time to watch Unbeatable Banzuke on G4? and listen to ten podcasts a day?? Simple, Shmedrick. It's called grid computing and here's how it works.

For the last year or so while Allegra was connected to the Internet, I was participating in a project called World Community Grid. Basically, World Community Grid or WCG is a website that gives computer users a chance to use their computers to solve difficult problems facing the world like hunger and disease. You see, modern personal computers are so fast in terms of computing speed that they can perform the majority of their assigned tasks in seconds and spend large amounts of time sitting idle and waiting for something else to do. What better way to use those CPU cycles that would normally just go to waste to sift through a mountain of data that can be used by scientists to solve problems? Even a older machine like Allegra with her 5 year old single core Pentium 4 processor running at 1.8Ghz can crunch numbers at amazing speed. The kind of scientific experimentation being done today generates tremendous amounts of data that has to calculated, sorted, sifted, manipulated, and translated. All this requires a very fast computer dedicated to those tasks. Most high powered research universities have supercomputers on campus that can do that kind of work, but the demand for time on those machines can be difficult to come by and also they are very expensive to maintain. And even then, one of those supercomputers can't digest all the data out there.

But, there are millions of computers in homes, schools, and offices all over the world that spend the majority of their computing time sitting idle, doing low-level tasks that barely tax the CPU, and those CPU cycles are going to waste. Why not combine the collective computer power of all those CPUs into one big, honking megacomputer that can crank through years of data in a tenth of that time? Enter Grid Computing. WCG acts as a middleman bringing volunteers who consent to let their computers be used in this massive distributed computing network together with scientists and institutions who have a ton of data to crunch and either limited access to the local Cray supercomputer or a desire to not spend precious funding on renting time on said Cray.

Basically, a user downloads and installs software that connects to the Internet, grabs a chunk of this data, does whatever calculations are needed, and spits it back. Then the software grabs another chunk of data, works it, and spits it back. Repeat that over and over and then multiply it by millions of computers and there's a lot of grabbing, crunching, and spitting going on. Kinda like more than a few bars I've been to.

AAAAAAnyway, those who interpret the data and do the research get all the advantages of being able to shave months and years off their research time, and it doesn't cost them nearly as much as if they were to burn up time on a supercomputer. As to how this affects the individual user's everyday computing experience, depending on the individual user's preference, the software can be set up to constantly be working on data even while the computer is in use, or only when the system is sitting idle, like at night. I've had Allegra set up both ways, and I haven't noticed a real big difference in her performance when she's crunching data while I'm on the Net. It does help that your system has a decent amount of memory on board as some of the projects can take up a sizable amount of RAM. But RAM is cheap and easy to install.

Now, one big question people may have is: Is this safe, from a virus, malware, security standpoint? Yes it is. The software used to connect to WCG only uses outbound ports on the computer, and the data sent and received from WCG is on secure servers. And the software only connects to the Net when it needs to upload or download data. I haven't had any problems security-wise participating in these projects, then again, I have hardware and software firewalls, plus a full suite of anti-virus and anti-spyware programs also running.

And to provide incentive to participate as well as satisfy the competitive jones most geeks have, users can elect to join teams that consist of other users and add their results to the team's overall score. On WCG, I'm a part of the User Friendly team that consists of fans of the User Friendly comic strip. Team UF is one of the largest and best teams out there in terms of results posted and years of CPU time logged.

I also am part of the SETI@Home project, which is one of the first and currently the largest grid computing projects to come on line, and this project compiles the data generated from SETI in a search to find extraterrestrial life. I'm part of the US Navy team in that project.

The software used to manage these and other grid computing projects is called BOINC and can be found here. It is a little on the geeky side to install and get set up, but not beyond the ability of a computer literate user.

In short, this is a good way to help advance the cause of science in defeating the diseases that have plagued millions of people around the world, and I for one look forward to the day that cancer, muscular dystrophy, and AIDS are wiped from the face of the earth due to efforts of millions of computer users who have donated their CPU cycles for good.