virtual cloud computing framework for mobile devices ver 1
TRANSCRIPT
Virtual Cloud Computing Framework for Mobile Devices
Richard Bryann Chua
Introduction
• Mobile phones are pervasive but they lack in resources compared to conventional processing devices (desktop or laptop).
• Allow mobile devices to use cloud computing platforms
• Cloud computing access
– Create an ad-hoc mobile cloud
– Access an infrastructure-based cloud
Huerta-Canepa & Lee (2010)
Huerta-Canepa & Lee (2010) • 2 sub-implementations
– Cloud computing client
• Java was used for interoperability
• Only worked in jailbroken itouch with JamVM
– Ad hoc mobile cloud framework
• Modified Hadoop – File system classes and interfaces were replaced by direct
downloads from source mobile device.
– MapReduce framework calls were replaced by RPC methods.
– Communication bet. Devices is based on XMPP
Huerta-Canepa & Lee (2010) • Evaluation settings
– Each input data for distributed jobs is small (< 100kb)
– Client is a jailbroken itouch with JamVM
– Cloud computing provider: 4 servers running OpenJDK VM 6 with Hadoop 0.18
– Communication bet. mobile devices is via ad hoc wifi and with servers is 802.11b/g
– Korean OCR that reads an image of Korean characters and presents their Romanize versions.
Huerta-Canepa & Lee (2010)
• Results
Huerta-Canepa & Lee (2010)
• Lessons learned (problems):
– Hadoop modification partially solves its problem with small files but multiple small files trigger memory problems.
– If there are more small files, the longer it takes for scanning and networking.
• Future work
– Usage of mobility traces to create stable communities and not only places
– Usage of context awareness for fault tolerance
Zhang et. al. (2011) • Approaches in accessing an infrastructure-
based cloud
– Duplicate the runtime environment of the device in the cloud
• Cons: – You might need to access the physical hardware in the device.
– Might not take the full advantage of cloud compute resources.
– Increases in the complexity of device management.
– Application level augmentation via enabling elastic applications (weblets)
Zhang et. al. (2011)
2 Properties of Elastic Applications
1. An elastic application is split or partitioned so that execution occurs partially on the device or partially on the cloud (cyber foraging)
2. The execution configuration of an elastic application is not static, instead it is determined when the application is launched and potentially modified during runtime.
Benefits of elastic applicationhs (Zhang et. Al.)
• Elastic applications are not constrained by compute capabilities of today’s mobile platform.
• Mobile device compute and storage need not be designed to satisfy the most demanding applications.
• Gives the device greater flexibility.
• Application components that are partitioned for migration can be replicated.
• Elastic applications model serves as a testbed for future technologies.
Elasticity Patterns (Zhang et. Al.)
2 forms of replication: • Pools • shadowing
Cost optimization for Elastic Applications (Zhang et. Al.)
4 attributes considered: power consumption, monetary cost, performance attributes, security & privacy
Cost optimization for Elastic Applications (Zhang et. Al.)
SDK Development (Zhang et. Al.)
Elastic application: Elastic Image Processing
• Various filtering operations applied to set of images
• Replication pattern: weblet pool is created on the cloud and images are processed in parallel by the pool members
• 3 workloads
– Load 1: 1 image
– Load 2: 4 images
– Load 3: 16 images
• Images are 24-bit color of size 240 x 360
Elastic application: Elastic Image Processing
• User input:
– Specify if device is online (should it use the cloud?)
– Specify the number of weblets to run on the cloud
– Specify the kind of filtering to run on the cloud
– Specify the load or the number of images to process concurrently
Elastic application: Elastic Image Processing
• 1 type of weblet
Elastic application: Elastic Image Processing
Elastic application: object identification and replacement
• Real-world objects are detected and enhanced.
• User inputs:
– Specify the language of choice
– Number of weblets to run on the cloud
Elastic application: object identification and replacement
• 3 types of weblets – Tracker – performs feature extraction on the live feed – Matcher – matches extracted features with images in
a database – Compositor – performs image replacements on the
device
Elastic application: elastic augmented reality: augmented video
Elastic application: elastic augmented reality: augmented video
• 4 types of weblets – UserTracker – identifies the position and direction of the user – PoiMonitor and CrowdMonitor – collects device information and
calculates the number of people near POIs – PoiFilter – determines the POIs in the user’s vicinity and field of
camera view – Compositor – overlays the information about the POIs on the
device’s screen
Experimental Validation (Zhang et. Al.)
• Image processing application as benchmark
• For elastic device
– In-house cloud comprising of 8 Linux boxes
Experimental Validation (Zhang et. Al.)
Experimental Validation (Zhang et. Al.)
Experimental Validation (Zhang et. Al.)
References
• Gonzalo Huerta-Canepa and Dongman Lee. 2010. A virtual cloud computing provider for mobile devices. In Proceedings of the 1st ACM Workshop on Mobile Cloud Computing & Services: Social Networks and Beyond (MCS '10). ACM, New York, NY, USA, , Article 6 , 5 pages.
• Xinwen Zhang, Anugeetha Kunjithapatham, Sangoh Jeong, and Simon Gibbs. 2011. Towards an Elastic Application Model for Augmenting the Computing Capabilities of Mobile Devices with Cloud Computing. Mob. Netw. Appl. 16, 3 (June 2011), 270-284.