Presentation is loading. Please wait.

Presentation is loading. Please wait.

Designing a Runtime System for Volunteer Computing David P

Similar presentations


Presentation on theme: "Designing a Runtime System for Volunteer Computing David P"— Presentation transcript:

1 Designing a Runtime System for Volunteer Computing David P
Designing a Runtime System for Volunteer Computing David P. Anderson – UC Berkeley Carl Christensen – Oxford University Bruce Allen – UW Milwaukee and Max Planck Institute

2 Volunteer computing Distributed computing using volunteered computers
Early projects: GIMPS, distributed.net, What makes volunteer computing hard? anonymous, untrusted heterogeneous, intermittent, high churn require incentives What makes it interesting? More/cheaper computing power than other paradigms Leverages consumer product R&D Education/outreach

3 (constantly changing)
BOINC Software platform for volunteer computing Open-source (LGPL), NSF-funded Supports wide range of application characteristics Encourages multi-project participation Goal: enable an ecosystem, not a static set of projects Projects (constantly changing) Volunteers

4 Some BOINC-based projects
Climateprediction.net Oxford; global climate change study LIGO; gravitational wave astronomy U. Washington; protein study U.C. Berkeley; SETI CERN; accelerator and collision simulation Swiss Tropical Inst., U. of Geneva; malaria epidemiology Chess960 game study ...and about 30 others

5 Computing power and cost
~450,000 active computers Hardware cost: < $1/GFLOP Future: game consoles (e.g. Playstation 3) ExaFLOP computing in 2007?

6 BOINC client structure
schedulers, data servers screensaver application local TCP core client BOINC library GUI Runtime system

7 Goals and requirements
Volunteer-oriented features preferences (compute while idle, time-of-day, CPU throttling, RAM usage limits, etc.) credit accounting autonomic Support diverse apps compound apps FORTRAN, legacy apps long jobs non-CPU-intensive apps Heterogeneity Win 98+, Mac OS X, all Unix/Linux

8 Shared-memory message passing

9 Thread structure, simple apps

10 Compound applications

11 Runtime system functionality
Task management scheduling: suspend/resume/quit/abort orphaned and duplicate processes reliable termination Status and credit CPU time, fraction done reporting app-specific benchmarks, FLOP reporting Checkpoint handshaking Error handling and reporting symbolic stack trace on app crashes detection/abort if exceed CPU/mem/disk limits

12 Runtime system functionality, cont.
Application graphics app supplies render() function Long-running applications trickle messages intermediate file upload Virtual/physical filename resolution

13 Conclusion Volunteer computing a new computing paradigm
leader in FLOPS, price/performance involves public in science BOINC: enabling technology Ongoing/future work (technical) sandboxing distributed storage low-latency computing Bitorrent integration Ongoing/future work (organizational) Meta-projects: Virtual Campus Supercomputing Center, IBM World Community Grid, etc. Account management systems


Download ppt "Designing a Runtime System for Volunteer Computing David P"

Similar presentations


Ads by Google