240 likes | 432 Views
Autonomous Agents-based Mobile-Cloud Computing . Mobile-Cloud Computing (MCC). MCC refers to an infrastructure where the data storage and data processing can happen outside of the mobile device.
E N D
Mobile-Cloud Computing (MCC) • MCC refers to an infrastructure where the data storage and data processing can happen outside of the mobile device. • Mobile-cloud applications move computing into powerful and centralized computing platforms located in clouds. • Advantages: Extending battery lifetime, improving processing power, increasing availability, dynamic resource provisioning... • Applications: Augmented reality, security/emergency, mobile healthcare, mobile gaming, mobile commerce…
Research Problem • In MCC, an inflexible split of computation between the mobile and cloud platformscauses sub-optimal runtime performance. There is need for a mobile-cloud computation framework that achieves optimal performance under varying runtime conditions, without sacrificing security. Autonomous agents, when augmented with self-protection and self-performance evaluation capability, are effective tools for high-performance, secure MCC.
Challenges • Interoperability and standardization • Efficient and effective computation offloading: • Variable bandwidth • Mobile service availability • Difficulty of runtime conditions estimation • Security: • Multi-tenancy in cloud causes vulnerability • Offloaded code prone to tampering • End-to-end security of mobile code at risk Any mechanism needs to satisfy: Real-time response under intermittent network connection Minimum communication cost with mobile platform Limited computation overhead
AN AUTONOMOUS agents-BASED computation offloading FRAMEWORK FOR MCC (AAMCC) • P. Angin, B. Bhargava. “An Agent-based Optimization Framework for Mobile-Cloud Computing,” Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications, Vol. 4, No. 2, 2013.
Mobile (Autonomous) Agents • A mobile agent is a software program with mobility, which can be sent out from a computer into a network and roam among the nodes in the network autonomously to finish its task on behalf of its owner. • Mobile agent migration follows these steps: • Process suspension/new process creation • Process conversion into a message with all state information • Message routing to destination server • Message reconstitution into executable • Execution continuation with next instruction
Why Mobile Agents for MCC? • Agents can provide better support for mobile clients (reduced network communication) • Agents facilitate real-time interaction with server • Agent-based transactions avoid the need to preserve process state • Agent-based modules are capable of moving across different platforms transparently • Agent-based modules can be augmented with self-protection and performance evaluation capability
AAMCC Components • Autonomous application modules: Chunk of application code packed in a mobile agent, that is executable on a cloud host. • Cloud directory service: Maintains an up-to-date database of VMIs available for use in the cloud • Cloud hosts (VMIs): Host containers of the mobile agents sent to the cloud • Offloading manager (execution manager): Makes the decision regarding the execution platform of the different program partitions More later
Migrate M2 AAMCC in Action Cloud Cloud Directory Service HostA Cont.A R2 Get cloud host list HostA, HostB Mobile HostB Execution Manager R3 Cont.B Result? App: P1 Move to HostA P2 Move to HostB P3
Experiments with AAMCC Application 1: Face Recognition • Given the picture of a person, identify the most similar face to it in a set of pictures • Android 4.2 device emulator vs. AAMCC, under average speed Wi-Fi network With online data: Local-only data:
Experiments with AAMCC (cont.) Application 2: Sudoku • Given a Sudoku puzzle with a given list of initially filled cells, find all possible solutions • Motorola Atrix4G (1 GHz dual-core, 1 GB RAM) with Android 2.3 vs. AAMCC, under average speed Wi-Fi network
Experiments with AAMCC (cont.) Application 3: NQueens Puzzle • Given an NQueens puzzle for an N x N board, find all possible solutions • Motorola Atrix4G device with Android 2.3 vs. AAMCC, under average speed Wi-Fi network Number of solutions: All solutions:
Elements of Context in MCC • User preference • Device context: • Device characteristics (memory, processor etc.) • Energy • Workload • Quality of service: • Data connection type, bandwidth • Cloud resource availability • Situational context: location, time, sensors… Our focus
Effects of Context on AAMCC Face recognition with local-only data, 32-picture set Face recognition with local-only data Multi-threaded NQueens returning # of solutions
Offloading Decision-Making • Easy to make offloading decision for a single application module: if (cost_to_offload < cost_to_execute_locally) then offload else execute on device cost_to_offload = time to send code and data to cloud + time to get response from cloud + time to execute in cloud • Not so easy to decide for multipleinter-dependent application modules
Multi-Component Offloading Decision-Making Offline steps: • Identify dependencies between offloadable application modules • Construct execution tree based on dependencies • Insert cost statistics into tree Online steps: • Calculate offloading costs • Run cost optimization algorithm
Application Execution Tree • Represents interactions between modules • Root of the tree: entry node (main method) • If x is the child of y, y invokes x No cyclic dependencies! mx: cost to execute x on device – cost to execute children of x cx: amount of data to transfer to offload x (separate from parent)
Offloading Manager Cost Model Assumption: Execution cost for any module in the cloud is negligible compared to execution cost on device cdx: local execution cost for x ccx: cloud execution cost for x b: available bandwidth xs: set of sub-modules (children) of x
Execution Tree Cost Optimization 0.7 42 (9+1+19<42)? local: offload c=29, local 0.1 (19+.03+.1<0.7)? local:offload c=0.7, offload 19 42 0.6 9 1 19 0.03 123 3 c = 19, local c = 0.03, local c = 9, offload c = 1, offload Depth-first traversal: O(E)
Experiments with Offloading Manager • Synthetic application with 6 offloadable modules • Motorola Atrix 4G + medium AMI on EC2 • Each module has different computation/data transfer requirements