Volunteer Computing with BOINC: a Tutorial David P. Anderson Space Sciences Laboratory University of California – Berkeley May 16, 2006.

Slides:



Advertisements
Similar presentations
BOINC: A System for Public-Resource Computing and Storage David P. Anderson University of California, Berkeley.
Advertisements

Chapter 5: Server Hardware and Availability. Hardware Reliability and LAN The more reliable a component, the more expensive it is. Server hardware is.
High-Performance Task Distribution for Volunteer Computing Rom Walton
BOINC The Year in Review David P. Anderson Space Sciences Laboratory U.C. Berkeley 22 Oct 2009.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
An Introduction to Operating Systems. Definition  An Operating System, or OS, is low-level software that enables a user and higher-level application.
DB2 (Express C Edition) Installation and Using a Database
Volunteer Computing and Hubs David P. Anderson Space Sciences Lab University of California, Berkeley HUBbub September 26, 2013.
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.
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.
07:44:46Service Oriented Cyberinfrastructure Lab, Introduction to BOINC By: Andrew J Younge
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Volunteer Computing with BOINC Dr. David P. Anderson University of California, Berkeley SC10 Nov. 14, 2010.
CMPF124 Basic Skills For Knowledge Workers Chapter 1 – Part 1 Introduction To Windows Operating Systems CMPF 112 : COMPUTING SKILLS.
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.
Module 2 Part I Introduction To Windows Operating Systems Intro & History Introduction To Windows Operating Systems Intro & History.
TEMPLATE DESIGN © BOINC: Middleware for Volunteer Computing David P. Anderson Space Sciences Laboratory University of.
CMPF124 Basic Skills For Knowledge Workers Chapter 1 – Part 1 Introduction To Windows Operating Systems.
Dr Jukka Klem CHEP06 1 Public Resource Computing at CERN – Philippe Defert, Markku Degerholm, Francois Grey, Jukka Klem, Juan Antonio.
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.
Volunteer Computing with BOINC Dr. David P. Anderson University of California, Berkeley SC10 Nov. 14, 2010.
Volunteer Computing and BOINC Dr. David P. Anderson University of California, Berkeley Dec 3, 2010.
The 2 nd Pangalactic BOINC workshop. Progress since the 1 st Pangalactic BOINC workshop David Anderson Sept. 20, 2006.
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.
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.
David P. Anderson UC Berkeley Gilles Fedak INRIA The Computational and Storage Potential of Volunteer Computing.
Volunteer Computing and Large-Scale Simulation David P. Anderson U.C. Berkeley Space Sciences Lab February 3, 2007.
Local Scheduling for Volunteer Computing David P. Anderson U.C. Berkeley Space Sciences Lab John McLeod VII Sybase March 30, 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 January 30, 2007.
BOINC current work David Anderson 11 July Where we're at ● We've come a long way – Some successful projects – Progress on software ● The long road.
Introduction to threads
Volunteer Computing and BOINC
University of California, Berkeley
Chapter 1: Introduction
Nature & Types of Software
Processes and threads.
Volunteer Computing: SETI and Beyond David P
Volunteer Computing for Science Gateways
2. OPERATING SYSTEM 2.1 Operating System Function
Chapter 3: Process Concept
Designing a Runtime System for Volunteer Computing David P
How to connect your DG to EDGeS? Zoltán Farkas, MTA SZTAKI
Operating System.
Chapter 2: System Structures
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn.
Lecture 1: Network Operating Systems (NOS)
Process Management Presented By Aditya Gupta Assistant Professor
Introduction to Operating System (OS)
TYPES OFF OPERATING SYSTEM
The software infrastructure of II
湖南大学-信息科学与工程学院-计算机与科学系
Chapter 4: Threads.
Chapter 4: Threads.
Functions of an operating system
University of California, Berkeley
LO2 – Understand Computer Software
Presentation transcript:

Volunteer Computing with BOINC: a Tutorial David P. Anderson Space Sciences Laboratory University of California – Berkeley May 16, 2006

Tutorial overview ● Session 1: Introduction to BOINC ● Session 2: Creating a BOINC project ● Session 3: Developing a BOINC application ● Session 4: Processing work

Volunteer computing Projectstartwherearea peak #hosts GIMPS1994math 10,000 distributed.net1995cryptography 100,000 I1999UCBSETI 600, ,000 United Devices2002commercialbiomedicine 200,000 CPDN2003Oxfordclimate change 150,000 60, ,000 WCG2004commercialbiomedicine 200, ,000 II2005UCBSETI 850,000 Washbiology 100,000 SIMAP2005T.U. Munichbioinformatics 10,000

What is BOINC? ● Middleware for volunteer computing – Server-side: DB-driven software for distributing jobs, providing user web features, etc. – Client-side: ● Core client: manages work ● BOINC Manager: provides GUI ● Screensaver ● BOINC is open-source (LGPL) ● BOINC projects are autonomous

What are suitable applications? ● Coarse-grained parallelism – No direct communication between jobs ● Public appeal ● Low data/computation ratio – At least 1 CPU day per GB ● Fault tolerance

Projects ● Each project has a fixed Master URL – User-visible web site – Contains scheduler URLS: ● Each project has its own server complex – Database (MySQL) – Scheduler – Daemons – Data server

Storage ● Files: input, output, executables, images, etc. – Names are unique within project – Immutable – May be replicated – XML description: foobar [ ]

File references ● From: – Workunits – Results – application versions ● XML description: foobar [ input ] [ ]

Platforms ● Represents a compilation target (OS + processor type) windows_intelx86 Microsoft Windows (95 or later) running on an Intel x86-compatible processor i686-pc-linux-gnu Linux running on an Intel x86-compatible processor powerpc-apple-darwin Mac OS 10.3 or later running on Motorola PowerPC i686-apple-darwin Mac OS 10.4 or later running on Intel sparc-sun-solaris2.7 Solaris 2.7 or later running on a SPARC-compatible processor

Applications – Each project can have multiple applications – Participants attach to projects, not applications – Each application has a set of ● Application versions ● Workunits (jobs) ● Results (job instances)

Application versions ● Linked to application, platform ● XML description:... [... ] foobar 4 program_1 library_12

Workunits ● Name (unique) ● Application ● List of input files ● Resource estimates (FLOPS, disk, memory) ● Delay bound ● Redundancy parameters: – Minimum quorum, maximum #instances

Results ● Name (unique) ● Workunit ● List of output files ● Server state – Unsent, in progress, done, error ● If done: – Host, exit status, CPU time, output file info

workunits applications results platforms Database summary application versions

Redundant computing ● Jobs may fail or return wrong results ● “Right” results may differ between hosts ● Do each job at least twice; if results don't agree, issue more copies of job ● Validation: compare set of results; choose “canonical result” ● Assimilation: handle canonical result ● Homogeneous redundancy

Locality scheduling ● For applications with – A few large input files – Each file has many workunits ● Special scheduling policy: – if a host has file X, try to send it more work for file X – Minimize network traffic ●

Trickle messages ● For long-running applications (like CPDN) ● Application can generate trickle-up messages – Partial credit, output summary ● Server handles trickle-up messages, can generate trickle-down messages – Abort job – Messages to volunteer ● Messages are sent/received asynchronously

BOINC client software Core client screensaver servers Manager Application

client Scheduler RPC scheduler List of applications list of files list of results ack of completed results new preferences Platform account key host ID List of completed results host hardware description host usage description work request (seconds)