1
|
- Thomas Kunz
- Systems and Computer Engineering
- Carleton University
- http://kunz-pc.sce.carleton.ca/
- tkunz@sce.carleton.ca
|
2
|
|
3
|
- Typically, related work focuses on bandwidth variation
- Other resources are also constrained (memory, power, CPU capabilities)
and may vary over time
- Majority of solutions: introduce proxy between client (application
executing on mobile device) and server, proxy compresses and filters
data stream
- sometimes, degree of compression depends on available bandwidth
- user mobility often not addressed/supported
- Other solutions:
- view mobile purely as User Interface (WWW browsers, Teleporting, ....)
- partition client application between mobile and proxy
- partition directed by application (Rover, MaROS, ....)
- partition transparent to application (our own focus)
|
4
|
|
5
|
|
6
|
|
7
|
- Extend JVM on client and proxy server
- Monitor
- Code Storage
- Object References and Profiling
- Object Server
- Remote Method Invocation Protocol
- Dynamic Decision
- Communication Control Layer
- Extend garbage collection to deal with remote references
- Provide abstractions to notify runtime system about environment and
changes in environment (bandwidth, power, …), based on events and event
notification
|
8
|
|
9
|
|
10
|
|
11
|
- Implemented MP3 player, decoder (set of heavily communicating objects)
can execute locally or remotely
- Various performance experiments, study impact of
- Available Bandwidth (19.2 kbps – 2 Mbps)
- Relative CPU speed (Mobile CPU: Proxy CPU)
- 1:4 for laptop as client device
- 1:116 for Windows CE palmtop as client device
- Results (more details in paper):
- for high bandwidth and slow client, offloading decoder to proxy can
speed up application performance by a factor of 20 and reduce power
consumption by 95%
- For faster client devices, independent of bandwidth, no benefit
(actually worse performance) when decoding sound samples in access
network
|
12
|
- Implemented Mobile Code Toolkit with small footprint for Windows CE
devices
- Collected experimental evidence to verify validity of our approach
- Built framework to study scalability
- Started to improve RMI performance (reduced time by up to factor of 4,
so far)
- Port to Palm OS (KVM problems):
- No reflection
- No serialization
- No JNI
|
13
|
- Improve toolkit: better RMI performance, automatic generation of proxy
objects, port to Palm OS, build object graph “on-the-fly”, dynamic
partitioning decisions
- Study additional applications and more dynamic scenarios, including
proxy-to-proxy handoffs
- Conflicting objectives (power saving vs. application performance)
- Interaction between application-aware (MP3 player reduces sound quality,
sampling rate, …. ) and application-transparent (runtime system migrates
decode objects from handset to proxy) adaptation
|