1 / 12

BOINC: An Open Platform for Public-Resource Computing

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

aron
Download Presentation

BOINC: An Open Platform for Public-Resource Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Public-resource computing Home PCs your computers academic business • Challenges: • low BW at client • costly BW at server • firewall/NAT issues • sporadic connection • untrustworthy, insecure clients • server security • heterogeneity • need PR, glitzy GUI • Advantages: • scale • free • growth • public education • no policy issues

  3. Why share an infrastructure? applications projects Research lab X University Y Public project Z 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

  4. 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

  5. General structure of BOINC Project back end Retry generation Result processing BOINC DB (MySQL) • Project: • Participant: Work generation Result validation Garbage collection Scheduling server (C++) Web interfaces (PHP) data server (HTTP) data server (HTTP) data server (HTTP) App agent App agent App agent Core agent (C++)

  6. 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

  7. Computing model • Applications, platforms, app versions • Workunits • Inputs to a computation • Estimates of resource requirements • Results • Outputs of a computation

  8. 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

  9. 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

  10. 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

  11. Application Programming • Checkpoint/restart • Filename translation • Graphics • OpenGL-based • Application window or screensaver

  12. 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?

More Related