An exploration of mobile devices as grid resources: Using an Intel X86 virtual machine to run BOINC on an iPhone
This work is focused on development of software capable of harnessing the idle processing power of mobile devices and contributing them to a voluntary grid computing framework such as the Berkeley Open Infrastructure for Network Computing (BOINC). Such frameworks are designed to provide a platform capable of amassing many processing cycles for scientific analysis of important and complex computational problems such as disease control modeling, climate change analysis, DNA sequencing, and analysis of astronomical data. Once developed, owners of newer generation mobile devices such as the Apple iPhone or BlackBerry Storm could download and install the client application to participate in a global voluntary computational grid. Such grids have existed since the mid-1990s for computers, but have yet to be extended to the world of mobile devices. Mobile devices are quickly becoming a worthwhile target for grid computing applications. The individual processing power of mobile "smartphone" devices now exceeds that of computers that first contributed to the BOINC application grid. Additionally, the number of mobile devices already vastly outnumbers standard computers, and their growth rate is much more rapid than traditional computers. The increasing power and number of mobile devices makes them an attractive target for grid computing. To date, most research related to mobile devices and grid computing is focused on the access and use of grid resources. The premise of this paper is to propose the use of mobile devices themselves as grid computing nodes. A demonstration of the feasibility of this concept is accomplished by implementing the BOINC client on an Apple iPhone. Work units are downloaded from a BOINC server and executed on the iPhone via a virtual machine emulating an x86 processor, and results are uploaded to the server. The world of mobile devices brings renewed challenges to the problem of grid client design in the areas of network bandwidth, processor capability, storage, and energy consumption. Use of this prototype enables the conduction of tests to study performance, energy efficiency, and bandwidth on a cellular device against a more traditional grid computing node.