Wednesday, January 28, 2015

MAUI: Making Smartphones Last Longer with Code Offload

Motivation:
A smartphone’s ability to consume energy far outpaces the battery’s ability to provide it. Energy is the primary bottleneck for handheld mobile devices. This paper proposes MAUI, a system that enable s fine-grained energy-aware offload of mobile code to the infrastructure
Main points:
MAUI uses the benefits of a managed code environment to offer the best of both worlds: 1) It maximized the energy benefits of offloading code, 2)It reduced the burden on programmers to deal with program partitioning

The combination of code portability, serialization, reflection, and type safety allows MAUI to offer dynamic fine-grained code offload with minimal burden on the programmer

Wi-Fi has much better performance and lower energy consumption than 3G. MAUI can use either Wi-Fi or 3G for code offload

Shorter RTTs can lead to significant energy savings. the benefits of remote execution are most impressive when the remote server is nearby (RTT of 10 ms) rather than in the cloud (RTT >= 25 ms)

MAUI provides a programming environment where developers annotate which methods of an application can be offloaded for remote execution. MAUI uses an optimization framework to decide at runtime whether it makes sense froma performance and energy standpoint to execute it remotely

MAUI carries out a cost–benefit analysis by profiling each method in an application through serialization. Offload decisions depend on three factors: 1) the smartphone device’s energy consumption characteristics; 2) the program characteristics, and 3) the network characteristics of the wireless environment

Trade-offs:
MAUI uses past invocations of a method as a predictor of future invocations concerning energy usage. However, the energy consumption of a method is expressed as a function of the number of CPU cycles it requires, not directly taken from the mobile device’s battery

Developers need to manually annotate which methods could be offloaded. It takes a considerable amount of time for programmers to annotate remoteable methods


1 comment:

  1. Good job -- nice comment on the energy vs. CPU cycles -- do you have evidence this may be inaccurate? Why do you think programmer annotation may take considerable time?

    ReplyDelete