The utility of exploiting idle workstations for parallel computation
SIGMETRICS '97 Proceedings of the 1997 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Linger Longer: fine-grain cycle stealing for networks of workstations
SC '98 Proceedings of the 1998 ACM/IEEE conference on Supercomputing
SETI@home: an experiment in public-resource computing
Communications of the ACM
Improving Parallel Job Scheduling by Combining Gang Scheduling and Backfilling Techniques
IPDPS '00 Proceedings of the 14th International Symposium on Parallel and Distributed Processing
Entropia: architecture and performance of an enterprise desktop grid system
Journal of Parallel and Distributed Computing - Special issue on computational grids
Utilization and Predictability in Scheduling the IBM SP2 with Backfilling
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
Resource Policing to Support Fine-Grain Cycle Stealing in Networks of Workstations
IEEE Transactions on Parallel and Distributed Systems
BOINC: A System for Public-Resource Computing and Storage
GRID '04 Proceedings of the 5th IEEE/ACM International Workshop on Grid Computing
The Computational and Storage Potential of Volunteer Computing
CCGRID '06 Proceedings of the Sixth IEEE International Symposium on Cluster Computing and the Grid
Empirical evaluation of shared parallel execution on independently scheduled clusters
CCGRID '05 Proceedings of the Fifth IEEE International Symposium on Cluster Computing and the Grid - Volume 01
Symbiotic space-sharing on SDSC's datastar system
JSSPP'06 Proceedings of the 12th international conference on Job scheduling strategies for parallel processing
Workload characteristics of a multi-cluster supercomputer
JSSPP'04 Proceedings of the 10th international conference on Job Scheduling Strategies for Parallel Processing
Load balancing: toward the infinite network and beyond
JSSPP'06 Proceedings of the 12th international conference on Job scheduling strategies for parallel processing
A Robust and Efficient Message Passing Library for Volunteer Computing Environments
Journal of Grid Computing
Long-term availability prediction for groups of volunteer resources
Journal of Parallel and Distributed Computing
Virtual EZ Grid: A Volunteer Computing Infrastructure for Scientific Medical Applications
International Journal of Handheld Computing Research
Hi-index | 0.00 |
Clusters typically represent a homogeneous, well maintained pool of high-end computation resources. This makes them particularly attractive for volunteer computing, where unused compute cycles are utilized for scientific guest applications. Cluster nodes are not idle as often as public PCs, but they are frequently underutilized while actively executing parallel applications. Hence, fully exploiting clusters for volunteer computing requires the ability to efficiently and invisibly steal the unused cycles at a fine grain from the currently running host applications, without slowing them down. In this paper we present measurements on a production compute cluster that show long periods of CPU and memory underutilization patterns that could be used to execute guest applications. In our experiments with NAS benchmarks on a small Linux cluster, cycle stealing led to a 3.6% average slowdown of host applications in the best case. This was accompanied by an overall improvement in the system throughput of 38%, when progress of the guest applications was included. We introduce simple guidelines on using clusters for volunteer computing. We also argue for the support of "zero priority" processes in OS schedulers which could virtually eliminate the impact of volunteer computing on host applications.