boinc: an open platform for public-resource computing david p. anderson space sciences laboratory...

12
BOINC: An Open BOINC: An Open Platform for Public- Platform for Public- Resource Computing Resource Computing David P. Anderson David P. Anderson Space Sciences Laboratory Space Sciences Laboratory U.C. Berkeley U.C. Berkeley

Upload: roy-watkins

Post on 18-Jan-2018

218 views

Category:

Documents


0 download

DESCRIPTION

Why share an infrastructure? Research lab X University YPublic project Z projects applications resource pool Participants install one program, select projects, specify constraints; all else is automatic Projects are autonomous Advantages of a shared platform: Better long-term resource utilization Better instantaneous resource utilization Faster/cheaper for projects, software is better Easier for projects to get participants Participants learn more

TRANSCRIPT

Page 1: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

BOINC: An Open Platform BOINC: An Open Platform for Public-Resource for Public-Resource

ComputingComputingDavid P. AndersonDavid P. Anderson

Space Sciences LaboratorySpace Sciences LaboratoryU.C. BerkeleyU.C. Berkeley

Page 2: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

Public-resource computingHome PCs

businessacademic

Advantages:• scale• free• growth• public education• no policy issues

Challenges:• low BW at client• costly BW at server• firewall/NAT issues• sporadic connection• untrustworthy, insecure clients• server security• heterogeneity• need PR, glitzy GUI

your computers

Page 3: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

Why share an infrastructure?

Research lab X

University Y Public project Z

projects

applications

resource pool

• Participants install one program, select projects, specify constraints; all else is automatic• Projects are autonomous• Advantages of a shared platform:

• Better long-term resource utilization• Better instantaneous resource utilization• Faster/cheaper for projects, software is better• Easier for projects to get participants• Participants learn more

Page 4: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

Goals of BOINC(Berkeley Open Infrastructure for Network

Computing)• Public-resource computing/storage• Multi-project, multi-application

– Participants can apportion resources• Handle fairly diverse applications• Work with legacy apps• Support many participant platforms• Small, simple

Page 5: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

General structure of BOINC

• Project:

• Participant:

Scheduling server (C++)

BOINC DB(MySQL) Work

generation

data server (HTTP)

App agentApp agentApp agent

data server (HTTP)data server

(HTTP)

Web interfaces

(PHP)

Core agent (C++)

Project back endRetry

generation

Result validation

Result processing

Garbage collection

Page 6: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

Data model• File attributes:

– Name– URL list– Persistent flag– Upload-when-present flag

• Files may originate in client or in project work manager

• Projects can use participant disks for long-term data archival

Page 7: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

Computing model• Applications, platforms, app

versions• Workunits

– Inputs to a computation– Estimates of resource requirements

• Results– Outputs of a computation

Page 8: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

Hosts and scheduling• Host measurements

– CPU performance (integer/FP/memory)– RAM, cache, disk free/total– On/connected statistics– Network bandwidth statistics

• Workunit properties– RAM/disk/computation requirements

• Scheduling policy– feasibility– High/low water mark

Page 9: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

Accounting and result validation

• Standardized unit of credit– CPU time * (int+FP+mem)– Project-specific benchmark?

• Result validation– Compare redundant results, flag incorrect

results• Granted credit:

– Minimum of claimed credit among correct results

Page 10: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

Participant preferences• Examples:

– Work only while user away– Confirm before connecting– Don’t work if on batteries– High, low water marks– Limits on disk space, bandwidth– Application-specific preferences– List of projects + authenticators + % allocation

• Edited via Web interface

Page 11: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

Application Programming• Checkpoint/restart• Filename translation• Graphics

– OpenGL-based– Application window or screensaver

Page 12: BOINC: An Open Platform for Public-Resource Computing David P. Anderson Space Sciences Laboratory U.C. Berkeley

Conclusion• BOINC status

– Mostly feature-complete– Client runs on Linux, Solaris, Windows, MacOS X– Small: client is 5,000 lines, server 2,000

• Projects:– Astropulse (later this year)– Other SETI@home (Parkes etc.)– Folding@home, climate prediction– Others: rendering? Theorem proving?