Scientific Computing on Smartphones David P. Anderson Space Sciences Lab University of California, Berkeley April 17, 2014
Science needs computing power ● High-performance computing – Supercomputers ● High-throughput computing – Thousands or millions of independent jobs – What matters is the rate of job completion, not the turnaround time of individual jobs
High-throughput computing applications ● Physical simulation – particle collision – atomic/molecular (bio, nano) – Earth climate system – galactic, cosmological ● Compute-intensive data analysis – particle physics (LHC) – Astrophysics (radio, gravitational) – genomics
Finding computing power ● Cluster computing – lots of commodity or rack-mounted PCs in a room ● Grid computing – share clusters between organizations ● Cloud computing – rent cluster nodes, e.g. Amazon EC2 ● Volunteer computing – consumer products
The Consumer Digital Infrastructure ● Computing devices – Desktop and laptop computers – Mobiles devices: tablets, smartphones – Game consoles, Set-top boxes, DVRs – Appliances ● Commodity Internet – Cable, DSL, fiber to the home, cell networks
Measures of computing speed ● Floating-point operation (FLOP) ● GigaFLOPS (10 9 /sec): 1 Central Processing Unit (CPU) ● TeraFLOPS (10 12 /sec): 1 Graphics Processing Unit (GPU) ● PetaFLOPS (10 15 /sec): 1 supercomputer ● ExaFLOPS (10 18 /sec): current Holy Grail
Performance potential ● 1 billion Desktop/laptop PCs – CPUs: 10 ExaFLOPS – GPUs: 1,000 ExaFLOPS ● 2.5 billion smartphones – CPUs: 10 ExaFLOPS
Volunteer computing ● Consumers donate computing capacity to – support science – be in a community – compete ● History – 1997: GIMPS, distributed.net – 1999: – 2003: BOINC
BOINC: middleware for volunteer computing ● Supported by NSF since 2002 ● Open source ● Based at UCB Space Sciences Lab ●
Volunteer computing with BOINC volunteers projects CPDN WCG attachments
How to volunteer
Choose projects
How BOINC works PC or phone BOINC client project HTTP download data, executables compute upload outputs BOINC server get jobs
Volunteer computing today ● 500,000 active computers and phones ● 50 projects ● 15 PetaFLOPS average
– gravitational waves
– radio pulsar search
Climateprediction.net
● Protein structure prediction w/ applications to – HIV – Malaria – Cancer – Alzheimer’s
IBM World Community Grid ● “Umbrella” project; current applications: – Drug discovery for ● cancer (neuroblastoma) ● HIV ● schistosomiasis – Design of nanotechnology water filters – Design of solar panel materials
Scientific computing on phones ● Smartphones are small computers ● CPU: 4 cores, 4-6 GFLOPS ● soon: GPU, 100 GFLOPS ● 1GB RAM ● 32GB storage
Hardware trends
Computing on mobile devices ● Compute only when – plugged in – screen turned off – battery is fully charged – battery temperature is low ● Communicate only via WiFi
BOINC on Android Linux Android API BOINC GUI (Java) BOINC client(C++) applications
BOINC on Android ● Development , funded by WCG and ● Released July 2013 on Google Play Store and Amazon App Store (for Kindle) ● 12 projects with Android apps ● ~50,000 active devices (not enough)
HTC Power to Give ● Goals – Increase smartphone participation – HTC leadership position ● Activities – Security enhancements – Branded HTC BOINC client – More projects with Android apps – (hopefully) bundling on HTC phones
Summary ● Consumer products dominate computing ● Mobile devices are a big part of the future of computing ● BOINC, with help from HTC, is putting them to work for science
Contacts ● ●