Wednesday, November 23, 2011

Grid Computing: Folding@Home vs BOINC Part 2 (BOINC Guide and Conclusion)

In this part of the review I'm going to go over how to install BOINC as well as its operation and configuration. One think that I really like about BOINC is that there's an unoffical wikipedia for it, one that is up to date and is generally helpful. Here is the download link for the client and here's a short list of instructions. The install instructions are straight forward, and are identical to that of folding@home (Extract, put in applications folder, run).

Though, there are differences, and when you start running the client you have to choose a project to run. In BOINC, you have to make a username/password for every project you choose. This allows you to manage the preferences online. For just all of the projects you can create a new account from the client, except for world community grid where you need to go to their website in order to sign up. After you have signed up you "log in" using the client. I'm not going to try to persuade you to join a project in this post, as I'm sure it depends on your interests.

Here's how it looks once more, where only the active tasks are available. I have changed around some of the projects since last time. Just a bit more on this, this is the advanced view. I highly recommend the advanced view over the simple view (you can change it by going to "view" in the menubar and clicking "advanced view."



Preferences (Processor usage)
So after you have signed into a project it starts chugging away. Now for the preferences, there's actually a very detailed explanation of all of the settings here, or you can just click the question mark on the botton right (next to "ok" and "cancel"). On Mac if you have an ATI processor the GPU option won't make a difference. For more information there's an article on the wikipedia here. An important setting is going to be the % of the processors and % of CPU time, as you will be using this to control the temperature of your computer. Just a note, for the % of the processors if you have say a quad core processor with hyper-threading and say 100% it will give you 8 logistical processors and not 4 due to the hyper-threading. For example if you use 50% it should only use your four cores (and thus should not use hyper-threading). I personally have my CPU time set at 15% (at most). This is low because I want to preserve my fan speed. I could theoretically schedule BOINC to only run during the night but I still want it run without the fans being too involved (at 2000 rpm as I stated earlier). With these settings I can set BOINC to calculate while I am out and about, as long as my computer is plugged in.

Preferences (Network/Disk and memory usage)
For network I didn't change anything, though just a note. If you select "network activity always available" in the "activity" menubar item the preferences won't affect it. Only thing I changed in memory usage was to decrease the maximum memory usage of active use to 40% (which may still be high depending on your computer's total amount of memory), and I left it at 90% for idle since memory use for me at that time is not a concern.

What I liked/didn't like
One thing where BOINC is ahead of folding@home is its GPU support. At the moment it does support Macs that have NVIDIA GPUs, however my computer has an ATI version, which is not currently supported. However, the current beta version will be able to detect the ATI GPU. In fact, right now for the primeGrid project, already in the preferences there are options use of the ATI GPU. It's just the client that's lagging behind (apparently due to the lack of mac testers). On folding@home there is no support at all for Mac GPUs.

The settings for throttling the CPU is also far more varied, and allows me to set up a schedule where it can run. This was far from true for folding@home. I also enjoyed the fact that these work units are far smaller than that at folding@home, and at time it's interesting to see what tasks are available and active.

One word of caution, one time I shut off the client and closed the lid on the laptop too early. This caused errors in the client (specifically "task x exited with zero status with no 'finished' file) and made me abort a task and reset a project. So be careful when you shut off the client, and allow it to have time to fully quit or else there might be errors.

An update on that error, it came up again after I waited for the app to shut down. I'm going to experiment with just ignoring the error and see whether it'll continue processing.

Conclusions
So in conclusion, BOINC does everything folding@home does and more. It gives you more overall configurable options for the client, has a more intuitive and refined interface, and gives you access to a far greater reach of projects than that of folding@home.

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)


BOINC

Folding@Home
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.

InCrease
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.

Monday, November 21, 2011

Updates and Wallpapers

Hello, just a quick update as I'm still trying to type up reviews of the targus backpack and the OS, but in the meantime here's a small collection of wallpaper I've collected from the website simple desktops. I browse the website occasionally for wallpaper that I like and hope you enjoy.