Tuesday, July 17, 2007

Volunteer Computing

I have not posted in this blog for the last month or so. I took a break to do some base work, though that has proved to be counter-productive. I guess am more productive when am doing the mind2finger thing and letting the world know my thoughts as I encounter them, or at least when I come across something new, rather than consolidating so many thoughts and waiting for a grand posting that will never be. This does not mean, soon or later, I will be making a grand post. But it is just another resolution that procrastination should never again creep into my dictionary.
This week I am participating in a workshop on volunteer computing, as a trainee. First a disambiguation of volunteer computing. Maybe for some, like I did when I received the advert for the workshop, would think more of volunteering as the process of offering oneself to do some work (often) for free, at free will. My thinking was the workshop was how to prepare me to volunteer my computing experience through offering my services to others. Well, I was not that far off from what volunteer computing; only that the focus of the free will is different, but the purpose is mainly to server others. Volunteer computing is an arrangement in which people (volunteers) provide computing resources to projects, which use the resources to do distributed computing and/or storage.
Having defined what volunteer computing is, we need to look at projects that require massive computing resources that might benefit from it, and also the technology (software, hardware and people) who would drive such projects. For a start, we got introduced to the Berkeley Open Infrastructure for Network Computing (BOINC project). We got introduced to the client and the server technology and the credit system that is used to encourage volunteering. I will be posting more on this shortly.