240 likes | 253 Views
Exploring the benefits, challenges, and potential of volunteer computing through the use of middleware. Discusses the history, scientific computing paradigms, server performance, credit systems, and the goals of volunteer computing. Explores the limits and goals of the BOINC platform.
E N D
David P. Anderson Space Sciences Laboratory University of California – Berkeley davea@ssl.berkeley.edu Designing Middleware for Volunteer Computing
Why volunteer computing? home PCs your computers academic business • 2006: 1 billion PCs, 55% privately owned • If 100M people participate: • 100 PetaFLOPs, 1 Exabyte (10^18) storage • Consumer products drive technology • GPUs (NVIDIA, Sony Cell)
Volunteer computing history 95 96 97 98 99 00 01 02 03 04 05 06 GIMPS, distributed.net SETI@home, folding@home commercial projects climateprediction.net BOINC Einstein@home Rosetta@home Predictor@home LHC@home BURP PrimeGrid ...
Scientific computing paradigms Bang/buck Control least most Supercomputers Cluster computing Grid computing Volunteer computing most least
BOINC Climate SETI physics biomedical projects volunteers Joe Jens Alice
Participation in >1 project • Better short-term resource utilization • communicate/compute in parallel • match applications to resources • Better long-term resource utilization • project A works while project B thinks work work project computing needs think think time
Server performance How many clients can a project support?
Task server architecture Work creator Feeder Shared mem MySQL clients Scheduler Transitioner Validator Assimilator File deleter DB purger
Server limits • Single server (2X Xeon, 100 Mbps disk) • 8.8 million tasks/day • 4.4 PetaFLOPS (if 12 hrs on 1 GFLOPS CPU) • CPU is bottleneck (2.5% disk utilization) • 8.2 Mbps network (if 10K request/reply) • Multiple servers (1 MySQL, 2 for others) • 23.6 million tasks/day • MySQL CPU is bottleneck • 21.9 Mbps network
Credit system goals • Retain participants • fair between users, across projects • understandable • cheat-resistant • Maximize utility to projects • hardware upgrades • assignment of projects to computers
Credit system • Computation credit • benchmark-based • application benchmarks • application operation counting • cheat-resistance: redundancy • Other resources • network, disk storage, RAM • Other behaviors • recruitment • other participation
Limits of Volunteer Computing • How much processing/disk/RAM is out there? • Combinations of resources • Data from 330,000 SETI@home participants
Goals of BOINC • > 100 projects, some churn • Handle big data better • BitTorrent integration • Use GPUs and other resources • DAGs • Participation • 10-100 million • multiple projects per participant