Saturday, January 31, 2015

Towards an Elastic Application Model for Augmenting the Computing Capability of Mobile Devices with Cloud Computing

Motivation:

The limited resources provided by smartphones constrain the performances of applications. We consider the cloud computing as a means to augment the capabilities of smartphones.
Because duplicating the runtime environment to the cloud may impact the battery, not take full advantages of cloud resources and increase the complexity, we focus on the application level, which is enabling flexible and optimized elasticity by considering multiple factors.


Main points:

-Two properties of elastic application. Split and partition application so that execution occurs partially on the device and partially on the cloud, dynamic execution configuration of elastic application.

-Three typical elastic patterns. replication pattern, splitter pattern, aggregator pattern.

-We consider a cost model and the optimization execution configuration. Usually we take the power, monetary cost, performance as the attributes of cost model.

-The reference architecture works with Amazon EC2 and S3.

-Build on the reference architecture, SDK is used to develop the basic interfaces of weblet. It’s easy to extend to many languages.

-Some elastic applications: Image processing, augmented reality and augmented video.

-Through the comparison between elastic device and non-elastic device in throughput, CPU usage, available memory, the elastic device shows better performance.


Trade-offs:

-Because the elastic model assigns the application on the cloud and mobile device, we can take use of the resource of cloud, but the time synchronization is a problem.

-In the cost model of elastic device, it takes power, monetary cost,  performance and security as attributes, what about the other attributes such as the connection quality, the switch of connection ways, the workload of the cloud, etc. What if one not considered attribute matters most.

-One of the advantages is that the elastic model is friendly to many languages, but on the other hand, the security of it may not be very well. The difference of encapsulation ways between different languages, the priority and the inherit ways may cause security problems.  

-In the evaluation step, the paper takes the image processing as an example. What about the other situations? The results may change if we process words, videos and etc.

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.

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


Thursday, January 8, 2015

Welcome to CSci 8980 Mobile Cloud Computing

Instructor
Prof. Jon Weissman
Email: jon at cs_umn_edu
Phone: (612) 626-0044
Office: 4-225F Keller Hall
Office Hours: TBA

Lecture Time and Location: 
11:15 A.M-12:30 P.M., Tu,Th (01/20/2015 - 05/08/2015), STSS 117

You can post interesting information on this blog to share it with other students.