Care2 has started another click-to-donate charity: Click to Help Haiti. If you click the donate button on the charity web page, sponsors will generate a donation for Oxfam America to provide emergency water and sanitation services to Haiti following the recent earthquake there. Care2 guarantees a minimum donation of US$5,000 to Oxfam America for the project. As with all of Care2’s click-to-donate projects, the program costs you nothing. Give it a click today.

Care2 has started another click-to-donate charity: Healthy Smiles. If you click the donate button on the charity web page, Tom’s of Maine’s will generate a donation for its Dental Health for All program. This program “supports community organizations that provide dental care to people who would otherwise go without.” Give it a click today, and give a click to Care2’s other click-to-donate charities while you’re there.

Galaxy Zoo Supernovae is a new distributed human project which began only four days ago. The project asks volunteers to view images on its website from the Palomar Transient Factory automated sky survey at the Palomar Observatory. The survey creates multiple telescope images of several locations in the night sky over time and looks for images in which something has changed, for example whether a point of light in an image has become dimmer or brighter or has appeared or disappeared. Galaxy Zoo Supernovae specifically looks for potential supernovae, exploding stars. Several volunteers view each image and determine whether the image is likely a supernova. If enough volunteers identify a potential supernova, astronomers use their telescopes to view the actual object described in the image and determine whether it is a supernova and whether it is a known or new supernova.

Two astronomers in the Canary Islands have observed the best candidates from the project so far. After just four days, they have verified that the project has discovered over 20 new supernovae. This is real science, using real data, generating exciting results, happening right now! And you can be a part of it. You don’t have to know anything about astronomy. You only need to spend a few minutes studying some training images on the project’s How to Take Part page, then start viewing real images.

Three months ago I suggested Facebook would be a good platform for distributed computing projects. This week that idea is a reality. Thanks to Intel and Grid Republic, Facebook has a new Progress Through Processors application which allows Facebook users to easily contribute their spare computing power to BOINC-based projects. Currently members can contribute to the Rosetta@home, climateprediction.net and Africa@home projects. It willl be interesting to see how much the visibility of distributed computing projects in Facebook grows worldwide awareness of, and participation in, all projects.

Slashdot reported yesterday that the BOINC distributed computing platform just passed the 2 PetaFLOPs mark in computing power. One FLOPS is one FLoating point Operation Per Second and one PetaFLOPS is 1015 or 1,000,000,000,000,000 operations per second. The combined power of all of the computers contributing to BOINC-based projects is more than twice as much as the power of the world’s current most powerful single supercomputer, Roadrunner.

Three times more powerful than BOINC is the project Folding@home, with almost 7 TeraFLOPS of computing power. This project has more computing power than the current top 15 supercomputers combined. A lot of the project’s computing power comes from non-traditional computing resources such as Sony Playstation 3s and specialized PC graphics cards. When more projects adapt their software clients to take advantage of these types of resources, and other resources such as mobile phones, PDAs and music players, we’ll see even more amazing gains in computing power.

All of this computing power is donated freely to these projects by volunteers, from computers which would otherwise be wasting that power while the computers were used to read email, write documents and play games. This power frees the projects from the burden of buying, maintaining and updating their own computing resources and it continually increases as technology improves and as more volunteers join the projects. This power allows the project owners to focus all of their resources and efforts on their research so they can achieve results sooner. This power from the people is a powerful thing!

One of the things I like best about participating in distributed computing projects is learning about the science (or mathematics, etc.) behind them (and adding unique words like “thermohaline circulation” to my vocabulary). A good project should enable you to participate in it without having to understand its field of research. A great project should educate you about that field, and make you become interested in it, while you are participating in it. A distributed computing project (or a distributed human project) is a great way to get the general public involved in scientific and theoretical research:

  • It gives people motivation to learn about a field of research. I personally may not know about theoretical gravitational waves, but knowing that by running a software application on my computer for Einstein@Home I have a chance to discover the first one, I am motivated to learn about them.
  • It gives people a quick introduction to a field of research, with links to web pages or web sites with deeper knowledge about it if they want to learn more. I can learn just enough about climate research and modeling from an information page at climateprediction.net to understand what my computer is doing when it participates in the project. Or I can follow links from the site to more in-depth information about what the project is researching. Or I can ignore all of that, let the software run, and be content knowing that my computer is “doing good” for research.
  • It gives people a way to contribute to real research, right now. I may not feel any connection with the search for extraterrestrial intelligence by reading about it in a science magazine, but I definitely feel connected when my computer is studying a real block of data from a real radio telescope and a real scientist somewhere is waiting for my results. When a project has a descriptive user interface or display I can see exactly what kind of “thing” my computer is working on and whether it has found any interesting results about that thing. With the SETI@home interface I can see that my computer is working on data from a specific range of radio spectrum, from a specific date, and I can see the most interesting candidate signal in that block of data.
  • It gives people a way to see exactly how their personal efforts are contributing to real research. If I donate money to a Muscular Dystrophy foundation, I don’t know if my money was used for petri dishes or marketing brochures and I don’t know if I’ve helped find a cure. But if I contribute computing time to World Community Grid’s Help Cure Muscular Dystrophy project I can know that my computer has tested a certain number of potential drug molecules (756 in my case), any one of which could be a cure for the disease.
  • It popularizes modern scientific and other research. I don’t know much about clean energy research, or particle physics, or rectilinear crossing numbers. More importantly I don’t know anyone in those fields to ask about them to find out whether I should learn about them. But when I have project websites to visit I can learn about them quickly, can see what they are researching, can learn whether they are having any luck, and can decide whether I should learn more about them. And if I choose to, I can help them in their research efforts.

Want to add some new words to your vocabulary? Try these projects:

Facebook seems like an ideal place to host some kind of distributed computing project–or even better a distributed human or collaborative project. A mini version of Galaxy Zoo or a simplified version of the Foldit game could become very popular. Why hasn’t anyone done this yet?

When I first heard about distributed computing projects ten years ago I thought the concept was very exciting. I could contribute to something useful, something big, something permanent, with very little effort on my part and for the cost of only a little extra electricity. My computer did all of the work. I got the satisfaction of learning something about a new field of science or mathematics and of being part of new discoveries. I joined distributed.net’s RC5-64 project on that first day, and I have been participating in distributed computing projects almost continuously since then, 24 hours a day, 7 days a week.

Since that time I have told all of my relatives, friends and coworkers about distributed computing projects and my website and have tried to get them interested in participating in at least one project. I haven’t pushed too hard: no one likes an evangelist who won’t leave you alone when you’ve told them you’re not interested. Some of them have installed the software for a project and tried it for a day or two. Some of them look at me like I’m crazy or speaking in Latin. Some of them try a new project every once in a while, or participate in an older project once in a while. But not a single one of those several hundred people has become a regular participant in any distributed computing project. Not even the friend who got me interested in distributed computing projects in the first place.

Granted, in the early years there weren’t many project choices for non-science people to become excited about. If you weren’t interested in (or didn’t understand the purpose of) searching for alien radio signals, cracking an encrypted text message or finding a really big prime number, there was no reason for you to get excited about distributed computing. But since then there have been many projects that should interest a more general audience, such as finding a cure for cancer or Alzheimer’s, helping predict what our global climate will be like in 50 years, and helping to design more nutritious rice and other food sources. Distributed human projects, which let you help proofread books in the public domain, identify craters in images of Mars, or classify galaxies that no one has studied before, have also emerged. Distributed charities, which let you help a cause by clicking a button or answering geography trivia questions instead of by putting a check into an envelope, have also become popular. Project software has become much easier to download and install and requires little or no effort to maintain and update. Projects have become better at marketing themselves and about updating their participants on the projects’ progress and results. Almost all projects invite participants to discuss them on project-specific discussion forums.

Many projects available today should attract people for non-technical reasons. Almost everyone personally knows a cancer victim or survivor, or an AIDS victim, or a Muscular Dystrophy victim. Many people know of relatives or friends with currently-untreatable genetic disorders. Everyone should be interested in the future of our global climate. Many people who donate to charities should be interested in helping a charity for free and in learning more about the charity’s work and progress. Projects such as those hosted by World Community Grid are being marketed to a wider audience and drawing in growing numbers of non-technical volunteers.

So why hasn’t anyone I’ve talked to personally (not including all of the friends I’ve met through my website who definitely have become project fans and regular participants) become interested in participating in any of these projects full-time? What reasons are keeping the general public from participating in these projects?

I have heard the following reasons most often:

  • I don’t trust the project software on my computer.
  • I don’t want to get viruses from running project software.
  • How do I know the software is doing what it says it will do and isn’t looking through my personal files instead?
  • I don’t want to hurt my computer by leaving it running all the time.
  • I don’t have time to get involved.
  • The software will slow my computer down too much.
  • Running this software is a waste of electricity and adds to the global warming problem.
  • It’s too hard to figure out how to download and run the software.
  • It’s boring!
  • Who cares about finding radio signals from little green men or finding big prime numbers?
  • The big companies are going to make a lot of money from the work I do for them for free.
  • Oh yeah, I have that project installed on my computer but I keep forgetting to run it.
  • Is that project still running? I haven’t heard about it in a long time.

Distributed computing project owners have an opportunity and a responsibility to address these concerns if they want draw in new participants to their projects. They are already making their software easier to use, are promoting continued participation through team and individual statistics competitions, are marketing their projects to larger audiences, are creating more inviting websites with more information about the projects and software, and are engaging in dialogue with their participant communities. But they need to do more. They need to send their participants regular reminders to participate. They need to give participants reasons to visit their project website regularly and to become excited about the project again. They need to find out why some people stop participating. They need to provide more interaction and more reward (via fancier screen savers or incorporating more game elements into their software user interfaces) to participants who need or want those motivations when running the software–they need to make the software fun to watch and to use.

If you’re participating regularly in one or more distributed computing projects, thank you! If you’re not, what reason is keeping you from participating?

Two weeks ago distributed.net announced the beginning of its new project, OGR-27. This project will verify that the current shortest-known Golomb ruler with 27 marks is optimal (i.e. the shortest possible), or it will find the optimal 27-mark ruler. Bovine, a leader of the project, stated that “we are confident that we will discover a better ruler for OGR-27 than the one we know to be optimal currently.” He also stated that the project will take about seven years to complete.

So, how do you get excited about a project that will take so long to complete? Seven years is a long time. You may be in a different decade of your life seven years from now. You may be married (or divorced) seven years from now. You may have children (or your children may have grown up and left home) seven years from now. You may be in a different state (or province or country), a different job, even a different career. You will almost definitely finish the project on a different computer than the one on which you began it. In seven years you may not care about Golomb rulers, let alone finding the optimal 27-mark ruler. How do you commit to a project when its end is so far in the future?

Here are several reasons to get excited:

1. You know when the project will end. Because of the nature of Golomb rulers, there is no way to know exactly how many rulers there are for a given number of marks until you have found all of them. For its first OGR project, OGR-24, distributed.net had no way to estimate how much work needed to be done for the project so there was no way for participants to know how much of the project was complete or when it might finish. For OGR-25 the project owners discovered that while they couldn’t know the total number of rulers they would need to test, they did know the total number of “stubs,” or beginnings of rulers, they would need to test. Work units for each OGR project are individual stubs, such as 27/4-8-35-45-24* (which my computer is working on right now). They could show a project’s progress as the total number of stubs completed compared to the total number of stubs for the project. It’s harder to be excited about a project when you have no idea when it will complete. It’s easier to be excited when you know roughly when it will end, even if that end is several years away.

2. The project may end sooner. In the next four years most OGR-27 participants will have upgraded their computers and will have at least twice as much computing power as they do now. More participants may join the project as they see it move closer to completion. More people may become interested in Golomb rulers within the next seven years and may join the project. Some distributed computing teams may get into a stats competition for the project and may temporarily give it a boost in computing power. Assuming the project leaders did not factor these potential growths in computing power into their time estimate, the project could end in six or even five years.

3. You’re contributing to something new. No one has found the optimal 27-mark Golomb ruler before. You’re helping to make a new discovery, helping to make history. You’re also contributing to something big. Until a few years ago it would not have been practical to attempt a project of this size. Seven years is an easier length of time to commit to than 14, or 20.

4. Larger goals give you a greater sense of accomplishment. A runner can feel a sense of accomplishment from completing a 5K race. But he or she can feel a much more significant sense of accomplishment from completing a marathon. 11 years ago I set a lifetime goal for myself to walk 25,000 miles, the equivalent of a walk around the world. I created a Walk Around the World website to help me track my progress toward that goal (the site is also helping almost 300 other people set and reach their walking goals). At my starting rate of 600 miles per year, I set myself a goal that I could not complete for at least 40 years. Will I feel a big sense of accomplishment 30 years from now when I reach that goal? You bet I will! And you will feel a greater sense of achievement in participating in a seven-year-long project than you will participating in a seven-month-long project.

5. Your participation matters. You may only be one of several thousand participants in OGR-27. You may only have one CPU to contribute, compared to another participant’s server farm with hundreds of CPUs. You may only participate in the project for one week each year. But each work unit you complete brings the project a few more minutes or hours closer to completion. Each work unit you complete rules out several billion possible rulers. Each work unit you complete has a chance of finding the optimal ruler, of creating brand new knowledge.

It may be hard to get excited about a project which won’t end for seven years, but that shouldn’t discourage you from participating. My computer is currently testing about 55.6 million OGR-27 rulers every second. While I wrote this entry the computer tested over 400 billion rulers. Those rulers are an almost immeasurably small percentage of the total rulers which need to be tested. They only removed two hours of computing time needed to complete the project. But, except for a double-check by another participant, those rulers won’t have to be tested again. It wasn’t exciting. It is satisfying.

What is distributed computing? And why should I care about it?

Distributed computing is a computing technique which splits a large problem into small pieces and gives the pieces to several computers, allows the computers to solve their pieces at the same time, then combines the results from all of the pieces into a result for the entire problem. See a Wikipedia article for a more detailed description of it.

So what? That sounds pretty boring.

What distributed computing is is mostly interesting to computer scientists and enthusiasts. What it does, or what it can be used for, should be interesting to everyone.

Imagine a task that is too large to be completed by one person within a reasonable amount of time. Perhaps you need to hand-write 1,000 copies of a letter and each copy requires at least one hour to write. If you have to write the letters by yourself, you will need to write for 1,000 hours or almost 42 days to finish the task. Maybe you need to prepare 10,000 care packages to send to victims of a hurricane and each package requires 5 minutes to assemble. If you are preparing those packages by yourself, you will need to work for 833 hours or almost 35 days to complete the task.

Completing these tasks would be so daunting that no one would try to complete them by himself or herself. But if the letter-writer recruited 50 volunteers and each volunteer wrote 20 letters, the task could be completed in 20 hours–less than one day. If the package preparer recruited 100 volunteers and each volunteer prepared 100 packages, the task could be completed in a little more than 8 hours. If the preparer recruited 200 volunteers and each volunteer prepared 50 packages, the task could be completed in 4 hours.

Now imagine a problem that can be solved with computing techniques but that is still too large to be solved by one computer within a reasonable amount of time.

Maybe you’re a mathematician who wants to discover new Mersenne prime numbers larger than any that are currently known. Or you want to solve the Sierpinski problem, a mathematical problem which was posed in 1967 and which has not yet been solved. Maybe you’re a meteorologist who wants to test a global warming theory by predicting what Earth’s climate will be like 50 years from now. Perhaps you’re a biologist who wants to learn how linear chains, or “strings,” of amino acids fold into three-dimensional proteins (the building blocks of life) by simulating the process in a computer program, or you want to test a large set of molecules to see whether any of them would be a safe and effective drug to fight AIDS or cancer. Maybe you’re an art student who wants to create a film with computer animation, like Pixar’s “Toy Story.”

If you’re the mathematician you may need to test several thousand numbers to see if any of them are primes. Each number may take between several hours and several months to test. If you’re the meteorologist you may need to generate thousands of climate prediction simulations, each of which takes two months or more to complete. If you’re the biologist you will need several months or years to complete a single protein folding simulation or you will need to test millions of potential molecules, with each test requiring several hours or days of computing time. If you’re the art student, you will need to render or “draw” thousands of computer-generated images to assemble into a film. Each image may take many hours to many days to render.

If you only have one computer to do the work for any of these problems, it will take longer than your lifetime to solve that problem. If you only have one supercomputer, it will still take several decades to solve the problem. No one would attempt to solve these problems because solving them would not be practical. But if you have a network of thousands or millions of computers to do the work, and if you can break the work into small enough pieces so that each computer can finish a piece within a few hours or days, you can solve the problem very quickly–within a few days, months or years.

Thanks to advances in distributed computing research over the past 15 years, all of the computing problems described above can now be researched in a practical way, and all of them are being researched right now. Plus, all of them are public projects in which anyone may participate.

GIMPS, the Great Internet Mersenne Prime Search, has discovered the eight largest known Mersenne prime numbers in the project’s 13 years, including the first known prime with more than ten million digits. Seventeen or Bust has found 11 of the final 17 primes that need to be found to solve the Sierpinski Problem. climateprediction.net has recruited volunteers from all over the world to complete over 382,000 climate simulations (each simulation requires a month or more of computation to complete) from which it can create an average prediction of the most likely climate 50 years from now. Folding@home has recruited a network of volunteers with their PCs, PC graphics cards and PlayStation 3 game consoles to build a computing network with 5 PetaFLOPs of computing power (5 times more powerful than the average supercomputer) and has created more accurate protein folding simulations and has begun to learn more about how mis-folds can cause diseases like Alzheimer’s. World Community Grid’s Help Conquer Cancer project has tested over 33 million potential cancer-fighting drug molecules. BURP, the Big and Ugly Rendering Project, is helping amateur movie makers and computer graphics researchers render entire movies or complex graphics sequences in the time that they could personally only render a few images.

What is distributed computing? It is a technique which, using volunteers around the world and their millions of computing devices connected by the Internet, enables types of research which have never before been possible. It is a technique which will permanently affect the way scientific research is done. It is a technique which will allow humanity to make discoveries greater than we can imagine.