Computer Science Department
School of Computer Science, Carnegie Mellon University
Hyrax: Crowdsourcing Mobile Devices to
Chye Liang Vincent Teo
The computation and storage capabilities of today’s mobile devices are rapidly catching up with those of traditional desktop computers and servers. In fact, multi-core mobile phones with 1 GHz processors are readily available in the market today. Mobile devices also have more onboard resources, typically 512 MB of RAM or more available. Furthermore, tablet computers, which are even more resource-rich, are increasingly prevalent with projections of 195 million tablets to be sold by 2015. This implies that there are plenty of computing resources present within our vicinity, and literally in our hands, in our everyday lives.
Unfortunately, all these processing and computation resources are mostly under-utilized as mobile devices are generally used to process local data and programs only. In other words, devices mostly operate independently from each other. Any data that they share usually has to go through a central content server, which involves the use of global data networks (i.e., either aWi-Fi connection or a 3G/4G cellular connection) to access the Internet in order to communicate with the central server. Any computation that these devices offload (perhaps to dedicated cloud-hosted services) also typically involve communications through the Internet. However, with an increasing number of both mobile and Internet users globally, the bandwidth of networks that form the Internet are getting strained. This means that users usually experience a perceptible delay before getting results back from the content servers they are communicating with through the Internet. Also, given the richness of resources that a collection of mobile devices can constitute, there might be alternative ways of exploiting those collective resources to provide benefits for the user.
To overcome these constraints, we propose to utilize local wireless networks to enable mobile devices that are within the vicinity of each other to communicate directly without utilizing either the resources of a global cellular network or the Internet. We believe that crowdsourcing the mobilecomputing resources within a vicinity has the potential to enable collaborative data-intensive computing across a cloud of mobile devices within the same network without straining the bandwidth of global networks. Effectively, the collection of mobile devices that collaborate in such a manner represent a genuine mobile cloud. Such collaborative computing efforts could also potentially take advantage of the locality and/or data from sensors (such as GPS, temperature, etc.) that are prevalent in smartphones today. Such a system also has the advantage of speed because the communications only need to go through one hop to get to their respective destinations.
To achieve these objectives, we have designed and developed Hyrax, a MapReduce system derived from Hadoop that supports cloud computing on a networked collection of Android mobile devices. Mobile users will then be able to leverage the collective computational resources of devices in their vicinity through Hyrax to run distributed jobs on readily available data stored on their devices. We evaluate the resource usage (bandwidth, CPU, memory, battery usage, etc.) of using Hyrax on a collection of mobile devices for standard MapReduce benchmarks that are traditionally run for a cloud of desktop, rather than mobile, computers. We also develop and evaluate a music-sharing application to demonstrate an application of Hyrax in a possible real-world scenerio, where users can share, and make available for download, the music files stored on their mobile devices with other users in their vicinity.