A Brief History of BOINC

Slides:



Advertisements
Similar presentations
BOINC Berkeley Open Infrastructure for Network Computing An open-source middleware system for volunteer and grid computing (much of the images and text.
Advertisements

BOINC The Year in Review David P. Anderson Space Sciences Laboratory U.C. Berkeley 22 Oct 2009.
Scientific Computing on Smartphones David P. Anderson Space Sciences Lab University of California, Berkeley April 17, 2014.
Volunteer Computing and Hubs David P. Anderson Space Sciences Lab University of California, Berkeley HUBbub September 26, 2013.
Public-resource computing for CEPC Simulation Wenxiao Kan Computing Center/Institute of High Physics Energy Chinese Academic of Science CEPC2014 Scientific.
1 port BOSS on Wenjing Wu (IHEP-CC)
Achievements and Opportunities in Volunteer Computing David P. Anderson Space Sciences Lab U.C. Berkeley 18 April 2008.
A Guided Tour of BOINC David P. Anderson Space Sciences Lab University of California, Berkeley TACC November 8, 2013.
HTCondor and BOINC. › Berkeley Open Infrastructure for Network Computing › Grew out of began in 2002 › Middleware system for volunteer computing.
Volunteer Computing with BOINC David P. Anderson Space Sciences Laboratory University of California, Berkeley.
Scientific Computing in the Consumer Digital Infrastructure David P. Anderson Space Sciences Lab University of California, Berkeley The Austin Forum November.
David P. Anderson Space Sciences Laboratory University of California – Berkeley Designing Middleware for Volunteer Computing.
Exa-Scale Volunteer Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley.
Introduction to the BOINC software David P. Anderson Space Sciences Laboratory University of California, Berkeley.
David Cameron Riccardo Bianchi Claire Adam Bourdarios Andrej Filipcic Eric Lançon Efrat Tal Hod Wenjing Wu on behalf of the ATLAS Collaboration CHEP 15,
Volunteer Computing with BOINC Dr. David P. Anderson University of California, Berkeley SC10 Nov. 14, 2010.
David P. Anderson Space Sciences Lab U.C. Berkeley Exa-Scale Volunteer Computing.
Volunteer Computing with GPUs David P. Anderson Space Sciences Laboratory U.C. Berkeley.
and Citizen Cyber-Science David P. Anderson Space Sciences Laboratory U.C. Berkeley.
BOINC: Progress and Plans David P. Anderson Space Sciences Lab University of California, Berkeley BOINC:FAST August 2013.
David P. Anderson Space Sciences Laboratory University of California – Berkeley Designing Middleware for Volunteer Computing.
David P. Anderson Space Sciences Laboratory University of California – Berkeley Public and Grid Computing.
TEMPLATE DESIGN © BOINC: Middleware for Volunteer Computing David P. Anderson Space Sciences Laboratory University of.
David P. Anderson Space Sciences Laboratory University of California – Berkeley Public Distributed Computing with BOINC.
BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley.
David P. Anderson Space Sciences Laboratory University of California – Berkeley Public Distributed Computing with BOINC.
CernVM and Volunteer Computing Ivan D Reid Brunel University London Laurence Field CERN.
A Tour of Citizen Cyber-Science David P. Anderson Space Sciences Laboratory U.C. Berkeley.
Exa-Scale Volunteer Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley.
Volunteer Computing Involving the World in Science David P. Anderson Space Sciences Lab U.C. Berkeley 13 December 2007.
Volunteer Computing and BOINC Dr. David P. Anderson University of California, Berkeley Dec 3, 2010.
Frontiers of Volunteer Computing David Anderson Space Sciences Lab UC Berkeley 30 Dec
The Future of Volunteer Computing David P. Anderson U.C. Berkeley Space Sciences Lab UH CS Dept. March 22, 2007.
Volunteer Computing in the Next Decade David Anderson Space Sciences Lab University of California, Berkeley 4 May 2012.
Emulating Volunteer Computing Scheduling Policies Dr. David P. Anderson University of California, Berkeley May 20, 2011.
David P. Anderson Space Sciences Laboratory University of California – Berkeley A Million Years of Computing.
Volunteer Computing: Involving the World in Science David P. Anderson U.C. Berkeley Space Sciences Lab February 16, 2007.
Volunteer Computing: the Ultimate Cloud Dr. David P. Anderson University of California, Berkeley Oct 19, 2010.
A Brief History of (CPU) Time -or- Ten Years of Multitude David P. Anderson Spaces Sciences Lab University of California, Berkeley 2 Sept 2010.
David P. Anderson Space Sciences Laboratory University of California – Berkeley Supercomputing with Personal Computers.
The Limits of Volunteer Computing Dr. David P. Anderson University of California, Berkeley March 20, 2011.
Volunteer Computing Involving the World in Science David P. Anderson Space Sciences Lab U.C. Berkeley 13 December 2007.
Volunteer Computing and Large-Scale Simulation David P. Anderson U.C. Berkeley Space Sciences Lab February 3, 2007.
Using volunteered resources for data-intensive computing and storage David Anderson Space Sciences Lab UC Berkeley 10 April 2012.
Technology for Citizen Cyberscience Dr. David P. Anderson University of California, Berkeley May 2011.
Volunteer Computing David P. Anderson U.C. Berkeley Space Sciences Lab Nov. 15, 2006.
Volunteer Computing with BOINC: a Tutorial David P. Anderson Space Sciences Laboratory University of California – Berkeley May 16, 2006.
Frontiers of Volunteer Computing David Anderson Space Sciences Lab UC Berkeley 28 Nov
Volunteer Computing David P. Anderson U.C. Berkeley Space Sciences Lab January 30, 2007.
An Overview of Volunteer Computing
Volunteer Computing and BOINC
The Future of Volunteer Computing
The 9th Annual BOINC Workshop
University of California, Berkeley
Building a Global Brain David P. Anderson U. C
Volunteer computing PC owners donate idle cycles to science projects
Volunteer Computing: Planting the Flag David P
Volunteer Computing: SETI and Beyond David P
Volunteer Computing for Science Gateways
Designing a Runtime System for Volunteer Computing David P
A Roadmap for Volunteer Computing in the U.S.
ATLAS Cloud Operations
Exa-Scale Volunteer Computing
David P. Anderson Space Sciences Lab UC Berkeley LASER
The Global Status of Citizen Cyberscience
CernVM Status Report Predrag Buncic (CERN/PH-SFT).
University of California, Berkeley
Ivan Reid (Brunel University London/CMS)
Exploit the massive Volunteer Computing resource for HEP computation
Exploring Multi-Core on
Presentation transcript:

A Brief History of BOINC David P. Anderson Space Sciences Lab University of California, Berkeley MICS 2015 April 10, 2015

Scientific computing Consumer electronics BOINC

Scientific computing High-performance computing (HPC) High-throughput computing (HTC) Many independent jobs Rate of job completion matters, not per-job turnaround time

HTC applications Simulation of physical systems particle collisions atomic/molecular (bio, nano) Earth climate system Need for many jobs: Uncertainty (perturbed initial conditions) Parameter sweeps Fit model parameters to observed data

HTC applications Compute-intensive data analysis Particle colliders (LHC) Astrophysics pulsar search gravitational wave search Genomics

HTC applications Biology-inspired optimization algorithms genetic algorithms flocking ant colony

Units of computing speed Floating-point operation (FLOP) GigaFLOPS (109/sec): 1 Central Processing Unit (CPU) TeraFLOPS (1012/sec): 1 Graphics Processing Unit (GPU) PetaFLOPS (1015/sec): 1 supercomputer ExaFLOPS (1018/sec): current Holy Grail

Approaches to HTC Supercomputing Cluster computing Grid computing lots of closely-coupled processors Cluster computing lots of Ethernet-connect PC-type nodes in a room Grid computing share clusters between organizations Cloud computing rent cluster nodes, e.g. Amazon EC2 Volunteer computing use computers owned by consumers

Consumer electronics Bitcoin mining, Steam Computing devices Desktop and laptop computers Mobile: tablets, smartphones Game consoles Set-top boxes, DVRs Wearable (watches, glasses) Appliances Commodity Internet Cable, DSL, fiber to the home, cell networks Bitcoin mining, Steam

Performance potential 1 billion Desktop/laptop PCs CPUs: 10 ExaFLOPS GPUs: 1,000 ExaFLOPS 5 billion smartphones CPUs: 20 ExaFLOPS GPUs: 500 ExaFLOPS

Volunteer computing Consumers donate computing capacity to History support science be in a community compete History 1997: GIMPS, distributed.net 1999: SETI@home, Folding@home 2003: BOINC

Limiting factors Volunteership PC availability Study of college students [Toth 2006] 5% would “definitely participate” 10% would “possible participate” PC availability Study in [Kondo 2008] 65% average availability 35% of PCs are available 24/7

Cost of 1 TeraFLOPS/year

BOINC: middleware for volunteer computing Supported by NSF since 2002 Open source (LGPL) Based at UC Berkeley http://boinc.berkeley.edu

BOINC software client server GUI (C++ or Java) BOINC client (C++) Job handling (C++) application Web interfaces (PHP) BOINC API (C++) Tools (Python)

Volunteer computing with BOINC projects volunteers LHC@home CPDN attachments WCG volunteer computing “ecosystem”

How to volunteer

Choose projects

Configure the client

Community

Account manager architecture Examples: BAM!, GridRepublic BOINC client account manager projects projects projects

Creating a BOINC project Install BOINC server software on a Linux box on a VM Build apps for Windows/Mac/Linux Attract volunteers develop web site generate publicity communicate with volunteers

Volunteer computing today 500,000 active computers 50 projects 10 PetaFLOPS

Some BOINC-based projects IBM World Community Grid Climateprediction.net (Oxford) LHC@home (CERN) SETI@home (UC Berkeley) Rosetta@home (U. Wash) Einstein@home (Max Planck Inst.)

How BOINC works project home PC BOINC server BOINC client get jobs BOINC server download data, executables BOINC client run jobs upload output files report/get jobs … all over HTTP

Issues handled by BOINC Heterogeneous computers “Plan class” functions can program run on host? how fast? resource usage? Intelligent choice of app version Job size matching job app app versions platform

Issues handled by BOINC Untrusted, anonymous computers Result validation replication, adaptive replication Credit: cheat-proof accounting Consumer-friendly client Job runtime estimation

Issues handled by BOINC Server performance and scalability Shared memory Job cache scheduler feeder validator per app assimilator MySQL DB transitioner db_purge file_deleter

Using GPUs BOINC detects and schedules GPUs Issues NVIDIA, AMD, Intel multiple/mixed GPUs various language systems (CUDA, OpenCL, CAL) Issues non-preemptive GPU scheduling no paging of GPU memory identifying GPUs

Multicore apps Next-generation CPUs may have 100+ cores BOINC supports multi-core apps OpenMP, MPI OpenCL CPU apps

Using VM technology Problem: building and maintaining versions for different platforms is hard Even making a portable Linux executable is hard

Guest operating system Virtual machines application Guest operating system Host operating system

Virtual machines application Debian Linux 2.6 Windows 7

BOINC VM support Create a VM image for your favorite environment Create executables for that environment VirtualBox executive BOINC client Vbox wrapper VM instance shared directory: executable input, output files

VM advantages Develop in your favorite environment No need to learn Visual Studio, Xcode A VM is a strong “sandbox” Can run untrusted applications Free checkpointing VirtualBox snapshot mechanism base VM image image Δ image Δ

Use of BOINC at CERN CERN uses mostly VM-based computing CERN servers Co-Pilot BOINC client CernVM job queueing system software archive CVMFS ATLAS, CMS, LHCb, Theory

BOINC on Android New GUI Battery-related issues Released July 2013 Google, Amazon App Stores ~50K active devices Branded versions HTC: Power to Give Samsung: Power Sleep

The future of volunteer computing How to benefit more scientists? How to attract more volunteers?

Integrating with mainstream HTC HTCondor nanoHUB TACC adapter adapter adapter BOINC server BOINC server BOINC server consumer PCs projects projects

Science@home Single “brand” for volunteer computing Volunteers register for science areas rather than projects biomed, environmental, physics, astro, … Computers are attached to projects based on prefs

Implementing Science@home Use BOINC account manager architecture BOINC client Science@home projects projects projects

Summary Volunteer computing is BOINC provides software infrastructure Useful for many HTC applications A path to ExaFLOPS computing A way to popularize/democratize science BOINC provides software infrastructure Many challenges remain Many research opportunities

Contact info http://boinc.berkeley.edu davea@ssl.berkeley.edu