Volundeer Computing
The growth and development of research methods have presented many opportunities for large-scale research over the past decades. With this increased research scale and therefore large amount of data acquired, modern research highly depends on efficient and dependable computing technology. One prominent way is by distributed computing. A distributed system is defined as collection of independent entities cooperating to solve problems that cannot or hardly be done individually (Kshemkalyani & Singhal, 2011). To that end, distributed computing attempts to improve performance in large-scale computing problems by resource sharing, enabling scientists to perform large computations in a time-efficient way (Hajibaba & Gorgin, 2014). To enhance effects of distributed computing, researchers may turn to “volunteer computing”. A platform has been developed for researchers to upload their programs, and where users choose to make their computational power available to these scientists as volunteers. Each uploaded C program is compiled to WebAssembly in the browser, and by doing so, volunteers can contribute by executing in their browser while avoiding any unnecessary downloads. Projects are divided in blocks and distributed such that each volunteer will execute one block. Once enough volunteers have executed all blocks of a full program, researcher are able to download their obtained results.
![Project0003](/static/volunteercomputing-5af6d7cf9f0fb550a5579074a3fe059b.png)
Multiple measures are taken to ensure user-friendly service and avoid saboteurs. Firstly, volunteers each hold a trust-rate based on their number and quality of contributions. Secondly, blocks are executed by a researcher- selected amount of people. Starting with two volunteers per block, unequal results lead to a third volunteer executing the block in strict method (i.e., complete equality counts as correct). Consequently, incorrect results lead to a lower trust-rate for the concerning volunteer. We have realized our goal with our project called Compunity, presenting an ready-for-launch website based on BOINC, where researchers can upload their projects and utilize the benefits of distributed computing in the browser with help of multiple volunteers.