Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Slides:



Advertisements
Similar presentations
Distributed Data Processing
Advertisements

Source: IEEE Pervasive Computing, Vol. 8, Issue.4, Oct.2009, pp. 14 – 23 Author: Satyanarayanan, M., Bahl, P., Caceres, R., Davies, N. Adviser: Chia-Nian.
Threads, SMP, and Microkernels
Clouds C. Vuerli Contributed by Zsolt Nemeth. As it started.
The road to reliable, autonomous distributed systems
Slide Courtesy: Prof. Pradipta De, SUNY Korea Mobile Cloud Computing.
Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.
Technical Architectures
An Energy Consumption Framework for Distributed Java-Based Systems Chiyoung Seo Software Architecture Research Group University of Southern California.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Virtualization and the Cloud
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 4.
On Exploiting Dynamic Execution Patterns for Workload Offloading in Mobile Cloud Applications Wei Gao, Yong Li, and Haoyang Lu The University of Tennessee,
Presented by Sujit Tilak. Evolution of Client/Server Architecture Clients & Server on different computer systems Local Area Network for Server and Client.
M.A.Doman Model for enabling the delivery of computing as a SERVICE.
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
Client-Server Computing in Mobile Environments
ThinkAir: Dynamic Resource Allocation and Parallel Execution in Cloud for Mobile Code Offloading Sokol Kosta, Pan Hui Deutsche Telekom Labs, Berlin, Germany.
New Challenges in Cloud Datacenter Monitoring and Management
Plan Introduction What is Cloud Computing?
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
 Energy Results: Memory Assistant Arcade Game  Performance Results:  Response Time ▪ Memory assistant: 17.3 sec -> 1.5 sec ▪ Arcade game: 6 FPS -> 13.
A User Experience-based Cloud Service Redeployment Mechanism KANG Yu.
Mobile cloud computing: survey 1. Introduction  In recent years, applications targeted at mobile devices havs started becoming abundant with applications.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
MOBILE CLOUD COMPUTING
Computation Offloading
A Survey of Mobile Cloud Computing Application Models
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Virtualization. Virtualization  In computing, virtualization is a broad term that refers to the abstraction of computer resources  It is "a technique.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
Clone-Cloud. Motivation With the increasing use of mobile devices, mobile applications with richer functionalities are becoming ubiquitous But mobile.
SUMA: A Scientific Metacomputer Cardinale, Yudith Figueira, Carlos Hernández, Emilio Baquero, Eduardo Berbín, Luis Bouza, Roberto Gamess, Eric García,
Plan  Introduction  What is Cloud Computing?  Why is it called ‘’Cloud Computing’’?  Characteristics of Cloud Computing  Advantages of Cloud Computing.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
A Software Framework for Distributed Services Michael M. McKerns and Michael A.G. Aivazis California Institute of Technology, Pasadena, CA Introduction.
IBM Bluemix Ecosystem Development Hands on Workshop Section 1 - Overview.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
Chapter 8 – Cloud Computing
Web Technologies Lecture 13 Introduction to cloud computing.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Efficient Opportunistic Sensing using Mobile Collaborative Platform MOSDEN.
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
ANDROID AS A SERVER PLATFORM ON CLOUD COMPUTING SONA COLLEGE OF TECHNOLOGY SUBMITTED BY: NAGADEVI PRIYA.G DIVYA PURNIMA.S.S
Introduction to Mobile-Cloud Computing. What is Mobile Cloud Computing? an infrastructure where both the data storage and processing happen outside of.
Dynamic Mobile Cloud Computing: Ad Hoc and Opportunistic Job Sharing.
Prof. Jong-Moon Chung’s Lecture Notes at Yonsei University
Computer System Structures
The Post Windows Operating System
COMPSCI 110 Operating Systems
Clouds , Grids and Clusters
System Design and Modeling
Cloud Computing By P.Mahesh
Introduction to Cloud Computing
#01 Client/Server Computing
Mobile Computing.
Concept of VLAN (Virtual LAN) and Benefits
Cloud Computing Cloud computing refers to “a model of computing that provides access to a shared pool of computing resources (computers, storage, applications,
An Introduction to Software Architecture
#01 Client/Server Computing
Presentation transcript:

Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi( ) Venkata Sri Krishnakanth Pulla( ) Prashant Tiwari ( )

Introduction Cloud computing offers benefits like increased storage, increased processing capacity, flexibility and mobility, reduced cost etc. In Mobile arena, numerous constraints hinder actual realization of above mentioned benfits. This gives rise to many research opportunities. We discuss some progress in this domain so far.

What is Mobile Cloud Computing A combination of cloud computing, wireless infrastructure, portable devices, location based services have given rise to it. Mobile cloud computing is a model for transparent elastic augmentation of mobile devices capability. Using ubiquitous wireless access to cloud storage and computing resources. context-aware dynamic adjusting of offloading in respect to change in operating conditions, Preserve available sensing and interactivity capabilities of mobile devices

Challenges and Issues Existing cloud computing tools consider process parallelizing on massive data volume, large data storage and flexible VM management. Mobile Cloud Computing requires computation and storage offloaded to the crowd respecting user interactivity in every possible way. Addressing mobile constraints is the only way.

Challenges in this domain: How to abstract complex underlying heterogeneous technology. How to model parameters like low energy capacity and intermittent dis-connectivity that influence performance and interactivity of the application. Integrate processing and storage on cloud considering privacy and security. Finally, Constraints for Mobile Devices: Low Processing Capabilities, Less available energy, Low Memory, Data rates and plans, Intermittent Dis-connectivity, Smaller Display etc.

Types of Mobile Application Offline Applications: Fat Clients with presentation and business logic processed locally. Data downloaded from backend. Advantages: Well Integrated, Optimized Performance, Availability :even without network connectivity. Disadvantages: No Portability, Complex Code.

Online Applications: Only presentation layer at the client. All processing done online. Assume constant connectivity with backend. Platform issues; Web Technology to rescue. Advantages: Multiplatform, Direct and Instantaneous Accessibility to better services. Disadvantages: Excessive latency for real time responsiveness, no access to device features, sometimes difficult to maintain sessions for a long time. ** Urgent Need to Address Dynamic Environment of Mobiles!

Novel Application Models for Cloud Computing Augmented execution: Tackle limitation of computation, memory and battery. Systems present ;based on Cloudlets; employ Dynamic VM Synthesis. Cloudlets->Trusted, Resource Rich cluster of computers, well connected to Internet and available to nearby mobiles. Offers low latency, one-hop high bandwidth wireless access. Fig. 1. CloneCloud categories for augmented execution.

Dynamic Virtual Machine Synthesis Fig 2: Dynamic VM synthesis.

Elastic Partitioned/ Modularized Application Due to heterogeneous changing environment, dynamic partitioning and remote execution of applications preferred. Calling the Cloud: Middleware to dynamically distribute layers of application between device and server, optimizing latency, data transfer and cost. Uses AlfredO framework, which is based on R-OSGI that allows decomposition of Java Application in software modules. MAUI: Code offload to improve battery life. Profiling Information of methods used to predict future invocations.

Fig 3: Reference Architecture for Elastic Applications Weblets-> platform independent and can be executed transparently on different computing infrastructures including mobile devices or IaaS (Infrastructure as a Service) cloud providers such as Amazon EC2 and S3.

Application Mobility (Move Application Within Hosts During Execution) Internet Suspend/Resume: – VM encapsulates distinct execution& user customization state.DFS transfers state. – Migrate complete VM; More BW and Time JADE: – Adaptive Application Mobility Solution. – Based on Java – Interoperability amongst Mobiles based on different H/W.

Ad-hoc Mobile Cloud Helpful when: No or weak Internet Connection or Access to Big Cloud Providers. Helps create computing communities Reduces Data Transfer towards/from network. Eg: The Hyrax Project which uses Hadoop Framework on Mobile Devices for sharing data and computation. Fugure 4: A Mobile Cloud

Topics for Exploration Programming Abstraction: Hide Complexity of Cloud, or have middleware in place. Cost Model: Consider parameters like module execution time, resource consumption, battery level, monetary cost, security, bandwidth etc. Adaptation: Two extreme approaches; Laissez-Fair Adaptation and Application Transparent Adaptation.

Topics for Exploration Contd… Trust, Security and Privacy: Low control over data, potential data loss. – Unlimited Computational Resources to non- trusted elements. Cloud Integration: Data Persistence vs Data Availability. – Shifting modules to cloud &coordination not easy.

Clone-Cloud

Motivation With the increasing use of mobile devices, mobile applications with richer functionalities are becoming ubiquitous But mobile devices are limited by their resources for computing and power consumption Cloud – the place for abundant resources Clouds provide opportunity to do huge computations quickly and accurately So why not use cloud for mobile computations??

CloneCloud CloneCloud envisions at an architecture that uses cloud to do computations that consume resources badly on mobiles. It uses the connectivity abilities of the mobile devices as a substitute for computational abilities. It believes in the intuition that as long as execution on the cloud is significantly faster than execution on the mobile device, paying the cost for sending the relevant data and code from the device to the cloud and back may be worth it. It aims at finding the right spots in an application automatically where the execution can be partitioned and migrated to the cloud.

CloneCloud This model is primarily applicable to application layer VMs (virtual machines) since the instruction sets in it are bytecodes and hence provide hardware and OS independence It exhibits opportunistic but conservative consistency The partitioning component for finding migration points uses – static analysis to find the constraints and the dynamic profiling for building the cost model for execution and migration It finally uses an optimizer that uses the above constraints and cost models to derive the partitions

Partitioning The partitioning mechanism yields the partitions in the application that are optimal at execution time and energy consumption It is run multiple time under different conditions and objective functions – stores all partitions in a database At run time, the execution picks a partition among these and modifies the executable before invocation It has three components – static analyzer, dynamic profiler and optimization solver

Partitioning Fig 5: Partitioning Analysis Framework

Static Analyzer The static analyzer identifies the legal partitions of the application executable according to a set of constraints Migration is restricted to the method entry and exit points Two more restrictions for simplicity – Migration is allowed only at the boundaries of application methods but not core system library methods – Migration is allowed at the VM-layer method boundaries but not native method boundaries Example…

Static Analyzer - example Fig 6: Flow Diagram in a Static Analyzer

Static Analyzer - constraints Three properties of any legal partition – Methods that access specific features of a machine must be pinned to the machine – Methods that share native state must be collocated at the same machine. – Prevent nested migration.

Dynamic Profiler Profiler collects data that will be used to construct the cost model Currently using randomly chosen set of inputs – Future work is to explore symbolic-execution-based techniques since randomly chosen inputs may not explore all execution paths Each execution is run once on mobile device and once on the clone in the cloud Profiler outputs set of executions S and a profile tree, for both mobile device and the clone Example…

Dynamic Profiler- example Fig 7: Example of Dynamic Profiler

Profile tree One node for each method invocation Every non-leaf node also has a leaf child called its residual node Residual node holds residual cost which represents the cost of running the body of code excluding the costs of the methods called by it Computation cost Cc(i, l); l=0 on mobile device and filled from T, l=1 on the clone and filled from T Migration cost Cs(i); sum of a suspend/resume cost and the transfer cost

Dynamic Profiler For energy consumption model, we do the energy measurements with off-board equipment. CPU activity (processing/idle), display state (on/off), and network state (transmitting or receiving/idle), and translate them to a power value using func P Cc(i, 0)= P(CPUOn, ScrOn, NetIdle)* T[i] Cc(i,1)= P(CPUIdle, ScrOn, NetIdle) Cs(i) = * P(CPUOn, ScrOn, NetOn)

Optimization Solver It aims at picking up application methods to migrate to the clone from the mobile device, so as to minimize the expected cost of the partitioned application. Decision variable R(m) m= method in the application. R(m)=1 -> partitioner places a migration point at the entry point of the method. But not all partitioning choices for R(.) are legal

Optimization problem Using the decision variables R(.), the auxiliary decision variables L(.), the method sets VM and VNatC for all classes C defined during static analysis, and the relations I, DC and TC

Cost of a partition

Distributed Execution Two unique features of CloneCloud Thread granularity migration: migration operates at the granularity of a thread Native-Everywhere: enables migrated threads to use native non-virtualized hardware(GPUs, Cryptographic accelerators etc.)

Migration Overview

Suspend and capture Thread migrator suspends migrant thread Captures its state, passes it to node manager Node manager transfers the capture to clone

Resume and Merge Clone's thread migrator captures and packages the thread state Node manager transfers the capture back to the mobile device Migrator in the original process is given the capture for resumption

Object Mapping

Evaluation

Related Work MAUI: Making Smartphones Last Longer with Code Offload -does not support virtualized methods calling native methods -requires programmers to annotate methods as REMOTABLE -requires a solver to be running at the server at runtime (as opposed asynchronous solving in CloneCloud)

Future Work CloneCloud focuses on migrating at execution points where no native state need to be migrated CloneCloud does not virtualize access to native resources that are not virtualized already and are not available on clone No concurrency Trust worthiness of clone

Conclusion A design that achieves basic augmented execution of mobile applications on the cloud Prototype delivers up to 20x speed up and 20x energy reduction Programmer involvement is not required Opens up a path for a rich research agenda in hybrid mobile-cloud systems

Thanks