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 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
% 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
20
Parent Methods
30
40
50
60
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
30
25
20
15
10
0 0.51 0.91 2 5 7 9
Bandwidth in Mbits/sec
130
125
Results
120
115
110
105
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!