Abstract
“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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
"Publications by BOINC projects," https://boinc.berkeley.edu/wiki/Publications_by_BOINC_projects, (2018)
Reference.com, "How Many Computers are There in the World?," https://www.reference.com/technology/many-computers-world-e2e980daa5e128d0, (2014)
iTers News, "Huawei to launch Kirin 980," http://itersnews.com/?p=107208, (2018)
Toth, D.: "Increasing Participation in Volunteer Computing," in IEEE Parallel and Distributed Processing Workshops and PhD Forum (IPDPSW), Shanghai, (2011)
Heien, E., Kondo, D., Anderson, D.P.: A correlated resource model of internet end hosts. IEEE Trans. Parallel Distribut. Syst. 23(6), 977–984 (2012)
Mohammadi, M., Bazhirov, T.: "Comparative benchmarking of cloud computing vendors with high performance linpack," in Proceedings of the 2nd International Conference on High Performance Compilation, Computing and Communications, Hong Kong, (2018)
Amazon, "Amazon EC2 Pricing," https://aws.amazon.com/ec2/pricing/on-demand/, (2019)
Amazon, "Amazon EC2 Spot Instances Pricing," https://aws.amazon.com/ec2/spot/pricing/, (2019)
Wikipedia, "Nvidia Tesla," https://en.wikipedia.org/wiki/Nvidia_Tesla, (2019)
Kondo, D., Bahman, J., Malecot, P., Cappello, F., Anderson, D.: "Cost-Benefit Analysis of Cloud Computing versus Desktop Grids," in 18th International Heterogeneity in Computing Workshop, Rome, (2009)
Anderson, D. P., Reed, K.: "Celebrating diversity in volunteer computing," in 42nd Hawaii International Conference on System Sciences (HICSS '09), Waikoloa, HI, (2009)
Anderson, D. P.: "BOINC: A System for Public-Resource Computing and Storage," in 5th IEEE/ACM International Workshop on Grid Computing, Pittsburgh, PA, (2004)
McIntosh, E., Schmidt, F., Dinechin, F. D.: "Massive Tracking on Heterogeneous Platforms," in Proc. of 9th International Computational Accelerator Physics Conference, (2006)
Taufer, M., Anderson, D., Cicotti, P., III, C. B.:"Homogeneous Redundancy: a Technique to Ensure Integrity of Molecular Simulation Results Using Public Computing," in 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) Heterogeneous Computing Workshop, Denver, (2005)
Marosi, A. C., Balaton, Z., Kacsuk, P.: "GenWrapper: A generic wrapper for running legacy applications on desktop grids," in 2009 IEEE International Symposium on Parallel & Distributed Processing, Rome, (2009)
Merkel, D.: Docker: lightweight Linux containers for consistent development and deployment. Linux J. 2014, 239 (2014)
González, D. L., Vega, F. F. D., Trujillo, L., Olague, G., Segal, A. B.: "Customizable Execution Environments with Virtual Desktop Grid Computing," in Parallel and Distributed Computing and Systems (PDCS 2007), Cambridge, MA, (2007)
Segal B., Buncic P., Quintas, D., Gonzalez, D., Harutyunyan, A., Rantala, J., Weir, D.: "Building a volunteer cloud.," in Conferencia Latinoamericana de Computación de Alto Rendimiento, Mérida, Venezuela, 2009
Marosi, A., Kovacs, J., Kacsuk, P.: Towards a volunteer cloud system. Futur. Gener. Comput. Syst. 29, 1442–1451 (2014)
Ferreira, D., Araujo, F., Domingues, P.: "libboincexec: A Generic Virtualization Approach for the BOINC Middleware," in 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and PhD Forum (IPDPSW), Anchorage, (2011)
Christensen, C., Aina, T., Stainforth, D.: "The Challenge of Volunteer Computing With Lengthy Climate Model Simulations," in First IEEE International Conference on e-Science and Grid Technologies, Melbourne, (2005)
Anderson, D. P., Korpela, E., Walton, R.: "High-Performance Task Distribution for Volunteer Computing," in First IEEE International Conference on e-Science and Grid Technologies, Melbourne, (2005)
Efmer, F.: "Boinc Tasks," https://efmer.com/boinctasks/, (2018)
Anderson, D. P.: "Emulating Volunteer Computing Scheduling Policies," in Fifth Workshop on Desktop Grids and Volunteer Computing Systems (PCGrid 2011), Anchorage, (2011)
Kondo, D., Anderson, D. P., McLeod, J.: "Performance Evaluation of Scheduling Policies for Volunteer Computing," in 3rd IEEE International Conference on e-Science and Grid Computing, Banagalore, India, (2007)
Estrada, T., Taufer, M., Anderson, D.: "Performance prediction and analysis of BOINC projects: an empirical study with EmBOINC. J. Grid Comput. vol. 7, no. 537, (2007)
Liu, C., Layland, J.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM. 20(1), 46–61 (1973)
Sarmenta, L., Hirano, S., Ward, S.: "Towards Bayanihan: building an extensible framework for volunteer computing using Java". Concurrency: Pract. Exp. vol. 10, no 11–13 (1998)
Fabisiak, T., Danilecki, A.: "Browser-based harnessing of voluntary computational power". Found. Comput. Decis. Sci. J. Poznan Univ. Technol. vol 42, no 1 (2017)
Javadi, B., Kondo, D., Vincent, J.-M., Anderson, D.P.: Discovering statistical models of availability in large distributed systems: an empirical study of SETI@home. IEEE Trans. Parallel Distribut. Syst. 22(11), 1896–1903 (2011)
Toth, D., Finkel, D.: "Improving the productivity of volunteer computing by using the most effective task retrieval policies". J. Grid Comp. vol 7, no 519 (2009)
Taufer, M., Kerstens, A., Estrada, T., Flores, D., Teller, P.: "SimBA: a Discrete Event Simulator for Performance Prediction of Volunteer Computing Projects," in Proceedings of the International Workshop on Principles of Advanced and Distributed Simulation, San Diego (2007)
Donassolo, B., Casanova, H., Legrand, A., Velho, P.: "Fast and scalable simulation of volunteer computing systems using SimGrid," in Proceedings of the 19th ACM International Symposium on High Performance Distributed Computing, Chicago (2010)
Barranco, J., Cai, Y., Cameron, D., et al.: LHC@home: a BOINC-based volunteer computing infrastructure for physics studies at CERN. Open Eng. 7(1), 379–393 (2017)
Myers, D. S., Bazinet, A. L., Cummings, M. P.: "Expanding the reach of Grid computing: combining Globus- and BOINC-based systems," in Grids for Bioinformatics and Computational Biology, Wiley Book Series on Parallel and Distributed Computing, New York, John Wiley & Sons pp 71–85 (2008)
Andrzejak, A., Kondo, D., Anderson, D. P.: "Exploiting Non-Dedicated Resources for Cloud Computing," in 12th IEEE/IFIP Network Operations & Management Symposium, Osaka, Japan (2010)
Visegradi, A., Kovacs, J., Kacsuk, P.: Efficient extension of gLite VOs with BOINC based desktop grids. Futur. Gener. Comput. Syst. 32, 13–23 (2014)
Kacsuk, P., Kovacs, J., Farkas, A., Marosi, C., Balaton, Z.: Towards a powerful European DCI based on desktop grids. J. Grid Comput. 9(2), 219–239 (2011)
Bazinet, A.L., Cummings, M.P.: Subdividing long-running, variable-length analyses into short, fixed-length BOINC Workunits. J. Grid Comput. 7(4), 501–518 (2009)
Golle, P., Mironov, I.: "Uncheatable Distributed Computations.," in Proceedings of the 2001 Conference on Topics in Cryptology: The Cryptographer's Track at RSA. (2001)
Sonnek, J., Chandra, A., Weissman, J.: "Adaptive reputation-based scheduling on unreliable distributed infrastructures". IEEE Trans. Parallel Distribut. Syst. vol 18, no 11 (2007)
Christoforou, E., Anta, A., Georgiou, C., Mosteiro, M.: Algorithmic mechanisms for reliable master-worker internet-based computing. IEEE Trans. Comput. 63(1), 179–195 (2014)
Estrada, T., Taufer, M., Reed, K.: "Modeling Job Lifespan Delays in Volunteer Computing Projects," in 9th IEEE/ACM International Symposium on Cluster Computing and the Grid (2009)
Heien, E.M., Anderson, D.P., Hagihara, K.: Computing low latency batches with unreliable Workers in Volunteer Computing Environments. J. Grid Comput. 7(4), 501–518 (2009)
Lee, Y., Zomaya, A., Siegel, H.: "Robust task scheduling for volunteer computing systems". J. Supercomput. vol 53, no 163 (2010)
Chernov, I.: "Theoretical study of replication in desktop grid computing: Minimizing the mean cost," in Proceedings of the 2nd Applications in Information Technology (ICAIT-2016), Aizu-Wakamatsu, Japan (2016)
Watanabe, K., Fukushi, M., Horiguchi, S.: "Optimal Spot-checking to minimize the Computation Time in Volunteer Computing," in Proceedings of the 22nd IPDPS conference, PCGrid2008 workshop, Miami (2008)
Cano, P.P., Vargas-Lombardo, M.: Security threats in volunteer computing environments using the Berkeley open infrastructure for network computing (BOINC). Comput. Res. Model. 7(3), 727–734 (2015)
Elwaer, A., Harrison, A., Kelley, I., Taylor, I.: "Attic: a case study for distributing data in BOINC projects". In IEEE Ninth International Symposium on Parallel and Distributed Processing with Applications Workshops, Busan, South Korea (2011)
Cole, N., Desell, T., González, D. L., Vega, F. F. D., Magdon-Ismail, M., Newberg, H., Szymanski, B., Varela, C.: "Genetic Algorithm Implementation for Boinc". In de Vega F.F., Cantú-Paz E. (eds) Parallel and Distributed Computational Intelligence. Studies in Computational Intelligence, vol 269, pp 63–90 (2010)
Feki, M. S., Nguyen, V. H., Garbey, M.: "Genetic algorithm implementation for BOINC". Adv. Parallel Comput. Vol 19, Elsevier, pp 212–219 (2010)
Nikitina, N., Ivashko, E., Tchernykh, A.: "Congestion Game Scheduling Implementation for High-Throughput Virtual Drug Screening Using BOINC-Based Desktop Grid," in Malyshkin V. (eds) Parallel Computing Technologies. PaCT 2017. Lecture Notes in Computer Science, vol 10421., Nizhni Novgorod, Russia, Springer, pp 480–491 (2017)
Kanna, N., Subhlok, J., Gabriel, E., Rohit, E., Anderson, D.: "A Communication Framework for Fault-tolerant Parallel Execution," in The 22nd International Workshop on Languages and Compilers for Parallel Computing, Newark, Delaware (2009)
Costa, F., Veiga, L., Ferreira, P.: "BOINC-MR: MapReduce in a Volunteer Environment," in Meersman R. et al. (eds) On the Move to Meaningful Internet Systems: OTM 2012, Springer (2012)
Schlitter, N., Laessig, J., Fischer, S., Mierswa, I., "Distributed data analytics using RapidMiner and BOINC," in Proceedings of the 4th RapidMiner Community Meeting and Conference (RCOMM 2013), Porto, Portugal (2013)
Desell, T.: "Large scale evolution of convolutional neural networks using volunteer computing," in Proceedings of the Genetic and Evolutionary Computation Conference Companion, Berlin (2017)
Ivashko, E., Golovin, A.: "Partition Algorithm for Association Rules Mining in BOINC–based Enterprise Desktop Grid," in International Conference on Parallel Computing Technologies, Petrozavodsk (2015)
Vega-Rodríguez, M., Vega-Pérez, D., Gómez-Pulido, J., Sánchez-Pérez, J.: "Radio Network Design Using Population-Based Incremental Learning and Grid Computing with BOINC," in Applications of Evolutionary Computing., Heidelber (2007)
Pellicer, S., Ahmed, N., Pan, Y., Zheng, Y.: "Gene Sequence Alignment on a Public Computing Platform," in Proceedings of the 2005 International Conference on Parallel Processing Workshops, Oslo (2005)
Cochran, E.S., Lawrence, J.F., Christensen, C., Jakka, R.S.: The quake-catcher network: citizen science expanding seismic horizons. Seismol. Res. Lett. 80(1), 26–30 (2009)
Desell, T., Bergman, R., Goehner, K., Marsh, R., VanderClute, R., Ellis-Felege, S.: "Wildlife@Home: Combining Crowd Sourcing and Volunteer Computing to Analyze Avian Nesting Video," in 2013 IEEE 9th International Conference on eScience, Beijing (2013)
Silva, J. N., Veiga, L., Ferreira, P.: "nuBOINC: BOINC Extensions for Community Cycle Sharing," in Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops, Venice, Italy (2008)
Binti, N. N., Zakaria, M. N. B., Aziz, I. B. A., Binti, N. S.: "Optimizing BOINC scheduling using genetic algorithm based on thermal profile," in 2014 International Conference on Computer and Information Sciences, Kuala Lumpur, Malaysia (2014)
Science United, https://scienceunited.org/ (2018)
Klimeck, G., McLennan, M., Brophy, S. P., Adams, G. B., Lundstrom, M. S.: "nanoHUB.org: Advancing Education and Research in Nanotechnology," Computing in Science & Engineering, vol 10, no 17 (2008)
Shepherd, C., Arfaoui, G., Gurulian, I., Lee, R., Markantonakis, K., Akram, R., Sauveron, D., Conchon, E.: "Secure and Trusted Execution: Past, Present, and Future - A Critical Review in the Context of the Internet of Things and Cyber-Physical Systems," in 2016 IEEE Trustcom/BigDataSE/ISPA (2016)
Nov, O., Arazy, O., Anderson, D.: "Technology-Mediated Citizen Science Participation: A Motivational Model," in Fifth International AAAI Conference on Weblogs and Social Media (ICWSM 2011), Barcelona (2011)
Raoking, F., Cohoon, J. M., Cooke, K., Taufer, M., Estrada, T.: "Gender and volunteer computing: A survey study," in IEEE Frontiers in Education Conference (FIE) Proceedings, Madrid (2014)
Gridcoin, "The Computation Power of a Blockchain Driving Science and Data Analysis," https://gridcoin.us/assets/img/whitepaper.pdf (2018)
Chernov, I., Nikitina, N., Ivashka, E.: "Task scheduling in desktop grids: open problems". Open Eng. vol 7, no 1 (2017)
Dinis, G., Zakaria, N., Naono, K.: "Pluggable scheduling on an open-source based volunteer computing infrastructure," in 2014 International Conference on Computer and Information Sciences, Kuala Lumpur, Malaysia (2014)
Acknowledgements
Many people contributed to the ideas presented here and to their implementation. Thanks in particular to Bruce Allen, Nicolás Alvarez, Matt Blumberg, Karl Chen, Carl Christensen, Charlie Fenton, David Gedye, Francois Grey, Eric Korpela, Janus Kristensen, John McLeod VII, Kevin Reed, Ben Segal, Michela Taufer, and Rom Walton. The National Science Foundation has supported BOINC with several grants, most recently award #1664190.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Anderson, D.P. BOINC: A Platform for Volunteer Computing. J Grid Computing 18, 99–122 (2020). https://doi.org/10.1007/s10723-019-09497-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10723-019-09497-9