JUCS - Journal of Universal Computer Science 20(13): 1738-1765, doi: 10.3217/jucs-020-13-1738
Understanding Collaboration in Volunteer Computing Systems
expand article infoDavide Vega, Roc Meseguer, Felix Freitag, Sergio F. Ochoa§
‡ Universitat Politècnica de Catalunya, Barcelona, Spain§ Universidad de Chile, Santiago, Chile
Open Access
Abstract
Volunteer computing is a paradigm in which devices participating in a distributed environment share part of their resources to help others perform their activities. The effectiveness of this computing paradigm depends on the collaboration attitude adopted by the participating devices. Unfortunately for software designers it is not clear how to contribute with local resources to the shared environment without compromising resources that could then be required by the contributors. Therefore, many designers adopt a conservative position when defining the collaboration strategy to be embedded in volunteer computing applications. This position produces an underutilization of the devices’ local resources and reduces the effectiveness of these solutions. This article presents a study that helps designers understand the impact of adopting a particular collaboration attitude to contribute with local resources to the distributed shared environment. The study considers five collaboration strategies, which are analyzed in computing environments with both, abundance and scarcity of resources. The obtained results indicate that collaboration strategies based on effort-based incentives work better than those using contribution-based incentives. These results also show that the use of effort-based incentives does not jeopardize the availability of local resources for the local needs.
Keywords
volunteer computing, collaboration strategy, software design, effort-based incentives, resource sharing