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.
Rohit - could capture of what is in the paper. Try to add your own commentary on pros and cons when possible.
ReplyDelete