Anda di halaman 1dari 16

Intelligent Offloading Strategies for COMET

Ajit Aluri Silky Arora Supriya Rao

Introduction to COMET Scheduling in COMET Our Approach Intelligent Code Offload Infrastructure and Results Conclusions and Future Work

Contents

Extends DalvikVM to freely migrate threads between end points using distributed shared memory (DSM) at the granularity of fields. Uses VM synchronization primitives to maintain a consistent state between the end points Supports multiple threads by using lazy release consistency. Prior work: CloneCloud, JMM, Jessica

Introduction to COMET

DSM

DSM

END POINT 1 Foo() Bar()

END POINT 2

Foo()

syncCount lastSyncTime + 1 syncCount RTT = 10 Offload when okTime > okTime represents the time since the last native method execution okTime = currTime lastUnsafePoint

Scheduling in COMET

COMET currently focuses on how to offload as compared to when to offload Our Goal - Improve the offloading decision engine of COMET using the following Incorporating bandwidth in the scheduling decision Static Analysis of applications Dynamic profiling to get method execution times

Our Approach

Used tc for limiting available bandwidth Background daemon to compute available bandwidth to the server using iperf tool Thread gets latest bandwidth conditions by communicating with the local bandwidth daemon Compare the data being offloaded with a bandwidth based threshold Invokes thread recovery mechanism to cancel the offload if check fails

Bandwidth Analysis

WALA profiler for generating call graphs for an application Helps in identification of native methods and their parents
12

Static Analysis

Proportion of Native Methods (%)

% of Native Methods

10 8 6 4 2 0

Dalvik Debug Monitor Server (DDMS) for dynamic profiling Helps in identifying methods that run a significant amount of time before calling a native method
1000

Dynamic Analysis

Execution Time to Native Method (uS)

900 800 700 600 500 400 300 200 100 0 0 10

com.adobe.psmobile com.wimolife.fractal com.magmamobile.game.checkers

20

Parent Methods

30

40

50

60

Parent-to-Native Execution time Heuristic

Intelligent Code Offload

Native-to-NextNative Execution time Heuristic


Parent Pa

Parent Pa t1

t2 Native Na t3 Native Nb

Native Na

Server cairo.eecs.umich.edu o 8 core Intel i7 with 3.40 Ghz processor and 32 GB RAM Client - Samsung Galaxy Nexus o Cyanogenmod 10.0 tc enabled kernel

Infrastructure

40

35

Results

Intelligent Offload Baseline COMET

Execution time in sec

30

25

20

15

10

0 0.51 0.91 2 5 7 9

Bandwidth in Mbits/sec

130

125

Results

Intelligent Offload Baseline COMET

Execution Time in sec

120

115

110

105

100 0.51 0.91 2 5 7 9

Bandwidth in Mbits/sec

Performance improvement of 4.5% for com.adobe.psmobile application using Heuristic 1 (Parent-to-Native) Results for further experiments on synthetic application at 900Kbps for Heuristic 2 (Native-to-NextNative): Iterations 5 10 15 25 50 100 Baseline COMET 36.6 45.67 60 71.6 112.67 188 Intelligent Offload 33 41.33 48 51 102 179 % Improvement 10% 9.5% 20% 28.7% 9.5% 4.8%

Results

Include the methods of interest inside the applications executable Compute last execution time of methods of interest without relying on DDMS Cleaner way to recover from aborting the sync based on bandwidth measurements Improve the calculation of last sync time

Future Work

Thank You!

Anda mungkin juga menyukai