Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dynamic Mobile Cloud Computing: Ad Hoc and Opportunistic Job Sharing.

Similar presentations


Presentation on theme: "Dynamic Mobile Cloud Computing: Ad Hoc and Opportunistic Job Sharing."— Presentation transcript:

1 Dynamic Mobile Cloud Computing: Ad Hoc and Opportunistic Job Sharing

2 Introduction Challenges on Mobile Computing – Resource scarceness – Finite energy – Low connectivity Rise of “Cloud Computing” – Offloaded/distributed computing – SaaS/PaaS/IaaS Motivation – Overcoming problems of mobile computing Computational capability Battery Power Connectivity

3 Motivation Mobile Cloud: ‘cloud’ of mobile and stationary resources that could be utilize to achieve a common goal in a distributed manner.

4 4 Proposed Architecture

5 Work Distribution Mechanism Flow 1.Resource Discovery 2.Calculate costs Comparison of potential clients, user priorities, requirements and constraints 3.Distribute jobs 4.Run the jobs 5.Collect the results 6.Cleanup 7.Handle micropayments 5

6 Cost Model Experiment Environment – Two phones Nokia X6 Nokia 6500 – PC Windows 7 Enterprise Inter Core Duo CPU E7300 2.66/267 GHz RAM 2GB – Bluetooth Communication Consume less energy Improving speed of communication 6

7 Cost Model – Cost Formulae Sharing Jobs Offloading – Parameters for offloading in the master’s perspective 7 T m : Total time to complete the job in Master T pt : Time to establish piconet T d : Time to partition/distribute jobs to slaves T w&r : Time the master spends waiting for slaves T s : Time to complete the master’s job T sl : Total time to complete the job in Slave T cn : Time to connect to the master T rcv : Time to receive the job parameter T cp : Time to complete the slave’s job T sr : Time to send the completed result backs T mOff : Total time to complete the job in the Master node T sOff : Total time to complete the job in the Slave node T oj : Time to send job parameters to slaves T piconetOff

8 Cost Model – Cost Formulae Analytical Model – Offloading to n slaves – Equal job sharing Assume that a job is uniformly partitioned – Speedup S : Computational time for Slave(i) : Computational time for Slave(i) : communication overhead : communication overhead 8 T i : Time for i th job Ki : Ratio of computational times between master and slave communication overhead Computational time for Slave(i)

9 Cost Model – Cost Formulae Condition of Speedup, from offloading on n devices – If the ratio between the CPU of the slaves and the master device is greater than sum(communication cost of master) and max(computation + communication cost), there would be speedup 9

10 Cost Model – Pseudo Codes 10

11 Prototype Implementation Distributed Mandelbrot Set Generation – Mandelbrot Set A fractal model – Parallelizing Assign each device a continuous block of the image 11 A complex number c is part of the Mandelbrot set if, when starting with z 0 = 0 and applying the iteration repeatedly, the absolute value of z n remains bounded however large n gets.

12 Experiment Result 12 Speedup = T1/Tm

13 Related Works Partitioning application – Scavenger – MAUI (w/ VMM) – Cuckoo – Hyrax: for Android smartphone application whih are distributed both in terms of data and computation – MMPI VM migration – CloneCloud: to offload to a server through 3G or WiFi for Android phones 13

14 Conclusion Equal job sharing – Speedup When (Capability of Master) < (Capablities of Slave nodes) Future works – Job distribution regarding device capabilities – “Work stealing” for effective load balancing 14

15 To offload or not to offload: an efficient code partition algorithm for mobile cloud computing

16 Introduction Code Partition Problem – Energy/time-efficient way of allocating the components of the target application Characteristic of Good Code Partitioning – Real-time adaptability – Partition Efficiency Code Partitioning Approach – Call graph model MAUI – 0-1 ILP solver Proposed algorithm – Call Link approach

17 Mobile Cloud System Architecture (in MAUI)

18 Design Rationale Call graph model – Vertex : Method – Edge(Directed, weighted) – Calling relationship – Weights of vertices and edges Vertex – Execution cost in mobile/cloud Edge – Transferring cost(Input/Response) – Unremoteable methods User Interaction I/O (Sensor, Actuator) Security

19 Design Rationale Clustered Offloading Property – The offloading methods are likely to be executed sequentially – Sequential offloading saves the cost by reducing the execution cost and extra transferring cost of discrete offloads

20 Code Partition Algorithm Overview – The best offloading/integrating points on a call graph Finding them on the corresponding call link(derived by DFS) – Linear-time searching strategy – Time Complexity O(V+E)

21 Code Partition Algorithm Call link – Finding the best offloading and integrating points – NP problem – Sequential execution of call graph in a single thread From the timeline of execution, the call graph can be converted into a call link (executing order in DFS) Finding the best offloading/integrating points – (in a call graph) = (in a call link) Searching complexity of DFS – O(V+E)

22 Code Partition Algorithm One time offload property – The optimal number of the offloading and integrating points for the each sub-call link is one. – Proof : If more than one point exist, then there should be methods that are embedded between the offloaded methods, which is running with bigger cost on mobile

23 Code Partition Algorithm Optimal substructure – For a given sub call link, every offloading points share the same optimal integrating point, and the performance improvement of offloading from i is (1) – U i : The utility or performance improvements when offloading starts from method i to its corresponding best integrating point – M i, C i : Execution cost of method i on mobile/cloud – I i, R i : Transferring cost of method i for input/return state – K : the number of methods on the sub call link

24 Code Partition Algorithm Linear time searching

25 Code Partition Algorithm Linear time searching

26 Evaluation Environment – Implementation of the algorithm on C – Cloud Agent CPU – Dual core 2.0Ghz RAM – 4GB – Mobile Agent Samsung Galaxy ACE(GT-S5830) RAM 278MB Android 2.3.3 Comparison with 0-1 ILP Solver

27 Evaluation Comparison in execution time – Face recognition application 19 remoteable methods – NLP application 73 remoteable methods Evaluation with real target apps. – Reverse-engineering to generate the call graphs – Generate weights randomly – focus on the running speed

28 Evaluation Performance evaluation by RTT


Download ppt "Dynamic Mobile Cloud Computing: Ad Hoc and Opportunistic Job Sharing."

Similar presentations


Ads by Google