The Future of Volunteer Computing David P. Anderson U.C. Berkeley Space Sciences Lab UH CS Dept. March 22, 2007
What is “Volunteer computing”? Internet Projects Volunteers ● Helps science ● Involves public in science
Volunteer computing is not... ● Grid computing ● Peer-to-peer computing
Volunteer computing software Application Infrastructure Manage work Transfer files Security Screensaver Accounting Do scientific computation BOINC (Berkeley Open Infrastructure for Network Computing)
Communication: “Pull” model client scheduler I’m a Windows/x86 computer with 512 MB RAM 20GB free disk 2.5 GFLOPS CPU Here are three jobs. Job 1 has application files A,B,C, input files C,D,E and output file F...
BOINC (Volunteer’s view) ● 1-click install, zero configuration ● All platforms ● Invisible, autonomic
Creating a BOINC project ● Get a server (Linux; ~$5K) ● BOINC-enable application ● Compile for various platforms ● Develop programs to generate and handle work ● Test ● Create web pages about your research ● Publicize ● Keep volunteers informed
What applications can use BOINC? ● Should be resource-intensive – 1 CPU year: do it yourself – 10,000 CPU years: use BOINC ● Lots of independent tasks ● Low data/compute ratio Examples: - Physical simulations (molecule, Earth, universe) - CPU-intensive data analysis - Search of large spaces (math)
Example: ClimatePrediction.net ● Application: UK Met Office Unified Model ● State-of-the-art global climate model – 1 million lines of FORTRAN ● High-dimensional search space – model parameters – boundary conditions – perturbed initial conditions
ClimatePrediction.net ● Using supercomputers: – 1 day per run – total runs ● Using BOINC: – 6 months per run – 50,000 active hosts – 171,343 runs completed – Nature papers – 60-fold savings
Other BOINC-based projects ● – LIGO; gravitational wave astronomy ● – U. Washington; protein study ● – U.C. Berkeley; SETI ● – CERN; accelerator simulation ● – STI, U. of Geneva; malaria epidemiology ● IBM World Community Grid – several biomedical applications ●...and about 30 others
Computing power ● Today: 450,000 active computers, 500 TFLOPS – 450 million more PCs out there! ● Future: game consoles – Sony Playstation 3: 100 GFLOPS – ExaFLOP computing feasible
The hard problems ● How to increase the number of volunteers? – currently 1 in 1000 PC owners ● How to increase the number of projects? – currently stuck at about 50 ● How to get volunteers to diversify?
How to attract and retain volunteers? ● Retention – reminder s – frequent science updates ● Recruitment – Software-based ● “ a friend” mechanism ● credit-based pyramid scheme? – Organizational ● World Community Grid: “partner” program – Media coverage ● need more discoveries – Commercial (bundling) Active hosts:
Why aren’t there more projects? ● Lack of PR among scientists ● IT antipathy ● Creating a BOINC project is expensive: Science App development Experiment design Paper writing Research group Software/IT Port/debug apps workflow tools server admin Communications Web site development message board admin public relations
Meta-projects ● Virtual Campus Supercomputing Center – Deployment and publicity: ● PC labs, staff/faculty desktops ● students ● alumni ● public ● IBM World Community Grid Science App development Experiment design Paper writing Research groups Software/IT Port/debug apps workflow tools server admin Communications Web site development message board admin public relations e Existing UCB staff
Growing a healthy computational ecosystem ● Cross-project credit accounting system – encourage competition in total credit, not per-project ● Account Managers – Make it easier to discover/attach/detach projects – GridRepublic, BAM! ● Scientific Mutual Funds? – e.g. American Cancer Society BOINC “portfolio” ● Science Stock Market? – encourage participation in new high-potential projects
What else can volunteers do? ● Testing ● Translation ● Program optimization ● Message-board moderation ● Online customer support ● Skilled tasks –
Conclusion ● Volunteer computing – new paradigm for scientific computing – more/cheaper computing power – public involvement in science – enabling technology: BOINC ● Talk to or me about: – Using BOINC for your research – Organizational use of BOINC – Other uses of volunteers to help research