Tuesday, November 22, 2011

Grid Computing: Folding@Home vs BOINC Part 1 (F@H Guide)

I'm going to do a two part segment on my experiences using Folding@Home and BOINC. Last night I was revisiting an old subject, that of grid computing. What are they you might ask? Basically it's having many computers work together over the internet to form models from data, for things such as protein folding (folding@home) or modeling the milky way (milkway@home). Folding@home gives this definition, hopefully it clarifies it a bit for you
Distributed Computing is a method of computer processing in which different parts of a program, or different portions of data, are processing simultaneously on two or more computers that are communicating with each other over a network or through the Internet.

I first wanted to try folding@home, in fact I had no idea BOINC (by the way folding@home started out first, from a team at Stanford, and BOINC later on from a team at Berkeley). So I went to their website and was utterly confused as to what to do. Now I'm using a Mac, and I'm not sure how it's like for windows, but for Mac the user experience just wasn't very good. I wanted to make this guide, to hopefully encourage other mac users to participate in this project. I know that your computer will probably have to run for long periods of time, I personally think it's worth it for the result. Plus, as I said, it for me was very hard to find enough help from the help forums for folding@home, and the website FAQ layout was not very intuitive for me. By the way BOINC stands for "Berkeley Open Infrastructure for Network Computing."

To start out I'm going to post how folding@home looks like from InCrease and the BOINC client.

Folding@Home (via InCrease)


This webpage is a good overview of what clients are available. In the process I discovered this, you can either download a command line, or console version, of the software, a preference pane, and a screensaver. I shall discuss the first two methods, as I don't think that the screensaver method is still available.

I first started with their client (I clicked the middle link, for mac OS 10.5), and as I mentioned before it is a preference pane. Now that I've tried it though, I do not recommend this option. Instead I will spend far more time on an option that overlays on top of the command line version. This is because this method is the most configurable out of three, and gives you far more details as to what your computer is actually doing.

First of all, increase can be downloaded here, where you just click "universal binary," the first link. Then put it into applications folder like you would for any application (after you've unzipped). Now it doesn't run out of the box "automatically" and there will be things you need to configure. First of all, go to preferences (command + ,) and click on the "local group" tab. Make sure you change the name of the folder to something that is not "folding@home" or "foldingathome."

This is because the preference pane client uses this name, and confuses InCrease as to who is controlling the process. While you're there also click the "New Units" tab and put in a username, and it allows you to check whether your name has been used. You can also choose a team ("1971" is TeamMacOSX but it really doesn't matter). After this has been done click the "groups" on the menu bar and click "create local group." After this just click start and it should start downloading data and computer should start chomping away. One more thing, if you don't like your fans revving up there is one mechanism decrease this, in preferences again click the "pause" tab and you can throttle the time for which the software uses the CPU for. For me I set it to 50% (the lowest possible) but I was still not satisfied with the result.

Cores (1 or 2)
Just a bit more information on this. So you are downloading data and you might have one core or two. For me you see that I have two because I have 8 threads (from a quad core 2.0 GHz intel i7), but you can set that in the preferences. If you set your processor number to say 4 I believe it should only give you one set instead of two. But I realized in the process that it doesn't matter, because if you have one set running it uses the same amount of CPU cycles as if you had two.

What does this mean
So back to what I was going to say, I am just going to briefly go through what this whole thing means, with the projects, points, points/hour (oh yes, you can change the column headings by going to "view" then "columns" and selecting which ones you want). For every block that your computer finishes processing you gain points. So for me you see that if I finished the two blocks i would have gained 481 points each. But they are red in this case because I stopped the project the whole night and at that rate I was going to miss the deadline. What is the deadline? When your computer gets issued that segment there is also a deadline issued as well. If you miss the deadline, say you've been pausing your computer a lot or downthrotting the CPU too much you will miss the deadline and the hard work your computer did will be erased. So just a word of caution. Also, be sure to set your computer to never sleep (at least when it's plugged in) so that this software can continuously run. And that's it! You're set!

What I liked/didn't like
I really like that this application uses multi-threading. Here's a screenshot of my cpu history. From what I see this application is all about power. It's pretty good from a desktop point of view, where the fans are noisy anyway and they're easily replaceable. On the laptop I prefer them to run at their minimum speed (about 2000 rpm), as it costs a lot more for them to be replaced. As well, its mac client to me seems a bit neglected. On windows there are additional projects where they use CUDA on GPUs to run tasks even faster. This is only on windows, no support for Mac OS X or linux. Though it can also run on your PS3.

So, as I said, I use a laptop, and I am not very happy to hear my fans revving up at all, which has been the case even with maximum throttling from InCrease. Since the throttling is done via a time interval the temperature of the CPU goes up and down which may induce the fans to rev up. For me I have seen the temperature go to about 84 degrees celsius, and at that point the fans usually rev up. I looked at the settings on the windows client and it's slightly easier to throttle it (it throttles by percentage not by time interval), but the interface is still not as configurable as it could be. If you're looking the installation guide for windows is here. I think that much could be improved on when it comes to customizing things, both on windows and mac.

So I hope you got something from this, and in the next segment I will talk about BOINC.

No comments:

Post a Comment