1
|
- Yang Wang and Thomas Kunz
- University of
Alberta Carleton University
- http://kunz-pc.sce.carleton.ca/
- tkunz@sce.carleton.ca
|
2
|
- Research Background and Motivation
- Centralized Solutions
- Adaptive Algorithm
- Non-adaptive Algorithm
- Distributed Solution
- Conclusions and Future Work
|
3
|
|
4
|
|
5
|
|
6
|
- Overall question: how to “best” split the client application between
client device and proxy (i.e., the assignment problem)
- Not all objects are migratable (user interface, etc.)
- Runtime migration interferes with execution, so limit maximum amount of
data to be migrated (i.e., object code and state)
- Stone’s network flow solution for 2-processor case not applicable
- Does not consider mobile environment constraints
- Requires object location to be chosen freely
- Paper shows that assignment problem is NP-complete by reducing it to the
0/1 Knapsack problem
|
7
|
- Initially all objects are on client side.
- Each object is assigned a value D that characterizes how well it is
suited to be migrated (benefits from being assigned to a faster CPU,
linkages – method invocations – with other objects)
- Threshold value t determines which objects should be migrated (all
objects for which D > t), initially the average of all D
- Adaptive Algorithm: after making migration decision, adapt threshold to
reflect object migration (essentially by excluding migrated object.
|
8
|
- Time complexity: O(ne)
- Example: Nodes have computational cost and size, edges have
communication costs
- Proxy Processor 100 times faster than client device
- Wireless link capacity: 16
- Initial node: 1 (highest D)
- Result: migrate 1, 2, 4, 5 for
a benefit of 605
|
9
|
- Adaptive Algorithm: essentially breadth-first search, nodes re-visited
multiple times with different thresholds
- Non-adaptive algorithm: recursive, assumes that threshold is set once, n
times faster than Adaptive Algorithm (i.e., O(e))
- Applied to same example: migrate nodes 1, 2, 6, 3, for a benefit of 518
(i.e., less optimal)
|
10
|
- Both Adaptive and Non-adaptive Algorithms are centralized.
- If migration can extend to multiple proxies, centralized solution not
ideal
- Distributed version: implement decision algorithm in proxy objects
(i.e., the stubs that provide location transparency when invoking
methods) and run in a coordinated but distributed fashion
- Basic idea: pass token in a tree structure, based on well-known
algorithm, node/proxy object with token uses information to make
migration decision
- Message complexity: O(n2log(n))
|
11
|
|
12
|
- Dynamically assign application objects to mobile device and proxy
server, subject to:
- Computational demand of objects
- Object size (code and state)
- Inter-object relationships
- Optimal solution NP-hard
- Proposed three heuristics
- Centralized algorithms
- Distributed algorithm
- Algorithms proven to terminate, with known time or message complexities
|
13
|
- Implement these algorithms in our mobile code toolkits for PalmPilot and
Windows CE/Pocket PC devices
- Explore link between capacity limitation and wireless link capacity
(i.e., the nature of the intrusion)
- If mobile environment changes, do we need to re-run algorithms from
scratch or can we incrementally figure out new assignments
|