In Partial Fulfillment of the Requirements for the Degree of
Doctor of Philosophy
Will give a preliminary defense of her dissertation
The availability of idle desktop computers represent an immense pool of unused computation, communication, and data storage capacity. Volunteer computing projects such as BOINC or CONDOR allow scientists to utilize these resources to solve highly compute intensive and data intensive problems. However, as of today, it is not possible to execute parallel application that requires communication between the processes on these systems.
In this thesis we propose to accomplish an efficient and scalable communication infrastructure for volatile compute environments, thus increasing the class of applications that can be executed in volunteer computing. In order to cope with the fundamental unreliability of these environments, a communication library deploying multiple copies of each application process is utilized. The thesis analysis and tackles some of the main drawbacks of currently existing solutions, by developing new algorithms that allow a process to prioritize the replicas of its communication partners in order to optimize application performance. Furthermore, we present the architecture required for a light-weight run time environment, that can manage application processes in a distributed environment despite of process failures and with the desired replication level.