5 research outputs found

    Energy Performance Testing of Smartphones: A First Look at Energy Bugs in Mobile Devices

    Get PDF
    Smartphones have revolutionized the way people live their daily lives, the way they communicate with each other and the way they access information on-line. A decade ago, desktop computers and laptops were the primary source to use internet and access on-line information. But with all the technological advancements, smartphones and tablets have taken over. An important factor that aided to the popularity of smartphones is different applications available on smartphones. Whether a user wants to play games, watch videos, read books, access on-line information or check his/her email, there are applications for each and every one of them. These applications have greatly enhanced the user experience on smartphones. According to an old saying, everything comes at a price. The same is the case with these smartphone applications. In addition to enhancing user experience and providing easy accessibility, they affect the smartphone battery consumption. They utilize the hardware resources and in turn consume the battery's energy. In comparison to the advancements in hardware and software industry, the development in battery technology is significantly slow. Even the battery energy density has little effect on the battery life with inefficient applications. Therefore there is a need: (a) for applications that efficiently utilize the smartphone battery, (b) to investigate the energy issues (energy bugs) in smartphones. For applications to be energy efficient; we need to have some testing methodologies so that the developers are aware of the energy consumption of their applications and can take appropriate measures while the applications are still in the development phase. Bugs are usually defined as an error in the system and energy bugs in smartphones are responsible for the unexpected and substantial battery drain. In order to research the energy bugs in smartphones, we need to have a comprehensive definition in context of software testing so that the developers can use it as a reference while testing their applications and improve the functionality of their applications. With the above objectives in mind, in this thesis we have proposed and implemented a methodology to efficiently reduce the configuration parameters of smartphone applications that will help in reduction of test cases and will efficiently reduce the testing time. We also validated our methodology by measurements and experiments on four different smartphones. We have investigated the energy issues in smartphones and have defined energy bug. We also validated our definition with measurements and experiments.4 month

    A Client-Centric Data Streaming Technique for Smartphones: An Energy Evaluation

    Get PDF
    With advances in microelectronic and wireless communication technologies, smartphones have computer-like capabilities in terms of computing power and communication bandwidth. They allow users to use advanced applications that used to be run on computers only. Web browsing, email fetching, gaming, social networking, and multimedia streaming are examples of wide-spread smartphone applications. Unsurprisingly, network-related applications are dominant in the realm of smartphones. Users love to be connected while they are mobile. Streaming applications, as a part of network-related applications, are getting increasingly popular. Mobile TV, video on demand, and video sharing are some popular streaming services in the mobile world. Thus, the expected operational time of smartphones is rising rapidly. On the other hand, the enormous growth of smartphone applications and services adds up to a significant increase in complexity in the context of computation and communication needs, and thus there is a growing demand for energy in smartphones. Unlike the exponential growth in computing and communication technologies, the growth in battery technologies is not keeping up with the rapidly growing energy demand of these devices. Therefore, the smartphone's utility has been severely constrained by its limited battery lifetime. It is very important to conserve the smartphone's battery power. Even though hardware components are the actual energy consumers, software applications utilize the hardware components through the operating system. Thus, by making smartphone applications energy-efficient, the battery lifetime can be extended. With this view, this work focuses on two main problems: i) developing an energy testing methodology for smartphone applications, and ii) evaluating the energy cost and designing an energy-friendly downloader for smartphone streaming applications. The detailed contributions of this thesis are as follows: (i) it gives a generalized framework for energy performance testing and shows a detailed flowchart that application developers can easily follow to test their applications; (ii) it evaluates the energy cost of some popular streaming applications showing how the download strategy that an application developer adopts may adversely affect the energy savings; (iii) it develops a model of an energy-friendly downloader for streaming applications and studies the effects of the downloader's parameters regarding energy consumption; and finally, (iv) it gives a mathematical model for the proposed downloader and validates it by means of experiments

    Energy-Aware Development and Labeling for Mobile Applications

    Get PDF
    Today, mobile devices such as smart phones and tablets have become ubiquitous and are used everywhere. Millions of software applications can be purchased and installed on these devices, customizing them to personal interests and needs. However, the frequent use of mobile devices has let a new problem become omnipresent: their limited operation time, due to their limited energy capacities. Although energy consumption can be considered as being a hardware problem, the amount of energy required by today’s mobile devices highly depends on their current workloads, being highly influenced by the software running on them. Thus, although only hardware modules are consuming energy, operating systems, middleware services, and mobile applications highly influence the energy consumption of mobile devices, depending on how efficient they use and control hardware modules. Nevertheless, most of today’s mobile applications totally ignore their influence on the devices’ energy consumption, leading to energy wastes, shorter operation times, and thus, frustrated application users. A major reason for this energy-unawareness is the lack for appropriate tooling for the development of energy-aware mobile applications. As many mobile applications are today behaving energy-unaware and various mobile applications providing similar services exist, mobile application users aim to optimize their devices by installing applications being known as energy-saving or energy-aware; meaning that they consume less energy while providing the same services as their competitors. However, scarce information on the applications’ energy usage is available and, thus, users are forced to install and try many applications manually, before finding the applications fulfilling their personal functional, non-functional, and energy requirements. This thesis addresses the lack of tooling for the development of energy-aware mobile applications and the lack of comparability of mobile applications in terms of energy-awareness with the following two contributions: First, it proposes JouleUnit, an energy profiling and testing framework using unit-tests for the execution of application workloads while profiling their energy consumption in parallel. By extending a well-known testing concept and providing tooling integrated into the development environment Eclipse, JouleUnit requires a low learning curve for the integration into existing development and testing processes. Second, for the comparability of mobile applications in terms of energy efficiency, this thesis proposes an energy benchmarking and labeling service. Mobile applications belonging to the same usage domain are energy-profiled while executing a usage-domain specific benchmark in parallel. Thus, their energy consumption for specific use cases can be evaluated and compared afterwards. To abstract and summarize the profiling results, energy labels are derived that summarize the applications’ energy consumption over all evaluated use cases as a simple energy grade, ranging from A to G. Besides, users can decide how to weigh specific use cases for the computation of energy grades, as it is likely that different users use the same applications differently. The energy labeling service has been implemented for Android applications and evaluated for three different usage domains (being web browsers, email clients, and live wallpapers), showing that different mobile applications indeed differ in their energy consumption for the same services and, thus, their comparison is both possible and sensible. To the best of my knowledge, this is the first approach providing mobile application users comparable energy consumption information on mobile applications without installing and testing them on their own mobile devices

    Practical Multi-Interface Network Access for Mobile Devices

    Get PDF
    Despite the growing number of mobile devices equipped with multiple networking interfaces, they are not using multiple available networks in parallel. The simple network selection techniques only allow for single network to be used at a time and switching between different networks interrupts all existing connections. This work presents system that improves network connectivity in presence of multiple network adapters, not only through better network handovers, smarter network selection and failure detection, but also through increased bandwidth offered to the device over aggregated channels. The biggest challenge such a system has to face is the heterogeneity of networks in mobile environment. Different wireless technologies, and even different networks of the same type offer inconsistent link parameters like available bandwidth, latency or packet loss. The wireless nature of these networks also means, that most of the parameters fluctuate in unpredictable way. Given the intended practicality of designed system, all that complexity has to be hidden from both client-side applications and from the remote servers. These factors combined make the task of designing and implementing an efficient solution difficult. The system incorporates client-side software, as well as network proxy that assists in splitting data traffic, tunnelling it over a number of available network interfaces, and reassembling it on the remote side. These operations are transparent to both applications running on the client, as well as any network servers those applications communicate with. This property allows the system to meet one of the most important requirements, which is the practicality of the solution, and being able to deploy it in real life scenarios, using network protocols available today and on existing devices. This work also studies the most critical cost associated with increased data processing and parallel interface usage - the increase in energy usage, which needs to remain within reasonable values for this kind of solution being usable on mobile devices with limited battery life. The properties of designed and deployed system are evaluated using multiple experiments in different scenarios. Collected results confirm that our approach can provide applications with increased bandwidth when multiple networks are available. We also discover that even though per-second energy usage increases when multiple interfaces are used in parallel, the use of multi-interface connectivity can actually reduce the total energy cost associated with performing specific tasks - effectively saving energy

    Modeling and Evaluating Energy Performance of Smartphones

    Get PDF
    With advances in hardware miniaturization and wireless communication technologies even small portable wireless devices have much communication bandwidth and computing power. These devices include smartphones, tablet computers, and personal digital assistants. Users of these devices expect to run software applications that they usually have on their desktop computers as well as the new applications that are being developed for mobile devices. Web browsing, social networking, gaming, online multimedia playing, global positioning system based navigation, and accessing emails are examples of a few popular applications. Mobile versions of thousands of desktop applications are already available in mobile application markets, and consequently, the expected operational time of smartphones is rising rapidly. At the same time, the complexity of these applications is growing in terms of computation and communication needs, and there is a growing demand for energy in smartphones. However, unlike the exponential growth in computing and communication technologies, in terms of speed and packaging density, battery technology has not kept pace with the rapidly growing energy demand of these devices. Therefore, designers are faced with the need to enhance the battery life of smartphones. Knowledge of how energy is used and lost in the system components of the devices is vital to this end. With this view, we focus on modeling and evaluating the energy performance of smartphones in this thesis. We also propose techniques for enhancing the energy efficiency and functionality of smartphones. The detailed contributions of the thesis are as follows: (i) we present a nite state machine based model to estimate the energy cost of an application running on a smartphone, and provide practical approaches to extract model parameters; (ii) the concept of energy cost pro le is introduced to assess the impact of design decisions on energy cost at an early stage of software design; (iii) a generic architecture is proposed and implemented for enhancing the capabilities of smartphones by sharing resources; (iv) we have analyzed the Internet tra c of smartphones to observe the energy saving potentials, and have studied the implications on the existing energy saving techniques; and nally, (v) we have provided a methodology to select user level test cases for performing energy cost evaluation of applications. All of our concepts and proposed methodology have been validated with extensive measurements on a real test bench. Our work contributes to both theoretical understanding of energy e ciency of software applications and practical methodologies for evaluating energy e ciency. In summary, the results of this work can be used by application developers to make implementation level decisions that affect the energy efficiency of software applications on smartphones. In addition, this work leads to the design and implementation of energy e cient smartphones
    corecore