pTop: A Process-Level Power Profiling Tool

Motivation        Our Approach         People        Publications        Software


Energy profiling plays a crucial role in order to apply efficient energy optimization in the application level, therefore improving energy efficiency. Knowing the quantity of energy consumed by a particular application is very important in adapting the application behavior in order to obtain specific goals, such as extending the battery life time of a mobile device or charging for services in the cloud computing system.  Available on Download

However, current solutions to the energy profiling problem exhibit some drawbacks that make them difficult to be used widely. First, they are mainly hardware-based, i.e., they require additional multimeters reading the current along the wire between the system and its power supply. This approach is expensive, inflexible, and difficult to deploy. Second, the energy profiling information is provided offline, after collecting, analyzing and correlating trace of system activities, therefore making it difficult for applications to adapt their behavior at runtime. Finally, energy profiling is not offered as a service in the system. Without such service, system developers would face difficulty when implementing energy-ware adaptation protocols to obtain energy optimization.


Our  Approach

Motivated by the need for an efficient energy profiling tool, in this project, we design and implement pTop (a.k.a. power top), a process-level energy profiling tool, with many features to improve energy efficiency. Being a service of the operating system, pTop runs at the kernel level and provides energy consumption data from all applications and processes running in the systems. pTop is software-based, requires no additional hardware, therefore, is easy to be applied in various platforms with different hardware configurations. Additionally, pTop is lightweight, thus, will not affect the performance of other applications. Moreover, the most interesting feature of pTop is supporting two convenient user interfaces: a set of well-defined energy-aware application programming interfaces (API) and performance counters. Any process can call these APIs to acquire the energy consumption in terms of different energy consuming components in the last specified time period. We envision that these APIs will play an important role in making more energy on-line/real-time adapting and scheduling decisions in both mobile devices and cloud computing environments.  



            Hui Chen

            Youhuizi Li

            Shinan Wang (former member)

            Thanh Do (former member)

            Suhib Rawshdeh (former member)          

            Dr. Weisong Shi