Cover from Linux magazine, BOINC
Berkeley Open Infrastructure
for Network Computing
http://bit.ly/boinc_srbiau
To get more references visit:
Pooyan
Mehrparvar
i. A brief introduction to volunteer computing & BOINC
ii. BOINC’s applications
iii. BOINC’s architecture
iv. How to join a popular BOINC project
v. How to set-up your own BOINC project
 Why do we choose this topic?
 What is volunteer computing?
 What is BOINC?
Volunteer Computing using BOINC
 An established technology that enables
ordinary citizens donate their computing
resources to one or more "projects".
 BOINC is the most widely-used
middleware system
 a client program runs on the volunteer's
computer
 BOINC was introduced by David P.
Anderson
 BOINC is designed to support applications that
have large computation requirements, storage
requirements, or both. The main requirement of
the application is that it be divisible into a large
number (thousands or millions) of jobs that can
be done independently.
Goal:
Use all the computers in the world, all
the time, to do worthwhile things
Volunteer Computing using BOINC
 Security: BOINC uses code signing to prevent
distribution of malicious executables. Each
project has a key pair for code signing and the
private key kept on network-isolated machine
 Virtualization as a solution for client’s security
 Project:
‱ An entity that does distributed computing using BOINC.
 Application:
‱ A project can include multiple applications
‱ an application includes several programs (for different platforms) and a set of
workunits and results
 Application versions:
‱ A particular application program version,compiled for a particular platform
 Workunit:
a computation to be performed.
‱ associated with an application, not with an application version
 Result:
‱ an instance of a computation, either unstarted, in progress, or completed.
‱ Each result is associated with a workunit.
Volunteer Computing using BOINC
 Cycle scavenging
 BOINC uses computers’s idle cycles of CPU/GPU and other resources to operate
(by default)
 To avoid high battery consumption/3G charge the BOINC android app runs on
A/C power & WiFi connection (by default)
Client can run BOINC as:
Screensaver (with fancy graphics)
Window service (running in the background)
Application (displaying results in tabular form)
 SETI@home development (1998)
 Ifrastructure issues, United devices (2000)
 Uited devices falling out, SETI@home failed, hacked(2001)
 BOINC was introduced (2002)
 Climateprediction.net, SETI@home, LHC@home were implemented on BOINC (2004)
 Rosseta@home, Einstein@home, IBM World community Grid, Primegride (2005)
 BOINCstats (BAM!), Gridrepublic, BOINC wrapper (2006)
 GPU support, Multi-core apps (2008)
 BOINC packages for debian (2010)
 Apps in virtual machines, vbox wrapper (Server-side) (2011)
 Android, Condor/OSG collaboration, Git (2012)
 Virtualbox client (2013)
 Samsung app (Power sleep), HTC app (Power to give) (2014)
 Server: Unix-based operating sytems (Debian based linux is recommended)
Microsoft Windows Vista or later (POSIX ready)
 Client:
 Linux (x86/x64)
 Microsoft windows (x86/x64)
 MacOS (x86/x64)
 Playstation3
 Android
Virtualization as a solution for cross-platform distributed
systems (Virtualbox, Vmware, VirtualPC,...)
 FLOPS as a measure for computer performance in scientific fields
 (Floating point operations per second)
 Some computer systems are unable to to run FLOPS benchamrk
 MIPS/MOPS: suitable for database query, word processing,
spreadsheets, or to run multiple virtual operating systems
 Fastest supercomputer: China's Tianhe-2 running 33.86 petaflops (June 10, 2013)
 BOINC: Active: 232,691 volunteers, 718,577 computers.
24-hour average: 8.308 petaFLOPS (December 19, 2014)
 General-purpose computing on graphics processing units (GPGPU)
 Playstation 4 (ATI) :
18 compute units, 64 cores per unit = 1,152 cores
Theorical peak performance = 1.84 TFLOPS
 Playstation 3’s CUDA (NVIDIA) is widley used in BOINC projects
e.g Folding@home
ïŹ Computational Science : rosseta@home
ïŹ Virtual campus supercomputing : univ. of
Westminster in London
ïŹ Desktop grids for business : Slicify project
ïŹ Integration with HTCondor to allow Globus-based
grids to run jobs for BOINC projects : Einstein@OSG
Volunteer Computing using BOINC
Computational science is concerned with constructing
mathematical models and quantitative analysis techniques and
using computers to analyze and solve scientific problems.
BOINC is used in:
 Physics, Astrophysics
 Mathematics
 Biology and medicince (Protein folding)
 Distributed sensing
 Climate modeling
 Games, 3D animation Rendering,...
BOINC popular projects:
 Physics, Astrophysics: LHC@home, Einstein@home, SETI@home
 Mathematics: SZTAKI Desktop Grid, Primegride
 Biology and medicince: Folding@home, Rosseta@home
 Distributed sensing: Quake Catcher Network
 Climate modeling: Climateprediction.net
 Games, 3D animation Rendering,... : Chess@home, Enigma@home
Find more projects on:
http://boinc.berkeley.edu/projects.php
Volunteer Computing using BOINC
 Amino Acids, Proteins, DNA
 Protein structure prediction / Modeling proteins structure
 Rosseta@home helps to find a cure for:
 Alzheimer’s disease
 HIV
 Malaria
 Anthrax
 Herpes simplex virus 1
Volunteer Computing using BOINC
 Crowdsourcing is the process of getting work or funding,
usually online, from a crowd of people.
 Human vs Computer
 From the creators of Rosseta@home (Washington Univ.)
 Similar to Rosetta@home, Foldit is aimed as a means of
discovering native protein structures faster, through a
combination of crowdsourcing and distributed computing.
 Game with a purpose
 In 2011 gamers helped to decipher the crystal structure of
M-PMV (virus causing AIDS in monkeys)
Snapshot of Foldit game
Challenges while using a BOINC system:
How can we depend on clients? Are they permanent?
Will they reach the deadlines?
Is the produced result valid?
How can we trust a BOINC server?
How can we trust a BOINC client?
How to send jobs to various platforms?
Some features of a BOINC system:
homogeneous redundancy (sending workunits only to computers of the
same platform—e.g.: Win XP SP2 only.)
workunit trickling (sending information to the server before the workunit
completes)
locality scheduling (sending workunits to computers that already have the
necessary files and creating work on demand)
work distribution based on host parameters (workunits requiring 512
MB of RAM, for example, will only be sent to hosts having at least that much
RAM, We send more jobs to multi-core CPUs/GPUs)
Double checking: (server sends the same workunit to at least two clients,
then it compares the result by validation techniques (bitwise, sample trivial,
fuzzy) or a customized validation technique
Job scheduling is needed in both server & client: priority between
different tasks, reaching deadlines
 To avoid cheating, credits are given when after the job is validated by the server
In multitasking computer systems, a daemon is a computer
program that runs as a background process, rather than being
under the direct control of an interactive user
 Generator
 Transitioner
 Feeder
 Scheduler
 Validator
 Assimilator
 File deleter
Volunteer Computing using BOINC
 Regiter at Boincstats (BAM)
 Choose your project(s)
 Join/create a team (optional)
 Download the BOINC client (BOINC manager)
 Log into software
 Immediately the project(s) will be attached
 Tasks will be downloaded
 Completed tasks will be uploaded to the server
 You will gain due to your performance
 New job will be downloaded
Step by step manual is available at:
http://bit.ly/boinc_srbiau
BOINC client manager running four tasks (three projects)
Project configuration in a nutshell!:
 Configure a LAMP (Linux, Apache server, Mysql, Php/Phyton)
A virtualbox debian linux is available at BOINC’s website
 Develope your own project (mostly done in C++ (GCC), Fortran)
 Attach your project url in boincmanager (Client)
“your server ip/projectname” (exp: http://192.168.1.80/testproject)
 Monitor your project perfomance/administaration at
“your server ip/projectname_ops” (exp: http://192.168.1.80/testproject_ops)
Step by step video is available at:
http://bit.ly/boinc_srbiau
BOINC server (left) + BOINC manager client (right) using virualization
 Conceived to be used by scientists, not IT professionals
 BOINC offers tools for
◩ Creating, starting, stopping and querying projects
◩ Adding new applications, new platforms, 

◩ Creating workunits
◩ Monitoring server performance
(All these procedures could be done by UNIX shell commands directly)
Volunteer Computing using BOINC
Volunteer Computing using BOINC
 A precise evaluation before choosing BOINC as a solution, comparing to
other alternatives (JPPF, other cloud or distributed systems)
 Fundamental undrestaning of BOINC architecture including it’s
daemons, repositories, shell-script commands, etc
 Good knowledge and experience of linux environment (shell)
 C/C++, Fortran programming skills (GCC, VC++, etc)
 Server/network configuration
 Security issues
 The architecture is centeriliezed in contrast of most Grid systems
 Insufficient Interest from Computer Science
 Insufficient Interest from scientists
 Insufficient Interest from funding agencies
 According to official reports volunteers are not increasing
 Complexity of server and job submission
 Insufficient documentations (obsolete docs)
 Rare experiment in web society (You can’t find your answers in BOINC
forums, Stack-overflow, etc), Risk of failure

More Related Content

PDF
ExSciTecH: Expanding Volunteer Computing to Explore Science, Technology, and ...
PPTX
"Volunteer Computing With Boinc" por Diamantino Cruz e Ricardo Madeira
PPTX
hadoop
PDF
"Grid Computing: BOINC Overview" por Rodrigo Neves, Nuno Mestre, Francisco Ma...
PDF
PyCon HK 2018 - Heterogeneous job processing with Apache Kafka
PPT
Designing Distributed Systems: Google Cas Study
PDF
Google File System
PDF
Kai Eckert - A Linked Data based Infrastructure for DM2E
ExSciTecH: Expanding Volunteer Computing to Explore Science, Technology, and ...
"Volunteer Computing With Boinc" por Diamantino Cruz e Ricardo Madeira
hadoop
"Grid Computing: BOINC Overview" por Rodrigo Neves, Nuno Mestre, Francisco Ma...
PyCon HK 2018 - Heterogeneous job processing with Apache Kafka
Designing Distributed Systems: Google Cas Study
Google File System
Kai Eckert - A Linked Data based Infrastructure for DM2E

Viewers also liked (6)

PPTX
Grid computing the grid
PPTX
Gamification for volunteer cloud computing
PPTX
NoSQL databases - An introduction
PPTX
How Blockchain and Smart Buildings can Reshape the Internet
ODP
Different Types of Containers in Spring
PPT
Seminar Presentation Hadoop
Grid computing the grid
Gamification for volunteer cloud computing
NoSQL databases - An introduction
How Blockchain and Smart Buildings can Reshape the Internet
Different Types of Containers in Spring
Seminar Presentation Hadoop

Similar to Volunteer Computing using BOINC (20)

PPT
2nd ARM Developer Day - mbed Workshop - ARM
PDF
Software update for IoT: the current state of play
PPS
Bfc Presentation
PDF
Add the power of the Web to your embedded devices with WPE WebKit
 
DOC
Srikanth_PILLI_CV_latest
ODP
Cloud BioLinux S.Africa
PDF
Building End-user Applications on Embedded Devices with WPE
 
PPTX
IOT with Drupal 8 - Webinar Hyderabad Drupal Community
ODP
ERTS 2008 - Using Linux for industrial projects
PDF
F02-Cloud-Cloud BioLinux
DOCX
Documentation
PDF
Encode Club Hackathon
PDF
Why the yocto project for my io t project elc_edinburgh_2018
PDF
Using OSGi for the Realization of Complex Building Management Systems - Peter...
DOCX
Wonho Park_20151209
PPTX
(WPF + WinForms) * .NET Core = Modern Desktop
PDF
CHPC Workshop Morning Session
PDF
Developing for Industrial IoT with Linux OS on DragonBoardℱ 410c: Session 1
PDF
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
2nd ARM Developer Day - mbed Workshop - ARM
Software update for IoT: the current state of play
Bfc Presentation
Add the power of the Web to your embedded devices with WPE WebKit
 
Srikanth_PILLI_CV_latest
Cloud BioLinux S.Africa
Building End-user Applications on Embedded Devices with WPE
 
IOT with Drupal 8 - Webinar Hyderabad Drupal Community
ERTS 2008 - Using Linux for industrial projects
F02-Cloud-Cloud BioLinux
Documentation
Encode Club Hackathon
Why the yocto project for my io t project elc_edinburgh_2018
Using OSGi for the Realization of Complex Building Management Systems - Peter...
Wonho Park_20151209
(WPF + WinForms) * .NET Core = Modern Desktop
CHPC Workshop Morning Session
Developing for Industrial IoT with Linux OS on DragonBoardℱ 410c: Session 1
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

Recently uploaded (20)

PDF
OpenAssetIO Virtual Town Hall - August 2025.pdf
PDF
Top AI Tools for Project Managers: My 2025 AI Stack
PPTX
TRAVEL SUPPLIER API INTEGRATION | XML BOOKING ENGINE
PPTX
Relevance Tuning with Genetic Algorithms
PPTX
Independent Consultants’ Biggest Challenges in ERP Projects – and How Apagen ...
PPTX
UNIT II: Software design, software .pptx
PDF
WhatsApp Chatbots The Key to Scalable Customer Support.pdf
PDF
Software Development Company - swapdigit | Best Mobile App Development In India
PDF
MaterialX Virtual Town Hall - August 2025
PPTX
Greedy best-first search algorithm always selects the path which appears best...
PPTX
ESDS_SAP Application Cloud Offerings.pptx
PPTX
oracle_ebs_12.2_project_cutoveroutage.pptx
PDF
Difference Between Website and Web Application.pdf
PDF
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
PDF
C language slides for c programming book by ANSI
PPTX
SAP Business AI_L1 Overview_EXTERNAL.pptx
PDF
OpenColorIO Virtual Town Hall - August 2025
PDF
10 Mistakes Agile Project Managers Still Make
PPTX
Comprehensive Guide to Digital Image Processing Concepts and Applications
PPTX
Phoenix Marketo User Group: Building Nurtures that Work for Your Audience. An...
OpenAssetIO Virtual Town Hall - August 2025.pdf
Top AI Tools for Project Managers: My 2025 AI Stack
TRAVEL SUPPLIER API INTEGRATION | XML BOOKING ENGINE
Relevance Tuning with Genetic Algorithms
Independent Consultants’ Biggest Challenges in ERP Projects – and How Apagen ...
UNIT II: Software design, software .pptx
WhatsApp Chatbots The Key to Scalable Customer Support.pdf
Software Development Company - swapdigit | Best Mobile App Development In India
MaterialX Virtual Town Hall - August 2025
Greedy best-first search algorithm always selects the path which appears best...
ESDS_SAP Application Cloud Offerings.pptx
oracle_ebs_12.2_project_cutoveroutage.pptx
Difference Between Website and Web Application.pdf
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
C language slides for c programming book by ANSI
SAP Business AI_L1 Overview_EXTERNAL.pptx
OpenColorIO Virtual Town Hall - August 2025
10 Mistakes Agile Project Managers Still Make
Comprehensive Guide to Digital Image Processing Concepts and Applications
Phoenix Marketo User Group: Building Nurtures that Work for Your Audience. An...

Volunteer Computing using BOINC

  • 1. Cover from Linux magazine, BOINC
  • 2. Berkeley Open Infrastructure for Network Computing http://bit.ly/boinc_srbiau To get more references visit: Pooyan Mehrparvar
  • 3. i. A brief introduction to volunteer computing & BOINC ii. BOINC’s applications iii. BOINC’s architecture iv. How to join a popular BOINC project v. How to set-up your own BOINC project
  • 4.  Why do we choose this topic?  What is volunteer computing?  What is BOINC?
  • 6.  An established technology that enables ordinary citizens donate their computing resources to one or more "projects".  BOINC is the most widely-used middleware system  a client program runs on the volunteer's computer  BOINC was introduced by David P. Anderson
  • 7.  BOINC is designed to support applications that have large computation requirements, storage requirements, or both. The main requirement of the application is that it be divisible into a large number (thousands or millions) of jobs that can be done independently. Goal: Use all the computers in the world, all the time, to do worthwhile things
  • 9.  Security: BOINC uses code signing to prevent distribution of malicious executables. Each project has a key pair for code signing and the private key kept on network-isolated machine  Virtualization as a solution for client’s security
  • 10.  Project: ‱ An entity that does distributed computing using BOINC.  Application: ‱ A project can include multiple applications ‱ an application includes several programs (for different platforms) and a set of workunits and results  Application versions: ‱ A particular application program version,compiled for a particular platform  Workunit: a computation to be performed. ‱ associated with an application, not with an application version  Result: ‱ an instance of a computation, either unstarted, in progress, or completed. ‱ Each result is associated with a workunit.
  • 12.  Cycle scavenging  BOINC uses computers’s idle cycles of CPU/GPU and other resources to operate (by default)  To avoid high battery consumption/3G charge the BOINC android app runs on A/C power & WiFi connection (by default) Client can run BOINC as: Screensaver (with fancy graphics) Window service (running in the background) Application (displaying results in tabular form)
  • 13.  SETI@home development (1998)  Ifrastructure issues, United devices (2000)  Uited devices falling out, SETI@home failed, hacked(2001)  BOINC was introduced (2002)  Climateprediction.net, SETI@home, LHC@home were implemented on BOINC (2004)  Rosseta@home, Einstein@home, IBM World community Grid, Primegride (2005)  BOINCstats (BAM!), Gridrepublic, BOINC wrapper (2006)  GPU support, Multi-core apps (2008)  BOINC packages for debian (2010)  Apps in virtual machines, vbox wrapper (Server-side) (2011)  Android, Condor/OSG collaboration, Git (2012)  Virtualbox client (2013)  Samsung app (Power sleep), HTC app (Power to give) (2014)
  • 14.  Server: Unix-based operating sytems (Debian based linux is recommended) Microsoft Windows Vista or later (POSIX ready)  Client:  Linux (x86/x64)  Microsoft windows (x86/x64)  MacOS (x86/x64)  Playstation3  Android Virtualization as a solution for cross-platform distributed systems (Virtualbox, Vmware, VirtualPC,...)
  • 15.  FLOPS as a measure for computer performance in scientific fields  (Floating point operations per second)  Some computer systems are unable to to run FLOPS benchamrk  MIPS/MOPS: suitable for database query, word processing, spreadsheets, or to run multiple virtual operating systems
  • 16.  Fastest supercomputer: China's Tianhe-2 running 33.86 petaflops (June 10, 2013)  BOINC: Active: 232,691 volunteers, 718,577 computers. 24-hour average: 8.308 petaFLOPS (December 19, 2014)
  • 17.  General-purpose computing on graphics processing units (GPGPU)  Playstation 4 (ATI) : 18 compute units, 64 cores per unit = 1,152 cores Theorical peak performance = 1.84 TFLOPS  Playstation 3’s CUDA (NVIDIA) is widley used in BOINC projects e.g Folding@home
  • 18. ïŹ Computational Science : rosseta@home ïŹ Virtual campus supercomputing : univ. of Westminster in London ïŹ Desktop grids for business : Slicify project ïŹ Integration with HTCondor to allow Globus-based grids to run jobs for BOINC projects : Einstein@OSG
  • 20. Computational science is concerned with constructing mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific problems.
  • 21. BOINC is used in:  Physics, Astrophysics  Mathematics  Biology and medicince (Protein folding)  Distributed sensing  Climate modeling  Games, 3D animation Rendering,...
  • 22. BOINC popular projects:  Physics, Astrophysics: LHC@home, Einstein@home, SETI@home  Mathematics: SZTAKI Desktop Grid, Primegride  Biology and medicince: Folding@home, Rosseta@home  Distributed sensing: Quake Catcher Network  Climate modeling: Climateprediction.net  Games, 3D animation Rendering,... : Chess@home, Enigma@home Find more projects on: http://boinc.berkeley.edu/projects.php
  • 24.  Amino Acids, Proteins, DNA  Protein structure prediction / Modeling proteins structure  Rosseta@home helps to find a cure for:  Alzheimer’s disease  HIV  Malaria  Anthrax  Herpes simplex virus 1
  • 26.  Crowdsourcing is the process of getting work or funding, usually online, from a crowd of people.  Human vs Computer
  • 27.  From the creators of Rosseta@home (Washington Univ.)  Similar to Rosetta@home, Foldit is aimed as a means of discovering native protein structures faster, through a combination of crowdsourcing and distributed computing.  Game with a purpose  In 2011 gamers helped to decipher the crystal structure of M-PMV (virus causing AIDS in monkeys)
  • 29. Challenges while using a BOINC system: How can we depend on clients? Are they permanent? Will they reach the deadlines? Is the produced result valid? How can we trust a BOINC server? How can we trust a BOINC client? How to send jobs to various platforms?
  • 30. Some features of a BOINC system: homogeneous redundancy (sending workunits only to computers of the same platform—e.g.: Win XP SP2 only.) workunit trickling (sending information to the server before the workunit completes) locality scheduling (sending workunits to computers that already have the necessary files and creating work on demand) work distribution based on host parameters (workunits requiring 512 MB of RAM, for example, will only be sent to hosts having at least that much RAM, We send more jobs to multi-core CPUs/GPUs) Double checking: (server sends the same workunit to at least two clients, then it compares the result by validation techniques (bitwise, sample trivial, fuzzy) or a customized validation technique Job scheduling is needed in both server & client: priority between different tasks, reaching deadlines  To avoid cheating, credits are given when after the job is validated by the server
  • 31. In multitasking computer systems, a daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user  Generator  Transitioner  Feeder  Scheduler  Validator  Assimilator  File deleter
  • 33.  Regiter at Boincstats (BAM)  Choose your project(s)  Join/create a team (optional)  Download the BOINC client (BOINC manager)  Log into software  Immediately the project(s) will be attached  Tasks will be downloaded  Completed tasks will be uploaded to the server  You will gain due to your performance  New job will be downloaded Step by step manual is available at: http://bit.ly/boinc_srbiau
  • 34. BOINC client manager running four tasks (three projects)
  • 35. Project configuration in a nutshell!:  Configure a LAMP (Linux, Apache server, Mysql, Php/Phyton) A virtualbox debian linux is available at BOINC’s website  Develope your own project (mostly done in C++ (GCC), Fortran)  Attach your project url in boincmanager (Client) “your server ip/projectname” (exp: http://192.168.1.80/testproject)  Monitor your project perfomance/administaration at “your server ip/projectname_ops” (exp: http://192.168.1.80/testproject_ops) Step by step video is available at: http://bit.ly/boinc_srbiau
  • 36. BOINC server (left) + BOINC manager client (right) using virualization
  • 37.  Conceived to be used by scientists, not IT professionals  BOINC offers tools for ◩ Creating, starting, stopping and querying projects ◩ Adding new applications, new platforms, 
 ◩ Creating workunits ◩ Monitoring server performance (All these procedures could be done by UNIX shell commands directly)
  • 40.  A precise evaluation before choosing BOINC as a solution, comparing to other alternatives (JPPF, other cloud or distributed systems)  Fundamental undrestaning of BOINC architecture including it’s daemons, repositories, shell-script commands, etc  Good knowledge and experience of linux environment (shell)  C/C++, Fortran programming skills (GCC, VC++, etc)  Server/network configuration  Security issues
  • 41.  The architecture is centeriliezed in contrast of most Grid systems  Insufficient Interest from Computer Science  Insufficient Interest from scientists  Insufficient Interest from funding agencies  According to official reports volunteers are not increasing  Complexity of server and job submission  Insufficient documentations (obsolete docs)  Rare experiment in web society (You can’t find your answers in BOINC forums, Stack-overflow, etc), Risk of failure