Green-Software-Foundation / hack

Carbon Hack 24 - The annual hackathon from the Green Software Foundation
https://grnsft.org/hack/github
14 stars 1 forks source link

PUE-Plugin #150

Open jbellloni opened 1 month ago

jbellloni commented 1 month ago

Prize category

Best Plugin

Overview

A plugin that allows you, to apply a PUE factor. The PUE value is based on either of these inputs:

Questions to be answered

-

Have you got a project team yet?

I am working on this project alone

Project team

No response

Terms of Participation


Project Submission

Summary

PUE-Plugin applies the PUE as a factor to cpu/energy (given in the input or from teads-curve) and outputs the used pue and pue_energy. The PUE default is 1.58 (global average of large data-centers), pue can be given in config or global-config. cloud/vendor and cloud/region are optional parameters. The PUE is then imported from a csv-file.

Problems

PUE can be quite a large factor when it comes to energy consumption. Implementing this plugin can be used to calculate more realistic carbon values. Also this plugin could be used to compare different data centers and model, what effect a cloud-migration would have.

Note: There is still very little information available regaring PUE-values!

Application

described above

Prize category

Best Plugin

Judging criteria

Overall impact

better estimation of energy usage and consequently carbon demonstrates how narrow the data situation is with the major cloud providers - perhaps it will increase the pressure a little to release better data

Opportunity

integrates another factor that has not been considered so far, gives the possibility to compare coud-providers on the PUE value, otherwise does not increase the applicability of the IF

Modular

the plugin is not as modular as I would have liked... most functions are modular, still there is to much logic in the execute()

Video

https://www.youtube.com/watch?v=ivmcG_MRQMo

Artifacts

https://github.com/jbellloni/pue-plugin

Usage

sample manifest: https://github.com/jbellloni/pue-plugin/blob/main/inputs/test-manifest.yml

make sure to include cpu/energy (e.g. via the teads-curve plugin)

Process

try-and-error under stress

Inspiration

PUE was mentioned in one of the introductory videos before the hack and it's something I have been dealing with before.

Challenges

There is very little information released regarding the PUE value. GCP is the only big cloud-provider that publishes PUE for their data-centers regularly. Microsoft Azure published some data a few years ago that differentiates by continent. AWS does not release any public information regarding PUE - there only is the myth, that internal data shows PUE is in average at 1.2.

Accomplishements

That I finished right in time...

Learnings

Everything! PUE Data, typescript, using the IF, unit testing, ...

What`s next?

Some more experienced typescript-programmer should revise the plugin. Then I think it's ready, to add long-term value to the IF!

russelltrow commented 1 month ago

Hi @jbellloni thank you so much for raising your project, please don't forget to register your project: https://hack.greensoftware.foundation/register/

You must register your project before you can submit your solution for judging.

jbellloni commented 1 month ago

oh, looks like a missed something... Thanks!