8/13/2019 Code Offloading
1/16
Intelligent Offloading
Strategies for COMET
Ajit Aluri
Silky AroraSupriya Rao
8/13/2019 Code Offloading
2/16
Contents
Introduction to COMET
Scheduling in COMET
Our Approach
Intelligent Code Offload Infrastructure and Results
Conclusions and Future Work
8/13/2019 Code Offloading
3/16
Introduction to COMET
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
DSMDSM
8/13/2019 Code Offloading
4/16
END POINT 1 END POINT 2
Bar()
Foo()
Foo()
8/13/2019 Code Offloading
5/16
Scheduling in COMET
=syncCount lastSyncTime + 1 syncCount RTT
10
okTime = currTime lastUnsafePoint
Offload when okTime >
okTime represents the time since the last native method
execution
8/13/2019 Code Offloading
6/16
Our Approach
COMET currently focuses on howto offload as compared to
whento 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
8/13/2019 Code Offloading
7/16
8/13/2019 Code Offloading
8/16
Static Analysis
WALA profiler for generating call graphs for an application
Helps in identification of native methods and their parents
0
2
4
6
8
10
12
ProportionofNativeMethods(%) % of Native Methods
8/13/2019 Code Offloading
9/16
Dalvik Debug Monitor Server (DDMS) for dynamic profiling
Helps in identifying methods that run a significant amount of
time before calling a native method
0
100
200
300
400
500
600
700
800
900
1000
0 10 20 30 40 50 60
ExecutionTimet
oNativeMethod(uS)
Parent Methods
com.adobe.psmobile
com.wimolife.fractal
com.magmamobile.game.checkers
Dynamic Analysis
8/13/2019 Code Offloading
10/16
Native-to-NextNative
Execution time Heuristic
Parent-to-NativeExecution
time Heuristic
Intelligent Code Offload
Parent Pa
Native Na
t1
Parent Pa
Native Na
Native Nb
t2
t3
8/13/2019 Code Offloading
11/16
Infrastructure
Server cairo.eecs.umich.edu
o 8 core Intel i7 with 3.40 Ghz processor and 32 GB RAM
Client - Samsung Galaxy Nexuso Cyanogenmod 10.0 tc enabled kernel
8/13/2019 Code Offloading
12/16
Results
0
5
10
15
20
25
30
35
40
0.51 0.91 2 5 7 9
Executiontimeinsec
Bandwidth in Mbits/sec
Intelligent Offload
Baseline COMET
8/13/2019 Code Offloading
13/16
Results
100
105
110
115
120
125
130
0.51 0.91 2 5 7 9
ExecutionTimeinsec
Bandwidth in Mbits/sec
Intelligent Offload
Baseline COMET
8/13/2019 Code Offloading
14/16
Results
Iterations BaselineCOMET IntelligentOffload % Improvement
5 36.6 33 10%
10 45.67 41.33 9.5%
15 60 48 20%25 71.6 51 28.7%
50 112.67 102 9.5%
100 188 179 4.8%
Performance improvement of 4.5% for com.adobe.psmobile applicationusing Heuristic 1 (Parent-to-Native)
Results for further experiments on synthetic application at 900Kbps forHeuristic 2 (Native-to-NextNative):
8/13/2019 Code Offloading
15/16
Future Work
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
8/13/2019 Code Offloading
16/16
Thank You!
Top Related