Skip to content
@green-kernel

Green Kernel

This project aims to bring energy metrics to the Linux Kernel

Hi there đź‘‹

In this project we will create an addition to the Linux Kernel which enables developers and end-users to see and quantify the energy cost of their running software on a process level.

Such a technology is critical because it is a fundamental building block for creating and optimizing software with respect to energy consumption. Identifying the energy costs of software plays a pivotal role in environmental preservation by fostering energy-efficient computing practices. This process creates a direct link between digital behavior and its ecological impact, making the invisible energy consumption of software visible.

Similar technology is already present in the macOS kernel and also in Windows via the E3 estimation engine. But, to date, it is missing in Linux, on which however the majority of the server systems and mobile phones runs.

In order to make the technology flexibly applicable it is first to be realized with the help of eBPF and afterwards as a distributed kernel module through packages of major distrubtions to make it readily available.

By providing clear, actionable data on energy consumption, we empower the tech community to make informed decisions that favor environmental sustainability, aligning technological advancement with ecological responsibility.

What we envision is that this Kernel extension makes it so easy and readily-available to quantify your software energy consumption that it enables developers to report their energy consumption directly inside their software and also aggregated on package manager sites like PyPI etc.

Currently no software comes with an information like "Minimum energy requirements", which is very typical for hardware products. However such a transparent information would really help to empower developers to choose the most energy friendly library or end-users to use the most energy friendly app.

Join the effort

👉 Follow the green-kernel project

👉 Introduce yourself here: https://github.com/orgs/green-kernel/discussions/1

👉 Look at the project page to see what we are up to

What we want to achieve:

  • An easy to install functioning kernel extension that reports energy consumption on a per process level and / or cgroup to the user space.
  • Packages for major distributions like Debian, Ubuntu, Fedora and Red Hat.
  • A terminal user space program that can be used to see the energy impact each process has.
  • In collaboration with KDE Eco an initial KDE app that shows the gathered data.
  • An established open source project that can easily be used and has a group of people that are ready to maintain the code.
  • Extensive documentation and description on why we chose certain solutions or implantation details. Implementing power measurements is always a tradeoff and such it is important to document each decision in great detail so that it can be scrutinized by the wider community.
  • Overhead measurements of the power reporting capability in our measurement cluster to see how much energy it consumes when active.

Pinned Loading

  1. ebpf-kernel ebpf-kernel Public

    An ebpf module that exports energy statistics for each process

  2. documentation documentation Public

    The central documentation repository

Repositories

Showing 4 of 4 repositories
  • green-kernel/rapl-bench’s past year of commit activity
    Jupyter Notebook 0 0 0 0 Updated Sep 10, 2024
  • documentation Public

    The central documentation repository

    green-kernel/documentation’s past year of commit activity
    0 AGPL-3.0 0 0 0 Updated Jun 4, 2024
  • .github Public
    green-kernel/.github’s past year of commit activity
    0 0 0 0 Updated May 28, 2024
  • ebpf-kernel Public

    An ebpf module that exports energy statistics for each process

    green-kernel/ebpf-kernel’s past year of commit activity
    0 AGPL-3.0 0 1 0 Updated May 27, 2024

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…