Uncertainty-aware Resource Provisioning in Mobile Computing Grids for Real-time In-situ Data Processing

Uncertainty-aware Resource Provisioning in Mobile Computing Grids for Real-time In-situ Data Processing

The mobile computing revolution is characterized by two clearly visible trends. The first trend is the increase in mobile devices’ (such as smart phones’, PDAs’, and tablets’) computational and sensing capabilities aimed at improving user experience. The second trend is the growing popularity of the cloud computing paradigm, which pushes processing and storage (required for running applications) to remote servers on the Internet while retaining only a light front-end on the local device. The former is market-/demand-driven and is dictated primarily by users’ purchasing behavior as well as by recent innovations in human-computer interaction; while the latter can be attributed to the gains that cloud computing provides in terms of lower infrastructure costs and reduced time-to-market for innovative applications (by offering infrastructure and platform as a service). These diverging trends have rendered the powerful mobile devices heavily under-utilized.

Our research is aimed at organizing these powerful smart hand-held devices into a mobile wireless grid so that their communication and collective computational capabilities can be harnessed to enable innovative data- and compute-intensive mobile applications. Mobile grid computing is a form of distributed computing where many networked mobile devices process massive amounts of locally generated sensor data in parallel. The response time, quality, and relevance of data- and compute-intensive mobile applications can be drastically improved through mobile grid computing. Applications that will benefit from mobile grid computing include distributed rainfall and flood-risk estimation, distributed wireless channel estimation, distributed target detection and tracking, estimation of pollution level using real-time air-quality measurements, content-based distributed multimedia search and sharing, and continuous health monitoring of soldiers in the batlefield. The communication cost involved in enabling these applications using the conventional approach – aggregating large amounts of sensor data at a server for centralized computation – is prohibitive. Also, the resource capabilities of a single device may be insufficient to process all the data and produce meaningful results in realistic time bounds.

To address the major research challenges associated with mobile grid computing, namely, discovery and provisioning of computing resources, we propose, FARE-SHARE, an efficient autonomic resource provisioning framework. FARE-SHARE strives to minimize the computational load on individual mobile devices by exploiting parallelism while incurring the minimal communication cost and, hence, energy expenditure for supporting parallelism among multiple devices. We identify three entities in a mobile grid, namely 1) data providers, which provide sensor data as well as place requests for applications that require additional data and resources from other mobile devices, 2) service providers, which provide its computational (CPU cycles), storage (volatile and non-volatile memory), and communication resources (i.e., network interface capacity) for servicing those requests, and 3) arbitrators, which process the requests from the data providers, to determine the set of service providers that will process the data (aided by a uncertainty-aware resource allocation engine), and to distribute the workload among service providers.

FARE-SHARE relies on a credit-based system to ensure that a consumer does not gain an undue advantage by heavily consuming without providing any service. Also, such a system allows for credit transfers between multiple applications thus widening the applicability of the framework. As there will be concurrent application requests generated by a number of consumers, FARE-SHARE will multiplex these requests and share the fare fairly among the consumers.

Example application scenario: In warfare – whether conventional or irregular – soldiers inevitably get in harm’s way. In such situations, there is a need for a ubiquitous system to monitor continuously the soldiers’ psychophysiological health. Such a system can then be exploited 1) to assess the extent of physical fatigue and mental stress and associate it with the current and past activities (context) of the soldier, and 2) to perform rapid trauma triage in case of injuries. The rapid growth of non-invasive sensing and low-power wireless communication technologies has enabled continuous vital sign acquisition using wearable biomedical sensing and processing motes. These sensor motes are capable of acquiring vital signs such as blood pressure and flow, temperature, Electro CardioGram (ECG), oxygen saturation, and CO2 concentration. However, simultaneously executing compute-intensive models for deriving physiological parameters from these vital signs and for acquiring context awareness in real time requires computing capabilities that go beyond those of an individual sensor mote’s and/or portable device’s. In order to realize this objective, the collective computational capabilities of hand-held computers, rugged PDAs, and tactical computers carried by soldiers and/or armored vehicles in the vicinity as well as remote computing clusters can be exploited to organizing form an elastic resource pool (a hybrid computing grid).