Wednesday, January 28, 2015

Paper Critique: MAUI: Making Smartphones Last Longer with Code Offload



Motivation:
Increasing energy requirements with no plausible solution in sight is a major obstacle in the growth of smart phones. Solving this energy crisis is vital considering the relevance of the mobile phone industry. Remote execution is one method to manage energy needs of smartphones. MAUI implements remote execution through fine-grained code offload while minimizing the changes made to applications.  

Important Points:
MAUI decides at runtime which methods should be remotely executed, and achieves the best energy savings possible under the mobile’s connectivity settings, thus reducing the burden on the programmer.

3G unlike WiFi offers ubiquitous connectivity but suffers from very long latencies and limited bandwidth. For a system that aims at reducing energy usage, 3G is almost prohibitive. However, MAUI can use both WiFi and 3G for code offload.

Shorter RTT leads to significant energy saving. Highly beneficial to employ remote execution servers near smartphone users. Benefits of remote execution are most obvious when the remote server is nearby, like in the same LAN as the WiFi access point.

Developer annotates methods and classes that MAUI runtime should consider offloading to remote servers.

However, Code that implements the application’s UI, code that interacts with I/O devices, code that interacts with any external component that would be affected by re-execution should not be marked remoteable.

MAUI profiler performs device profiling, program profiling and network profiling. Device profiling helps in determining the mobile device’s energy consumption characteristics with the help of a power meter; Program profiling determines energy consumption made by a program by taking into account its duration and CPU cycles; and network profiling determines the network characteristics such as the bandwidth, latency and packet loss.

MAUI offers significant improvement in energy and performance in smartphone applications. Results show that MAUI improves energy consumption of face recognition application by a factor of 8.


Trade-offs:
WiFi’s power save mode poses an interesting trade-off. On one hand, energy is saved because sender sleeps whenever it has no packets to send. But power save mode also increases the duration of a transfer thereby consuming more energy.

Requiring the programmers to annotate all methods and classes that can run only on the smartphone as local and everything else as local may lead to fewer annotations, but program correctness may be affected by this. But requiring the programmer to annotate only remoteable code only compromises performance and not the correctness in case of incorrect annotations.

1 comment:

  1. Rohit - could capture of what is in the paper. Try to add your own commentary on pros and cons when possible.

    ReplyDelete