Volunteer Computing on Mobile Devices: State of the Art and Future Research Directions

Volunteer Computing on Mobile Devices: State of the Art and Future Research Directions

Cristiano Tapparello (University of Rochester, USA), Colin Funai (University of Rochester, USA), Shurouq Hijazi (University of Rochester, USA), Abner Aquino (University of Rochester, USA), Bora Karaoglu (The Samraksh Company, USA), He Ba (University of Rochester, USA), Jiye Shi (UCB Pharma, UK) and Wendi Heinzelman (University of Rochester, USA)
DOI: 10.4018/978-1-4666-8662-5.ch005
OnDemand PDF Download:
No Current Special Offers


Different forms of parallel computing have been proposed to address the high computational requirements of many applications. Building on advances in parallel computing, volunteer computing has been shown to be an efficient way to exploit the computational resources of under utilized devices that are available around the world. The idea of including mobile devices, such as smartphones and tablets, in existing volunteer computing systems has recently been investigated. In this chapter, we present the current state of the art in the mobile volunteer computing research field, where personal mobile devices are the elements that perform the computation. Starting from the motivations and challenges behind the adoption of personal mobile devices as computational resources, we then provide a literature review of the different architectures that have been proposed to support parallel computing on mobile devices. Finally, we present some open issues that need to be investigated in order to extend user participation and improve the overall system performance for mobile volunteer computing.
Chapter Preview


In recent years, the computational requirements of various applications in domains ranging from healthcare to finance have increased dramatically. Several computing infrastructures have been proposed and, among them, parallel computing has been shown to be a viable solution to meeting this increasing computational demand. Following the principle that large computational problems can often be divided into smaller ones, various forms of parallel computing, from hardware dependent solutions such as multi-core and GPU programming, to distributed computing, have been proposed to provide a suitable parallel computing architecture.

Distributed computing is an important class of parallel computing, linking distant high performance computing resources through the Internet. Such systems are essentially cooperative groups of powerful computers that require both an initial investment in hardware and software as well as significant operational costs (e.g., maintenance, direct power consumption and cooling infrastructure) that are mostly energy-related. Increasing operational costs (U.S. Energy Information Administration, 2014), combined with the need to reduce the related carbon footprint, have led researchers to explore energy-efficient alternatives for high performance computing that decrease the overall energy consumption of computation, storage, and communication. Several ideas have been explored, including PowerNap (Meisner, et al., 2009), which relies on the hardware ability to switch to a low power state, and GreenCloud (Liu, et al., 2009), which considers migrating virtual machines between physical machines in order to reduce the total power load of a data center. However, improving energy efficiency in large scale workstations is still considered a major challenge in distributed computing (Zhang, Cheng, & Boutaba, 2010).

Instead of using dedicated hardware for parallel computing, volunteer computing aims to use underutilized personal computational resources. Many computing devices (e.g., personal computers, tablets and mobile devices) under utilize their processing capabilities for the majority of their operational time, during which they could be used for other tasks. Recent studies show that the potential of these resources exceeds any centralized computing system (Anderson D., 2004). Many systems have been proposed with the objective to allow volunteers to dedicate the unused computing cycles on their personal computers, such as the SETI@home project (Anderson, Cobb, Korpela, Lebofsky, & Werthimer, 2002), JXTA (Gong, 2001), XtremeWeb (Fedak, Germain, Neri, & Cappello, 2001), and the Berkeley Open Infrastructure for Network Computing (BOINC) (Anderson D., 2004). BOINC has been one of the most popular volunteer computing platforms, with over 1,000,000 active computers for a large range of application areas throughout the world (Berkeley, 2014).

These solutions attempt to provide a large scale, platform-independent computing infrastructure, but most of them are limited to personal computers. However, the availability of wirelessly connected mobile devices has grown considerably within recent years, creating an enormous collective untapped computational power. The idea of integrating mobile devices into the computational grid was proposed more then a decade ago (Phan, Huang, & Dulan, 2002), when mobile computing devices such as laptops and PDAs were typically restricted by reduced processing power, memory, secondary storage, and bandwidth capabilities. The authors in (Phan, Huang, & Dulan, 2002) recognized that, even if the individual mobile devices have limited resources, considering them as an aggregated sum, they have the potential to play a vital role within distributed computing.

Complete Chapter List

Search this Book: