Міжнародна конференція розробників
і користувачів вільного програмного забезпечення

BOINC - Not only calculations

Lukasz Swierczewski, Lomza, Poland

LVEE Winter 2014

Many people participated in the SETI@Home project, which was launched almost 15 years ago - ie 17 May 1999. At that time providing ones computing power to the scientists from big American research center was for a common user virtual adventure. Research conducted on shared computers involved (and still do) rather "popular" subject, searching in the radio waves, signals that may come from foreign civilization. The project has gained popularity and in this respect a comparison to todays "Facebook " can be quite accurate. One should remember though that this are completely different systems and SETI@Home began operations in 1999, when Internet in Poland was infancy. However, SETI@home and BOINC turned out to be a great initiative, which has already nearly two decades and unites people around the distributed computing.

Initially, the BOINC platform has been used only by the above-mentioned project SETI@Home. Today, according to statistics at BOINCstats there are more than 77 projects. A large number is carried out by scientific institutions such as CERN, Oxford University or University of Washington. But there are also projects directed by individuals.

For the calculations performed, BOINC users are rewarded with “credits”. They reflect, or rather should reflect person contribution to scientific calculations . But it is not ideal solution. In recent years, administrators of projects revealed a number of successful or failed attempts to obtain an incorrect (too large) number of credits for a time contributed. Any such attack, however, contributes to the improvement of the gaps in safety and fair “reward” for the users.

Due to the very large difference in performance, it is difficult to compare the points obtained by the graphics card (GPU ang.Graphics Processing Unit) with those assigned for work on a regular processor (CPU ang.Central Processing Unit) . For example, within one hour of video card can get us for example 10 , 000 credit points. At the same time modern computer , but without the graphics card supporting calculations obtained for example, only 200 credit points. A very large difference is due to the fact that the GPU under specific conditions can actually be 50x faster than classical CPU . It’s difficult to compare the contribution if we have only one number for reference. One person can exceed 50 000 points within one hour, and the other, without the use of graphics cards, after a month. We also need to know that all the calculations can be done on the CPU, but for graphics cards it is not possible to transfer programs for some research projects, because of their architecture. Some projects are therefore limited to processors. The user decides which BOINC projects to join. Sometimes user will have to choose between more interesting projects for science and a little less interesting, but more crediting ones.

BOINC is not just calculations. According to statistics provided by Ohloh website (created by former employees of Microsoft) BOINC is 427 899 lines of source code that has been written by 81 programmers (data from 29 January 2014). When we try to assess the cost of the system, using one of the models for software engineering called COCOMODO, it equals to 113 years of working for one programmer.

Figure 1. BOINC project – lines of code (data from 5 February 2014). Source: www.ohloh.net.

Figure 2. BOINC project – commits per month (data from 5 February 2014). Source: www.ohloh.net.

Many projects using BOINC also provides their source code of applications or modules. Many users often try to optimize the application code so that it becomes more afficient . Sometimes such an improved software goes to the administrators of the project, and will be officially added and used as standard on all computers in the system. Also an interesting idea is to announca a competition for the best algorithm and its implementation in a particular programming language. This type of far more “social” solution was used recently in the project OProject@Home (www.oproject.info) in the subproject Weird Engine, which aims to find the so-called “weird numbers”. After two months and receiving several interesting proposals, it turned out that the best solution has been sent by the Frenchman – Cedric Den Drijver. Basing on the new concept, a new version of the application has been created, which was several hundred times faster than the previous one. This change significantly contributed to the development of the project OProject@Home. With it you can now get far more results.

The only conclusion is that sometimes it is worth to describe a problem and ask for international help in finding a solution. If the issue is interesting, then, despite the fact, that the level of knowledge required to solve it, is very large and beyond knowledge of a statistical student, one can expect a response from some part of the world. For the creators of the BOINC projects, development can move in two directions. The first is calculations performed on thousands of computers and other, working on more and more perfect algorithms, which often are written not only by the official developers. Contribution to the project can be achieved by whole society, which forms around the project.

Abstract licensed under Creative Commons Attribution-ShareAlike 3.0 license