BOINC: A Platform for Volunteer Computing

“Volunteer computing” is the use of consumer digital devices for high-throughput scientific computing. It can provide large computing capacity at low cost, but presents challenges due to device heterogeneity, unreliability, and churn. BOINC, a widely-used open-source middleware system for volunteer computing, addresses these challenges. We describe BOINC’s features, architecture, implementation, and algorithms.

[1]  Boleslaw K. Szymanski,et al.  Evolutionary Algorithms on Volunteer Computing Platforms: The MilkyWay@Home Project , 2010, Parallel and Distributed Computational Intelligence.

[2]  Predrag Buncic,et al.  Building a Volunteer Cloud , 2009 .

[4]  David P. Anderson,et al.  Performance Evaluation of Scheduling Policies for Volunteer Computing , 2007, Third IEEE International Conference on e-Science and Grid Computing (e-Science 2007).

[5]  David P. Anderson,et al.  Performance Prediction and Analysis of BOINC Projects: An Empirical Study with EmBOINC , 2009, Journal of Grid Computing.

[6]  David P. Anderson,et al.  Exploiting non-dedicated resources for cloud computing , 2010, 2010 IEEE Network Operations and Management Symposium - NOMS 2010.

[7]  Péter Kacsuk,et al.  Efficient extension of gLite VOs with BOINC based desktop grids , 2014, Future Gener. Comput. Syst..

[8]  David Finkel,et al.  Improving the Productivity of Volunteer Computing by Using the Most Effective Task Retrieval Policies , 2009, Journal of Grid Computing.

[9]  Marc Garbey,et al.  Parallel Genetic Algorithm Implementation for BOINC , 2009, PARCO.

[10]  Masaru Fukushi,et al.  Optimal spot-checking to minimize the computation time in volunteer computing , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[11]  David Toth,et al.  Increasing Participation in Volunteer Computing , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[12]  David P. Anderson,et al.  A Correlated Resource Model of Internet End Hosts , 2012, IEEE Transactions on Parallel and Distributed Systems.

[13]  Trilce Estrada,et al.  Modeling Job Lifespan Delays in Volunteer Computing Projects , 2009, 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid.

[14]  Péter Kacsuk,et al.  Towards a volunteer cloud system , 2013, Future Gener. Comput. Syst..

[15]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[16]  Arkadiusz Danilecki,et al.  Browser-based Harnessing of Voluntary Computational Power , 2017 .

[17]  David P. Anderson,et al.  Homogeneous redundancy: a technique to ensure integrity of molecular simulation results using public computing , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[18]  Luís Veiga,et al.  nuBOINC: BOINC Extensions for Community Cycle Sharing , 2008, 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops.

[19]  David P. Anderson,et al.  Correlated Resource Models of Internet End Hosts , 2010, 2011 31st International Conference on Distributed Computing Systems.

[20]  Travis Desell,et al.  Large scale evolution of convolutional neural networks using volunteer computing , 2017, GECCO.

[21]  V. I. Tishchenko,et al.  Russian participants in BOINC-based volunteer computing projects. The activity statistics , 2015 .

[22]  Abhishek Chandra,et al.  Adaptive Reputation-Based Scheduling on Unreliable Distributed Infrastructures , 2007, IEEE Transactions on Parallel and Distributed Systems.

[23]  Jean-Marc Vincent,et al.  Discovering Statistical Models of Availability in Large Distributed Systems: An Empirical Study of SETI@home , 2011, IEEE Transactions on Parallel and Distributed Systems.

[24]  David P. Anderson,et al.  A Communication Framework for Fault-Tolerant Parallel Execution , 2009, LCPC.

[25]  Laurence Field,et al.  A world-wide databridge supported by a commercial cloud provider , 2017 .

[26]  Dirk Merkel,et al.  Docker: lightweight Linux containers for consistent development and deployment , 2014 .

[27]  Oded Nov,et al.  Technology-Mediated Citizen Science Participation: A Motivational Model , 2011, ICWSM.

[28]  Norzatul Natrah Binti,et al.  Optimizing BOINC scheduling using genetic algorithm based on thermal profile , 2014, 2014 International Conference on Computer and Information Sciences (ICCOINS).

[29]  David P. Anderson Emulating Volunteer Computing Scheduling Policies , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[30]  Henri Casanova,et al.  Fast and scalable simulation of volunteer computing systems using SimGrid , 2010, HPDC '10.

[31]  Chryssis Georgiou,et al.  Algorithmic Mechanisms for Reliable Master-Worker Internet-Based Computing , 2014, IEEE Transactions on Computers.

[32]  Evgeny Ivashko,et al.  Task Scheduling in Desktop Grids: Open Problems , 2017 .

[33]  David P. Anderson,et al.  BOINC: a system for public-resource computing and storage , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[34]  Elizabeth S. Cochran,et al.  The Quake-Catcher Network: Citizen Science Expanding Seismic Horizons , 2009 .

[35]  Leonardo Trujillo,et al.  Customizable execution environments with virtual desktop grid computing , 2007 .

[36]  Michael P. Cummings,et al.  Subdividing Long-Running, Variable-Length Analyses Into Short, Fixed-Length BOINC Workunits , 2015, Journal of Grid Computing.

[37]  Franck Cappello,et al.  Cost-benefit analysis of Cloud Computing versus desktop grids , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[38]  David P. Anderson,et al.  High-performance task distribution for volunteer computing , 2005, First International Conference on e-Science and Grid Computing (e-Science'05).

[39]  David P. Anderson,et al.  Celebrating Diversity in Volunteer Computing , 2009 .

[40]  Ian J. Taylor,et al.  Attic: A Case Study for Distributing Data in BOINC Projects , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[41]  Miguel Vargas-Lombardo,et al.  Security Threats in Volunteer Computing Environments Using the Berkeley Open Infrastructure for Network Computing (BOINC) , 2012 .

[42]  Patricia J. Teller,et al.  SimBA: A Discrete Event Simulator for Performance Prediction of Volunteer Computing Projects , 2007, 21st International Workshop on Principles of Advanced and Distributed Simulation (PADS'07).

[43]  Andrei Tchernykh,et al.  Congestion Game Scheduling Implementation for High-Throughput Virtual Drug Screening Using BOINC-Based Desktop Grid , 2017, PaCT.

[44]  Philippe Golle,et al.  Uncheatable Distributed Computations , 2001, CT-RSA.

[45]  Satoshi Hirano,et al.  Towards Bayanihan: building an extensible framework for volunteer computing using Java † , 1998 .

[46]  Yi Pan,et al.  Gene sequence alignment on a public computing platform , 2005, 2005 International Conference on Parallel Processing Workshops (ICPPW'05).

[47]  Alexander Golovin,et al.  Partition Algorithm for Association Rules Mining in BOINC-based Enterprise Desktop Grid , 2015, PaCT.

[48]  Alexandru Iosup,et al.  A Performance Analysis of EC2 Cloud Computing Services for Scientific Computing , 2009, CloudComp.

[49]  Damien Sauveron,et al.  Secure and Trusted Execution: Past, Present, and Future - A Critical Review in the Context of the Internet of Things and Cyber-Physical Systems , 2016, 2016 IEEE Trustcom/BigDataSE/ISPA.

[50]  Joanne McGrath Cohoon,et al.  Gender and volunteer computing: A survey study , 2014, 2014 IEEE Frontiers in Education Conference (FIE) Proceedings.

[51]  Miguel A. Vega-Rodríguez,et al.  Radio Network Design Using Population-Based Incremental Learning and Grid Computing with BOINC , 2007, EvoWorkshops.

[52]  Luís Veiga,et al.  BOINC-MR: MapReduce in a Volunteer Environment , 2012, OTM Conferences.

[53]  Ronald Marsh,et al.  Wildlife@Home: Combining Crowd Sourcing and Volunteer Computing to Analyze Avian Nesting Video , 2013, 2013 IEEE 9th International Conference on e-Science.

[54]  Kenichi Hagihara,et al.  Computing Low Latency Batches with Unreliable Workers in Volunteer Computing Environments , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[55]  Albert Y. Zomaya,et al.  Robust task scheduling for volunteer computing systems , 2010, The Journal of Supercomputing.

[56]  Péter Kacsuk,et al.  Towards a Powerful European DCI Based on Desktop Grids , 2011, Journal of Grid Computing.

[57]  Mohammad Mohammadi,et al.  Comparative benchmarking of cloud computing vendors with high performance linpack , 2017, HP3C.

[58]  Filipe Araújo,et al.  libboincexec: A Generic Virtualization Approach for the BOINC Middleware , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[59]  Laurence Field,et al.  LHC@Home: a BOINC-based volunteer computing infrastructure for physics studies at CERN , 2017 .

[60]  Nordin Zakaria,et al.  Pluggable scheduling on an open-source based volunteer computing infrastructure , 2014, 2014 International Conference on Computer and Information Sciences (ICCOINS).

[61]  Péter Kacsuk,et al.  GenWrapper: A generic wrapper for running legacy applications on desktop grids , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[62]  Daniel S. Myers,et al.  Expanding the Reach of Grid Computing: Combining Globus- and BOINC-Based Systems , 2007, Grid Computing for Bioinformatics and Computational Biology.

[63]  Gerhard Klimeck,et al.  nanoHUB.org: Advancing Education and Research in Nanotechnology , 2008, Computing in Science & Engineering.

[64]  E. McIntosh,et al.  MASSIVE TRACKING ON HETEROGENEOUS PLATFORMS , 2006 .