BOINC: Progress and Plans David P. Anderson Space Sciences Lab University of California, Berkeley BOINC:FAST August 2013
Computing resources PCs laptops mobile devices appliances Consumer desktop data center Organizational volunteer computing desktop grid computing cluster, cloud, Grid, super computing BOINC
Why volunteer computing? Consumer > 1 billion PCs most w/GPU > 2 billion mobile devices Low cost to scientists Organizational ~10 million cluster/cloud nodes High cost
Volunteer computing status Volunteers: 400K people, 600K computers > 15 PetaFLOPS, many million jobs/day > 50 science projects, e.g. IBM World Community Grid Climateprediction.net
Capacity in 5 years Participation: 50M devices? Processing CPU: 50M * 1 TFLOPS = 50 ExaFLOPS GPU: 50M * 20 TFLOPS = 1000 ExaFLOPS Storage: 50M * 10 TB = 500 ExaBytes Network bandwidth 50M * 100Mbps = 5 Petabit/sec
My talk VM-based applications Remote job submission BOINC on Android Volunteer storage
Using VM technology Consumer platforms: 85% Windows 7% Linux 7% Mac OS X Developing/maintaining versions for different platforms is hard Even making a portable Linux executable is hard
BOINC VM-based applications You supply: A VM image for your favorite environment can use the same one for many apps An executable for that environment An XML configuration file BOINC supplies: The VBox Wrapper
How it works on the client BOINC client VirtualBox executive Vbox wrapper VM instance shared directory: executable input, output files VirtualBox “snapshots” provide checkpointing
Remote job submission science portal or PC BOINC server Scientists (users) sysadmins job submission file management
Managing multiple users User access control User quotas Sharing limited processing resources handle small batches first don’t starve large batches enforce user quotas long-term
BOINC on Android Available in Google, Amazon app stores 7 projects have Android/ARM apps Battery, WiFi considerations GUI (Java) BOINC client (native) RPC apps (native)
BOINC storage architecture Data archival Applications Locality scheduling Dataset storage BOINC storage infrastructure Result archival
Storage-related features Client: allocating space among projects Client: support for large (multi-GB) files efficient transfer, verification, copying Scheduler: storage policy plug-ins Example: volunteer data archival multi-level erasure coding
Research opportunities Many job scheduling issues Big-data issues Simulation tools client emulator server emulator (Simba) storage emulator
Thank you Please contact me to discuss BOINC or research collaboration: