Scientific research, in areas ranging from biomedicine to astrophysics, has an insatiable appetite for computing power. Organizational resources (supercomputers, clusters, grids, and clouds) are one source of power; consumer products (home computers, laptops, and other digital devices) can provide another. But when it comes to scientific computing, consumer resources have two significant advantages – billions of devices are available, and the devices are bought, powered, and maintained by consumers. My research project –
the Berkeley Open Infrastructure for Network Computing (BOINC) – develops open-source software for “volunteer computing”, which allows consumers to donate the unused computing power of their digital products to selected science projects. BOINC is used by dozens of research projects, and runs on about 350,000 computers worldwide.
In recent years, consumer markets have shifted away from desktop computers toward mobile devices such as smartphones and tablets. Such devices have become increasingly powerful. To make this power available to scientists, we’ve just launched BOINC for mobile devices running the Android operating system. Five BOINC-based projects – including
IBM World Community Grid and Einstein@Home – offer applications for Android devices, and more will be coming soon.
Consumer products evolve quickly, and BOINC has adapted accordingly. For example,
in 2008 we extended BOINC to handle graphics processing units, which now provide the majority of volunteer computing cycles. When mobile devices first emerged, it seemed unlikely that they would be useful for scientific computing, since they were designed for long battery life rather than high performance. But advances in technology have changed this. Today’s mobile devices have enough processing power, memory and storage to handle many scientific applications.
In 2011, encouraged by IBM World Community Grid’s commitment to develop Android-based applications, we decided to make a version of BOINC for Android. Because Android is based on Linux, much of BOINC worked right out of the box, but a new user interface was needed. Two volunteer programmers, Pavol Michelec and Mateusz Szapowski, created an initial version. The 2012 Google Summer of Code program funded a student, Joachim Fritzsch, to develop an improved version, the Max Planck Institute for Gravitational Physics, through its Einstein@Home project, funded Fritzsch to complete this work. The IBM World Community Grid team helped us design and test the app. After that, volunteers tested the app on a wide range of Android devices prior to the release.
BOINC on Android must be completely unobtrusive; people won’t run BOINC if it reduces their device’s battery life or impacts its performance. So BOINC computes only when a device is plugged in and fully charged. In addition, BOINC transfers files only when the device is connected via Wi-Fi, thereby avoiding the use of cell-phone data plans.
We’re very excited by the potential of BOINC on Android. Mobile devices are central to the future of consumer computing, and someday may provide the bulk of the world’s computing power. BOINC for Android gives scientists access to this major new resource.
David Anderson, Ph.D., is a research scientist at the University of California, Berkeley Space Sciences Laboratory (SSL). Dr. Anderson directs SETI@home, a pioneering volunteer computing project, and leads the BOINC project, which develops widely used middleware for volunteer computing.