Skip to content

[Sandbox] Kepler #19

Closed
Closed
@rootfs

Description

@rootfs

Application contact emails

hchen@redhat.com, chen.wang1@ibm.com, niki@weave.works

Project Summary

Kepler is a lightweight Pod level power consumption metrics exporter.

Project Description

Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to probe CPU performance counters and Linux kernel tracepoints. These data and stats from cgroup and sysfs are fed into ML models to estimate power consumption by Pods. The power consumption stats are then presented as Prometheus metrics and telemetry that can be used for Pod scheduling or scaling, energy consumption reporting and visulization, or can be extended with carbon intensity metrics to report on carbon footprint of Cloud Native workload.

Org repo URL

https://github.com/sustainable-computing-io/

Project repo URL

https://github.com/sustainable-computing-io/kepler

Additional repos

Kepler develops its own online ML trainer and model server (kepler-model-server), inference server (kepler-estimator). The models are developed by using code in the workload repo(energy-measure-data). The docuementation repo (kepler-doc) and deployment repos (kepler-operator and kepler-helm-chart) as well as GitHub CI artifacts (kepler-ci-artifacts) are all part of the Kepler sandbox application package.

In addition, the Kepler community has explored to integrate Kepler metrics with Kubernetes Scheduler (in repo peaks) and VPA (in repo clever). These exploration projects are also donated to CNCF to help the CNCF community get insight of how to integrate Kepler into their own use cases.

We also have our customized the Github Actions as well local Kubernetes cluster environment standup for integration and development tests, they are also part of the process for CNCF sandbox.

These repos are:
https://github.com/sustainable-computing-io/kepler-model-server
https://github.com/sustainable-computing-io/kepler-estimator
https://github.com/sustainable-computing-io/energy-measurement-data
https://github.com/sustainable-computing-io/kepler-doc
https://github.com/sustainable-computing-io/kepler-operator
https://github.com/sustainable-computing-io/kepler-helm-chart
https://github.com/sustainable-computing-io/kepler-ci-artifacts/
https://github.com/sustainable-computing-io/peaks/
https://github.com/sustainable-computing-io/clever/
https://github.com/sustainable-computing-io/KeplerK8SAction
https://github.com/sustainable-computing-io/local-dev-cluster

Website URL

https://sustainable-computing.io/

Roadmap

https://github.com/sustainable-computing-io/kepler/wiki/Roadmap

Roadmap context

No response

Contributing Guide

https://github.com/sustainable-computing-io/kepler/blob/main/CONTRIBUTING.md

Code of Conduct (CoC)

https://github.com/sustainable-computing-io/kepler/blob/main/code-of-conduct.md

Adopters

No response

Contributing or Sponsoring Org

https://www.redhat.com/

Maintainers file

https://github.com/sustainable-computing-io/kepler/blob/main/Contributors.md

IP Policy

  • If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF

Why CNCF?

Global emissions Cloud computing accounts for 2.5% to 3.7% of all global greenhouse gas emissions [1]. Both Cloud operators and end users are increasingly eager to measure and manage carbon footprint from the infrastructure and workload.

Kepler aims to work with the CNCF community to measure how much power that are consumed the Cloud Native workload. It uses eBPF to reduce the runtime overhead and scientific methods to improve measurement accuracy. Kepler can measure workload that run on private and Public cloud, physical or virtual machines, CPU or GPU. It strives to support all environments that CNCF projects are deployed.

Kepler project is contributed by Red Hat, IBM, Intel and WeaveWorks. CNCF ecosystem inclusion will promote Kepler project's community engagement.

  1. https://theshiftproject.org/en/article/lean-ict-our-new-report/

Benefit to the Landscape

Kepler is being integrated with projects in CNCF ecosystems such as Kubernetes Scheduler, Vertical Pod Autoscaler.

It will also help TAG Environmental Sustainability to provide fact based evidence for research, investigation, and improvement.

Cloud Native 'Fit'

Kepler is built with Cloud Native technologies: it is designed to measure Kubernetes workload power consumption and export the Prometheus metrics.

Cloud Native 'Integration'

Kepler runs on Kubernetes and export Prometheus metrics. The power consumption metrics complements those provided existing node agents such as cAdvisor and node_exporter.

Kepler has been presented at KubeCon NA 2022 and EU 2023. It is also presented at CNCF TAG Sustainability and Runtime meetings.

Cloud Native Overlap

No response

Similar projects

Scaphandre
PowerAPI

Product or Service to Project separation

N/A

Project presentations

No response

Project champions

Erin Boyd

Additional information

To clarify the confusion that was introduced in the previous application, Kepler project has multiple GitHub repo, all of them are donated to CNCF.

Activity

dims

dims commented on Jan 6, 2023

@dims
Member

@rootfs (slightly tangential to the submission), In the linux member summit, there was an interesting talk about open source licenses applicability to "ML Models" https://lfms22.sched.com/?iframe=no .. given that context

  • Are we asking folks to collaborate and share ML models?
  • Is there or will there be a deliverable from this project in the form of a ML model? (if so, have you thought about license aspects?)
rootfs

rootfs commented on Jan 6, 2023

@rootfs
Author

@dims that's a good point! The kepler community has open sourced both ML model training process and pre-trained models, these models are under Apache license.

The kepler model server is designed in such way that the ML training can be separated from the end users' runtime environment so as to preserve their data privacy. The goal is to allow end users to share their models for the open source community.

If this project is under CNCF ecosystem, we'll have the opportunity to improve these open source models and provide more platforms coverage for the end users in the community. It is also possible that this project can make a case study on how to be transparent on model sharing, while still maintaining end user data privacy.

cathyhongzhang

cathyhongzhang commented on Jan 6, 2023

@cathyhongzhang

@rootfs Basically Kepler will open source the ML model training part as well as those ML models in the Kepler repository, right?

rootfs

rootfs commented on Jan 7, 2023

@rootfs
Author

@cathyhongzhang yes, the ML training process and trained models are and will continue to be open sourced.

amye

amye commented on May 9, 2023

@amye

/vote-sandbox

git-vote

git-vote commented on May 9, 2023

@git-vote

Vote created

@amye has called for a vote on [Sandbox] Kepler (#19).

The members of the following teams have binding votes:

Team
@cncf/cncf-toc

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
👍 👎 👀

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 7days. It will pass if at least 66% of the users with binding votes vote In favor 👍. Once it's closed, results will be published here as a new comment.

berryq460

berryq460 commented on May 9, 2023

@berryq460

In favor ! 🙌🏽👏🏼👍🏼

smazziotta

smazziotta commented on May 9, 2023

@smazziotta

👍

erinaboyd

erinaboyd commented on May 9, 2023

@erinaboyd

43 remaining items

dims

dims commented on May 15, 2023

@dims
Member

+1 non-binding!

lizrice

lizrice commented on May 15, 2023

@lizrice

+1 NB

rootfs

rootfs commented on May 15, 2023

@rootfs
Author

/check-vote

git-vote

git-vote commented on May 15, 2023

@git-vote

Vote status

So far 81.82% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
9 0 0 2

Binding votes (9)

User Vote Timestamp
dzolotusky In favor 2023-05-12 13:42:44.0 +00:00:00
nikhita In favor 2023-05-12 4:13:19.0 +00:00:00
TheFoxAtWork In favor 2023-05-09 20:03:58.0 +00:00:00
kgamanji In favor 2023-05-15 15:56:00.0 +00:00:00
rochaporto In favor 2023-05-09 18:50:14.0 +00:00:00
erinaboyd In favor 2023-05-09 21:11:44.0 +00:00:00
cathyhongzhang In favor 2023-05-09 20:58:57.0 +00:00:00
mattfarina In favor 2023-05-15 14:02:55.0 +00:00:00
RichiH In favor 2023-05-15 16:56:58.0 +00:00:00

Non-binding votes (76)

User Vote Timestamp
rootfs In favor 2023-05-09 16:27:51.0 +00:00:00
husky-parul In favor 2023-05-09 16:29:31.0 +00:00:00
scohen1 In favor 2023-05-09 16:29:39.0 +00:00:00
LappleApple In favor 2023-05-09 16:29:40.0 +00:00:00
jgomezselles In favor 2023-05-09 16:31:04.0 +00:00:00
vmartini01 In favor 2023-05-09 16:32:36.0 +00:00:00
andrew-est In favor 2023-05-09 16:40:36.0 +00:00:00
berryq460 In favor 2023-05-09 16:42:58.0 +00:00:00
jparker-rh In favor 2023-05-09 16:44:27.0 +00:00:00
astoycos In favor 2023-05-09 16:47:39.0 +00:00:00
jeffvance In favor 2023-05-09 16:58:06.0 +00:00:00
eklee15 In favor 2023-05-09 17:00:19.0 +00:00:00
iblancasa In favor 2023-05-09 17:03:11.0 +00:00:00
mayaCostantini In favor 2023-05-09 17:07:47.0 +00:00:00
stflaherty In favor 2023-05-09 17:08:20.0 +00:00:00
guidemetothemoon In favor 2023-05-09 17:13:53.0 +00:00:00
mpeters In favor 2023-05-09 17:18:11.0 +00:00:00
seroyer In favor 2023-05-09 17:21:18.0 +00:00:00
schwesig In favor 2023-05-09 17:25:50.0 +00:00:00
sfontanarrosa In favor 2023-05-09 17:26:30.0 +00:00:00
nikimanoledaki In favor 2023-05-09 17:27:00.0 +00:00:00
nhr In favor 2023-05-09 17:33:31.0 +00:00:00
hemajv In favor 2023-05-09 17:34:07.0 +00:00:00
font In favor 2023-05-09 17:41:46.0 +00:00:00
er1p In favor 2023-05-09 17:47:06.0 +00:00:00
suppathak In favor 2023-05-09 17:56:11.0 +00:00:00
squaremo In favor 2023-05-09 18:28:23.0 +00:00:00
mangelajo In favor 2023-05-09 18:30:21.0 +00:00:00
leonardpahlke In favor 2023-05-09 18:36:48.0 +00:00:00
oindrillac In favor 2023-05-09 19:02:17.0 +00:00:00
romfreiman In favor 2023-05-09 19:06:51.0 +00:00:00
KaiyiLiu1234 In favor 2023-05-09 19:19:15.0 +00:00:00
Al-HusseinHameedJasim In favor 2023-05-09 19:34:21.0 +00:00:00
aakankshaduggal In favor 2023-05-09 21:14:37.0 +00:00:00
cmagina In favor 2023-05-09 21:16:58.0 +00:00:00
oglok In favor 2023-05-09 21:18:41.0 +00:00:00
vishnoianil In favor 2023-05-09 21:21:04.0 +00:00:00
joshgav In favor 2023-05-09 21:28:37.0 +00:00:00
tumido In favor 2023-05-09 21:56:58.0 +00:00:00
nogweii In favor 2023-05-09 22:03:57.0 +00:00:00
scottrigby In favor 2023-05-09 22:58:31.0 +00:00:00
screeley44 In favor 2023-05-09 23:08:15.0 +00:00:00
christianh814 In favor 2023-05-09 23:10:35.0 +00:00:00
sunya-ch In favor 2023-05-10 0:41:25.0 +00:00:00
balasu In favor 2023-05-10 2:09:02.0 +00:00:00
jiere In favor 2023-05-10 2:40:14.0 +00:00:00
marceloamaral In favor 2023-05-10 2:42:06.0 +00:00:00
bradmccoydev In favor 2023-05-10 3:01:47.0 +00:00:00
onematchfox In favor 2023-05-10 3:53:41.0 +00:00:00
oscartrullols In favor 2023-05-10 5:07:20.0 +00:00:00
filanov In favor 2023-05-10 5:53:52.0 +00:00:00
pensarguet In favor 2023-05-10 6:57:10.0 +00:00:00
leseb In favor 2023-05-10 7:11:18.0 +00:00:00
metacosm In favor 2023-05-10 7:34:38.0 +00:00:00
adriengentil In favor 2023-05-10 7:40:08.0 +00:00:00
pavolloffay In favor 2023-05-10 7:41:17.0 +00:00:00
yitsushi In favor 2023-05-10 8:37:58.0 +00:00:00
aharivel In favor 2023-05-10 9:59:17.0 +00:00:00
andreasgerstmayr In favor 2023-05-10 10:12:52.0 +00:00:00
kky-fury In favor 2023-05-10 11:13:15.0 +00:00:00
SamYuan1990 In favor 2023-05-10 11:34:08.0 +00:00:00
codificat In favor 2023-05-10 11:47:16.0 +00:00:00
mcalman In favor 2023-05-10 12:13:30.0 +00:00:00
sallyom In favor 2023-05-10 12:37:10.0 +00:00:00
rinana In favor 2023-05-10 12:40:53.0 +00:00:00
Dheeraj-k8s In favor 2023-05-10 12:41:11.0 +00:00:00
William-LP In favor 2023-05-10 12:55:25.0 +00:00:00
Shreyanand In favor 2023-05-10 13:36:19.0 +00:00:00
yuezhu1 In favor 2023-05-10 14:22:09.0 +00:00:00
JoshSalomon In favor 2023-05-10 15:55:36.0 +00:00:00
mikik In favor 2023-05-11 6:41:32.0 +00:00:00
frzifus In favor 2023-05-11 17:02:40.0 +00:00:00
wangchen615 In favor 2023-05-11 17:19:29.0 +00:00:00
alysondeives In favor 2023-05-11 22:30:28.0 +00:00:00
lizrice In favor 2023-05-15 14:13:28.0 +00:00:00
BGrasnick In favor 2023-05-15 16:02:22.0 +00:00:00
hwang37

hwang37 commented on May 16, 2023

@hwang37

+1

jiangphcn

jiangphcn commented on May 16, 2023

@jiangphcn

/check-vote

git-vote

git-vote commented on May 16, 2023

@git-vote

Votes can only be checked once a day.

caldeirav

caldeirav commented on May 17, 2023

@caldeirav

+1 NB

git-vote

git-vote commented on May 17, 2023

@git-vote

Vote closed

The vote passed! 🎉

81.82% of the users with binding vote were in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
9 0 0 2

Binding votes (9)

User Vote Timestamp
@nikhita In favor 2023-05-12 4:13:19.0 +00:00:00
@RichiH In favor 2023-05-15 16:56:58.0 +00:00:00
@kgamanji In favor 2023-05-15 15:56:00.0 +00:00:00
@dzolotusky In favor 2023-05-12 13:42:44.0 +00:00:00
@rochaporto In favor 2023-05-09 18:50:14.0 +00:00:00
@mattfarina In favor 2023-05-15 14:02:55.0 +00:00:00
@cathyhongzhang In favor 2023-05-09 20:58:57.0 +00:00:00
@erinaboyd In favor 2023-05-09 21:11:44.0 +00:00:00
@TheFoxAtWork In favor 2023-05-09 20:03:58.0 +00:00:00

Non-binding votes (77)

User Vote Timestamp
@rootfs In favor 2023-05-09 16:27:51.0 +00:00:00
@husky-parul In favor 2023-05-09 16:29:31.0 +00:00:00
@scohen1 In favor 2023-05-09 16:29:39.0 +00:00:00
@LappleApple In favor 2023-05-09 16:29:40.0 +00:00:00
@jgomezselles In favor 2023-05-09 16:31:04.0 +00:00:00
@vmartini01 In favor 2023-05-09 16:32:36.0 +00:00:00
@andrew-est In favor 2023-05-09 16:40:36.0 +00:00:00
@berryq460 In favor 2023-05-09 16:42:58.0 +00:00:00
@jparker-rh In favor 2023-05-09 16:44:27.0 +00:00:00
@astoycos In favor 2023-05-09 16:47:39.0 +00:00:00
@jeffvance In favor 2023-05-09 16:58:06.0 +00:00:00
@eklee15 In favor 2023-05-09 17:00:19.0 +00:00:00
@iblancasa In favor 2023-05-09 17:03:11.0 +00:00:00
@mayaCostantini In favor 2023-05-09 17:07:47.0 +00:00:00
@stflaherty In favor 2023-05-09 17:08:20.0 +00:00:00
@guidemetothemoon In favor 2023-05-09 17:13:53.0 +00:00:00
@mpeters In favor 2023-05-09 17:18:11.0 +00:00:00
@seroyer In favor 2023-05-09 17:21:18.0 +00:00:00
@schwesig In favor 2023-05-09 17:25:50.0 +00:00:00
@sfontanarrosa In favor 2023-05-09 17:26:30.0 +00:00:00
@nikimanoledaki In favor 2023-05-09 17:27:00.0 +00:00:00
@nhr In favor 2023-05-09 17:33:31.0 +00:00:00
@hemajv In favor 2023-05-09 17:34:07.0 +00:00:00
@font In favor 2023-05-09 17:41:46.0 +00:00:00
@er1p In favor 2023-05-09 17:47:06.0 +00:00:00
@suppathak In favor 2023-05-09 17:56:11.0 +00:00:00
@squaremo In favor 2023-05-09 18:28:23.0 +00:00:00
@mangelajo In favor 2023-05-09 18:30:21.0 +00:00:00
@leonardpahlke In favor 2023-05-09 18:36:48.0 +00:00:00
@oindrillac In favor 2023-05-09 19:02:17.0 +00:00:00
@romfreiman In favor 2023-05-09 19:06:51.0 +00:00:00
@KaiyiLiu1234 In favor 2023-05-09 19:19:15.0 +00:00:00
@Al-HusseinHameedJasim In favor 2023-05-09 19:34:21.0 +00:00:00
@aakankshaduggal In favor 2023-05-09 21:14:37.0 +00:00:00
@cmagina In favor 2023-05-09 21:16:58.0 +00:00:00
@oglok In favor 2023-05-09 21:18:41.0 +00:00:00
@vishnoianil In favor 2023-05-09 21:21:04.0 +00:00:00
@joshgav In favor 2023-05-09 21:28:37.0 +00:00:00
@tumido In favor 2023-05-09 21:56:58.0 +00:00:00
@nogweii In favor 2023-05-09 22:03:57.0 +00:00:00
@scottrigby In favor 2023-05-09 22:58:31.0 +00:00:00
@screeley44 In favor 2023-05-09 23:08:15.0 +00:00:00
@christianh814 In favor 2023-05-09 23:10:35.0 +00:00:00
@sunya-ch In favor 2023-05-10 0:41:25.0 +00:00:00
@balasu In favor 2023-05-10 2:09:02.0 +00:00:00
@jiere In favor 2023-05-10 2:40:14.0 +00:00:00
@marceloamaral In favor 2023-05-10 2:42:06.0 +00:00:00
@bradmccoydev In favor 2023-05-10 3:01:47.0 +00:00:00
@onematchfox In favor 2023-05-10 3:53:41.0 +00:00:00
@oscartrullols In favor 2023-05-10 5:07:20.0 +00:00:00
@filanov In favor 2023-05-10 5:53:52.0 +00:00:00
@pensarguet In favor 2023-05-10 6:57:10.0 +00:00:00
@metacosm In favor 2023-05-10 7:34:38.0 +00:00:00
@adriengentil In favor 2023-05-10 7:40:08.0 +00:00:00
@pavolloffay In favor 2023-05-10 7:41:17.0 +00:00:00
@yitsushi In favor 2023-05-10 8:37:58.0 +00:00:00
@aharivel In favor 2023-05-10 9:59:17.0 +00:00:00
@andreasgerstmayr In favor 2023-05-10 10:12:52.0 +00:00:00
@kky-fury In favor 2023-05-10 11:13:15.0 +00:00:00
@SamYuan1990 In favor 2023-05-10 11:34:08.0 +00:00:00
@codificat In favor 2023-05-10 11:47:16.0 +00:00:00
@mcalman In favor 2023-05-10 12:13:30.0 +00:00:00
@sallyom In favor 2023-05-10 12:37:10.0 +00:00:00
@rinana In favor 2023-05-10 12:40:53.0 +00:00:00
@Dheeraj-k8s In favor 2023-05-10 12:41:11.0 +00:00:00
@William-LP In favor 2023-05-10 12:55:25.0 +00:00:00
@Shreyanand In favor 2023-05-10 13:36:19.0 +00:00:00
@yuezhu1 In favor 2023-05-10 14:22:09.0 +00:00:00
@JoshSalomon In favor 2023-05-10 15:55:36.0 +00:00:00
@mikik In favor 2023-05-11 6:41:32.0 +00:00:00
@frzifus In favor 2023-05-11 17:02:40.0 +00:00:00
@wangchen615 In favor 2023-05-11 17:19:29.0 +00:00:00
@alysondeives In favor 2023-05-11 22:30:28.0 +00:00:00
@lizrice In favor 2023-05-15 14:13:28.0 +00:00:00
@BGrasnick In favor 2023-05-15 16:02:22.0 +00:00:00
@leseb In favor 2023-05-16 5:58:02.0 +00:00:00
@caldeirav In favor 2023-05-17 10:21:43.0 +00:00:00
added
ApprovedThis is an approved sandbox project.
on May 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    ✅ Done

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @dims@caniszczyk@amye@metacosm@erikerlandson

        Issue actions

          [Sandbox] Kepler · Issue #19 · cncf/sandbox