Simplifying cyber foraging

  • Authors:
  • Mahadev Satyanarayanan;Rajesh Krishna Balan

  • Affiliations:
  • Carnegie Mellon University;Carnegie Mellon University

  • Venue:
  • Simplifying cyber foraging
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The rapid proliferation of mobile handheld computing devices, such as cellphones and PDAs, has led to an unfortunate conflict. On one hand, we have light mobile computing devices that can be carried anywhere. However, on the other hand, these devices are frequently unable to execute applications that are of highest value to a mobile user such as language translators and speech recognizers. One way to resolve this conflict is to use cyber foraging ---utilize compute resources available in the environment to augment the capabilities of mobile devices. A key challenge in enabling cyber foraging is that there exist many applications of high value to a mobile user that must be quickly, easily, and effectively retargeted to support cyber foraging. This retargeting is made more difficult as applications can be written in any programming language and style. In this thesis, quickly refers to the retargeting time, easily refers to the retargeting effort, and effectively refers to the retargeted application's runtime performance. This dissertation shows that it is possible to quickly, easily, and effectively retarget computationally-intensive useful applications for cyber foraging. I developed a process called RapidRe that allows even novice developers to easily, quickly, and effectively retarget large unfamiliar applications for cyber foraging. To create RapidRe, I first developed a powerful remote execution system, called Chroma, that is able to achieve excellent application performance in mobile environments. Chroma uses the concept of tactics to greatly reduce its search space when deciding the optimal remote partitioning of applications. Tactics are enumerations of the useful application partitionings. At runtime, Chroma picks the tactics that would have the optimal performance for the given resource environment and user preferences. I then developed a domain-specific language, called Vivendi, that allows developers to specify the adaptive characteristics of an application that are relevant for mobile computing. These characteristics include the parameters, fidelity variables, and tactics of the application. The parameters give hints about the expected application resource usage. These hints are used by Chroma to decide the optimal tactic. The fidelity variables are application settings that Chroma must set based on the available resources. Finally, tactics are described in two parts; the first part is the list of application procedures that can be remotely executed and the second is the possible ways to combine these procedures to do useful work. (Abstract shortened by UMI.)