Google Summer of Code 2018 with GNOME

Project: Develop the power panel in gnome-usage

This page serves as a central repository to track progress for the project and documentation.

Driving Questions:

  1. What application is responsible for maximum battery drain? How to optimize applications (and by extension, the kernel) to minimize power usage?
  2. What hardware device is responsible for battery drain? How to optimize hardware utilization by the kernel to maximize response while minimizing power usage?
  3. {Long term goal} As power consumption in a system is not directly proportional to throughput, what is the sweet spot in terms of CPU performance, enabling maximum throughput for the consumed power (similar to the 45 kmph economy zone rule for motor vehicles)? [in reference, answer 1]

Code Repository
https://gitlab.gnome.org/carpediem/gnome-usage

Project proposal
https://docs.google.com/document/d/101INTWxcoQIfdsuWDilWrFR1um5AZKWqc1DKEUOQe00/edit#heading=h.j0hrv9qcgn5

Code committed
https://gitlab.gnome.org/carpediem/gnome-usage/commits/dev

Work completed
Display panel in gnome-usage, backend components for application power measurement

Work remaining
Backend component for hardware device power values
[Optional] Tweak/Write new graph library to improve power data display

Project development blogs

  1. Humble beginnings
  2. The UI for panel and data reports
  3. Understanding Power, major impact factors on battery for the user
    1. CPU
    2. Linux process model
    3. Application power measurement methodology- kernel, userland
  4. Case study: power management in Android, iOS, MacOS, Windows 10
  5. Power statistics reported by hardware and how we access them
    1. Role of ACPI and hardware manufacturers
  6. Determining relevant features for regression
  7. Breaking down from the top: PowerTOP
Advertisements