Performance Evaluation for Volunteer Computing
This document outlines a performance evaluation of volunteer computing, focusing on the integration of BOINC (Berkeley Open Infrastructure for Network Computing) with the Volpex Dataspace API. Volunteer computing allows individuals to donate computing resources for scientific projects, offering significant computation capacity at a low cost. The analysis aims to determine the performance characteristics of parallel applications leveraging these technologies, including application configurations and network usage. Key elements include task distribution, fault tolerance solutions, and various prediction techniques for node availability.
Performance Evaluation for Volunteer Computing
E N D
Presentation Transcript
LaToya Green Mentor: Dr. JaspalSubhlok Hien Nguyen Performance Evaluation for Volunteer Computing
Outline • What is volunteer computing? • Problem Statement • Background • BOINC • Volpex Dataspace API • Performance Evaluation • Progress
What is Volunteer Computing? • Distributed computing in which volunteers donate their computing resources to scientific research projects. • Significance • A large computation capacity • Low cost • Software Tools • BOINC is the most widely used middleware for volunteer computing projects. • Volpex is an API that allows parallel computation for BOINC applications. Volpex Dataspace is an API that allows communication between processes.
Problem Statement • Determine what type of performance can be expected from parallel applications with the integration of Volpex with BOINC. • Determine the application characteristics and parameter configurations that are most suitable for a volunteer application using the Volpex Dataspace API.
Berkeley Open Infrastructure for Network Computing (BOINC) • Scheduler (middleware) • Master-slave • Embarrassingly parallel • Bag-of-tasks • Pull model • User preferences • Processor usage • Network usage • Disk and memory usage Fig. 1 How BOINC works Fig. 2 BOINC user preferences
Volpex Dataspace API • Goal: to transform volunteer nodes into a virtual cluster to run parallel applications • Put/Get style communication • Solutions for fault tolerance: • Checkpointing • Redundancy (Replicas) • Integrating Volpex with BOINC • BOINC – task distribution and redundancy • Volpex – task communication Fig. 3 Put/Get style communication
Performance Evaluation • Parameters • Application ex. Sieve • Number of processes • Datasize (fixed) • Number of workunits/host (fixed) • Node Selection Algorithm: • Random/naïve/no policy • High CPU/Network bandwidth policy • Dr. Kondo’s availability prediction technique • Brent Rood’s availability prediction technique • Replication (redundancy) • Nodes on campus vs. nodes off campus
Progress • What I’ve done so far: • Code for on campus/off campus node selection • Parameter configuration file • Setup node selection algorithm and on campus/off campus node selection to be determined by configuration file • All information needed stored in output file • Next steps: • Complete configuration file for all parameters • Write program to create graphs for results • Run ~20 experiments for each combination of parameters
References • Rohit, E., Nguyen, H., Kanna, N., Subhlok J., Gabriel, E., Wang, Q., Cheung, M., Anderson,D.: A Robust Communication Framework for Parallel Execution on Volunteer PC Grids. • LeBlanc, T., Anand, R., Gabriel, E., Subhlok, J.: VolpexMPI: an MPI Library for Execution of Parallel Applications on Volatile Nodes.