Download presentation
Presentation is loading. Please wait.
Published byJonas King Modified over 6 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.