Saving in Sleep
My biggest indulgence is my computer, and sushi, and foreign travel and . . . eh . . . let me start again. I love my computer. In fact it has become such a part of the way I live that I almost never turn it off. It is one of four – a family if you will – hmmn that sounds a bit weird. When I am not at my computer it keeps purring away and I must confess to feeling a little bit guilty about all that computing capacity just sitting there burning through electricity. So this morning I decided to do some research on the concept of distributed computing. Sounds about as exciting as mackerel and a shovel in a wheelbarrow I know, but bear with me.
Everyone knows that computers are very good at solving problems that require a lot of number-crunching. To take an insultingly easy example, a computer is a really good tool to use to find say the square root of 16? I can tell my computer to solve this problem in a number of ways. One way is to give it a set of instructions (known as a computer program or software). These instructions would tell the computer to take a large collection of numbers and for each number, multiply it by itself until you get 16. When you get the answer – let me know. So the computer starts at the number 1 and of course it very quickly gets to number 4 and discovers that is the correct answer. This cheeky example introduces three important concepts – the problem (what is the square root of 16?), the data (all the numbers that the computer chewed through to get to the correct answer) and the computer program (the instructions that we gave to the computer so it knew what to do with the data). These same three concepts are used to solve more complex problems such as trying to find the cure for a disease. To try and find a cure for AIDS a scientist might ask the computer – what is the chemical or chemical compound that will neutralize or kill the HIV virus? The computer program translates the HIV virus and the millions of chemical compounds into mathematical formulae or models that the computer can understand. The program then tells the computer to keep searching through the chemical compounds until you find a combination that neutralizes the virus. As you can imagine this problem takes a lot longer to solve than finding the square root of 16. In fact, it can take years. Given that somewhere between 2.5 and 3.3 million people die each year from AIDS – these are very expensive years – more powerful computers could literally save nations.
This is where the idea of distributed computing comes in. Once again, let’s take our simple problem. Imagine if, when we were trying to figure out the square root of 16, we had two computers instead of one. What would have been the fastest way to solve the problem? Well, we know that the answer has to be less than 5 – because 5 multiplied by 5 is 25 which is greater than 16. So if we told one computer to start at number 1 and go up and we told the second computer to start at 5 and go down – then we could answer our problem in half the time. In fact we could answer the problem in less than half the time because the computer that started at 5 and went down would find the answer as soon as it tested the number 4. Distributed computing starts with this idea and takes a very complex problem, breaks it into sections, and gives a section to each of many computers. These computers are connected to each other through the internet. As soon as one computer has completed its part of the problem it sends its results back to the main computer and asks for the next piece of the puzzle to solve. Because these computers are connected by the internet they can be located anywhere on earth – indeed, and here is the exciting part, it could be your computer on your desk at home. Suddenly, a team of scientists with a limited budget and a very important problem to solve has access to millions of home computers with which to solve it.
This idea has had a massive impact. For example, it would have taken 40 years for the team of scientists at Malaria Control to complete the calculations that were necessary for them to understand how malaria behaves and spreads. But when thousands of people all around the world volunteered the use of their idle computers (at night and when they were away from their desks) the time required shrank to a few months. Because scientists get this information earlier they can produce cures faster. Bottom line: people who would have died from the disease now live. Obviously the whole idea makes a lot of sense. It doesn’t cost me anything. I don’t have to go anywhere and its pretty cool to be able to solve these important problems. I didn’t sign up earlier because I thought it would be complicated and annoying to set up. Well, the reason I am writing this is to tell you that its not difficult at all, in fact it was a hell of a lot easier than installing Windows Media Player.
If you would like to participate in one of these projects (it will take you less than 5 minutes) the first thing that you have to do is to download the necessary software. This software tells your computer to connect through the internet with the research project and ask for a piece of the problem to solve. A team at the U.S. Space Sciences Laboratory at the University of California, Berkeley, made software that does just this – it’s called BOINC and you can download it for free at this website. Once you download the software, double click on the icon to install it on your computer. Once the software opens it will ask you what project you would like your computer to work on. There are a whole range of projects that you can choose, ranging from researching drugs to cure diseases such as malaria, dengue fever and AIDS to projects focused on studying climate change and the origins of our universe. I picked two projects; the Malaria Control project and the World Computing Grid which specializes in trying to find cures for dengue fever and AIDS. My computer first checked with Malaria Control to see if they needed any help and since they had no projects to work on today it checked with the World Computing Grid. There it got to work on finding a cure for dengue fever. My computer did slow down when the program was running but the program comes with pause and resume buttons. When I clicked pause my computer ran at normal speed. So now when I know I am going to leave my computer for a while I just press the resume button and my computer goes back to automatically saving lives.