7 research outputs found

    Reducing the Energy Consumption of Mobile Applications Behind the Scenes

    Full text link
    Abstract—As energy efficiency has become a key consideration in the engineering of mobile applications, an increasing number of perfective maintenance tasks are concerned with optimizing energy consumption. However, optimizing a mobile application to reduce its energy consumption is non-trivial due to the highly volatile nature of mobile execution environments. Mobile applications commonly run on a variety of mobile devices over mobile networks with divergent characteristics. Therefore, no single, static energy consumption optimization is likely to yield across-the-board benefits, and may even turn to be detrimental in some scenarios. In this paper, we present a novel approach to perfective maintenance of mobile applications to reduce their energy consumption. The maintenance programmer declaratively specifies the suspected energy consumption hotspots in a mobile application. Based on this input, our approach then automatically transforms the application to enable it to offload parts of its functionality to the cloud. The offloading is highly adaptive, being driven by a runtime system that dynamically determines both the state-to-offload and its transfer mechanism based on the execution environment in place. In addition, the runtime system continuously improves its effectiveness due to a feedback-loop mechanism. Thus, our approach flexibly reduces the energy con-sumption of mobile applications behind the scenes. Applying our approach to third-party Android applications has shown that it can effectively reduce the overall amount of energy consumed by these applications, with the actual numbers ranging between 25% and 50%. These results indicate that our approach represents a promising direction in developing pragmatic and systematic tools for the perfective maintenance of mobile applications. I

    Software for Wearable Devices: Challenges and Opportunities

    Full text link
    Wearable devices are a new form of mobile computer system that provides exclusive and user-personalized services. Wearable devices bring new issues and challenges to computer science and technology. This paper summarizes the development process and the categories of wearable devices. In addition, we present new key issues arising in aspects of wearable devices, including operating systems, database management system, network communication protocol, application development platform, privacy and security, energy consumption, human-computer interaction, software engineering, and big data.Comment: 6 pages, 1 figure, for Compsac 201

    Data-Oriented Characterization of Application-Level Energy Optimization

    Full text link
    Abstract. Empowering application programmers to make energy-aware decisions is a critical dimension of energy optimization for computer systems. In this paper, we study the energy impact of alternative data management choices by programmers, such as data access patterns, data precision choices, and data organization. Second, we attempt to build a bridge between application-level energy management and hardware-level energy management, by elucidating how various application-level data management features respond to Dynamic Voltage and Frequency Scal-ing (DVFS). Finally, we apply our findings to real-world applications, demonstrating their potential for guiding application-level energy opti-mization. The empirical study is particularly relevant in the Big Data era, where data-intensive applications are large energy consumers, and their energy efficiency is strongly correlated to how data are maintained and handled in programs

    Mining questions about software energy consumption

    Full text link

    A quality of experience approach in smartphone video selection framework for energy efficiency

    Get PDF
    Online video streaming is getting more common in the smartphone device nowadays. Since the Corona Virus (COVID-19) pandemic hit all human across the globe in 2020, the usage of online streaming among smartphone user are getting more vital. Nevertheless, video streaming can cause the smartphone energy to drain quickly without user to realize it. Also, saving energy alone is not the most significant issues especially if with the lack of attention on the user Quality of Experience (QoE). A smartphones energy management is crucial to overcome both of these issues. Thus, a QoE Mobile Video Selection (QMVS) framework is proposed. The QMVS framework will govern the tradeoff between energy efficiency and user QoE in the smartphone device. In QMVS, video streaming will be using Dynamic Video Attribute Pre-Scheduling (DVAP) algorithm to determine the energy efficiency in smartphone devices. This process manages the video attribute such as brightness, resolution, and frame rate by turning to Video Content Selection (VCS). DVAP is handling a set of rule in the Rule Post-Pruning (RPP) method to remove an unused node in list tree of VCS. Next, QoE subjective method is used to obtain the Mean Opinion Score (MOS) of users from a survey experiment on QoE. After both experiment results (MOS and energy) are established, the linear regression technique is used to find the relationship between energy consumption and user QoE (MOS). The last process is to analyze the relationship of VCS results by comparing the DVAP to other recent video streaming applications available. Summary of experimental results demonstrate the significant reduction of 10% to 20% energy consumption along with considerable acceptance of user QoE. The VCS outcomes are essential to help users and developer deciding which suitable video streaming format that can satisfy energy consumption and user QoE

    Context-aware task scheduling in distributed computing systems

    Full text link
    These days, the popularity of technologies such as machine learning, augmented reality, and big data analytics is growing dramatically. This leads to a higher demand of computational power not only for IT professionals but also for ordinary device users who benefit from new applications. At the same time, the computational performance of end-user devices increases to meet the demands of these resource-hungry applications. As a result, there is a coexistence of a huge demand of computational power on the one side and a large pool of computational resources on the other side. Bringing these two sides together is the idea of computational resource sharing systems which allow applications to forward computationally intensive workload to remote resources. This technique is often used in cloud computing where customers can rent computational power. However, we argue that not only cloud resources can be used as offloading targets. Rather, idle CPU cycles from end-user administered devices at the edge of the network can be spontaneously leveraged as well. Edge devices, however, are not only heterogeneous in their hardware and software capabilities, they also do not provide any guarantees in terms of reliability or performance. Does it mean that either the applications that require further guarantees or the unpredictable resources need to be excluded from such a sharing system? In this thesis, we propose a solution to this problem by introducing the Tasklet system, our approach for a computational resource sharing system. The Tasklet system supports computation offloading to arbitrary types of devices, including stable cloud instances as well as unpredictable end-user owned edge resources. Therefore, the Tasklet system is structured into multiple layers. The lowest layer is a best-effort resource sharing system which provides lightweight task scheduling and execution. Here, best-effort means that in case of a failure, the task execution is dropped and that tasks are allocated to resources randomly. To provide execution guarantees such as a reliable or timely execution, we add a Quality of Computation (QoC) layer on top of the best-effort execution layer. The QoC layer enforces the guarantees for applications by using a context-aware task scheduler which monitors the available resources in the computing environment and performs the matchmaking between resources and tasks based on the current state of the system. As edge resources are controlled by individuals, we consider the fact that these users need to be able to decide with whom they want to share their resources and for which price. Thus, we add a social layer on top of the system that allows users to establish friendship connections which can then be leveraged for social-aware task allocation and accounting of shared computation
    corecore