boinc: an open platform for public-resource computing

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: aron

Post on 22-Jan-2016

48 views

Category:

Documents


0 download

DESCRIPTION

BOINC: An Open Platform for Public-Resource Computing. David P. Anderson Space Sciences Laboratory U.C. Berkeley. Public-resource computing. Home PCs. your computers. academic. business. Challenges: low BW at client costly BW at server firewall/NAT issues sporadic connection - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: BOINC: An Open Platform for Public-Resource Computing

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

ComputingComputingDavid P. AndersonDavid P. Anderson

Space Sciences LaboratorySpace Sciences Laboratory

U.C. BerkeleyU.C. Berkeley

Page 2: BOINC: An Open Platform for Public-Resource Computing

Public-resource computing

Home PCsbusiness

academic

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

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

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

General structure of BOINC

• Project:

• Participant:

Scheduling server (C++)

BOINC DB(MySQL) Work

generation

data server (HTTP)

App agentApp agent

App agent

data server (HTTP)data server

(HTTP)

Web interfaces

(PHP)

Core agent (C++)

Project back end

Retry generation

Result validation

Result processing

Garbage collection

Page 6: BOINC: An Open Platform for Public-Resource Computing

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

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

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

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

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

Application Programming

• Checkpoint/restart• Filename translation• Graphics

– OpenGL-based– Application window or screensaver

Page 12: BOINC: An Open Platform for Public-Resource Computing

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?