Notes
Slide Show
Outline
1
An Adaptive MP3 Player:
 Reducing Power Consumption and
Increasing Application Performance
  • Thomas Kunz
  • Systems and Computer Engineering
  • Carleton University
  • http://kunz-pc.sce.carleton.ca/
  • tkunz@sce.carleton.ca
2
Mobile Computing Challenges
3
Related Work
  • 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
Adaptive Mobile Applications:
System Overview
5
Proposed Architecture
6
Mobile Code Toolkit: Proxy Objects
7
Mobile Code Toolkit: Components
  • 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
Required Info: Application Object Graph
9
Objects
10
Inter-Object Communication
11
Experimental Results
  • 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
Conclusions and Current Status
  • 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
Future Work
  • 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