100 likes | 233 Views
LaToya Green Mentor: Dr. Jaspal Subhlok Hien Nguyen. Performance Evaluation for Volunteer Computing. Outline. What is volunteer computing? Problem Statement Background BOINC V olpex Dataspace API Performance Evaluation Progress. What is Volunteer Computing?.
E N D
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.