Green-Software-Foundation / Green-Software-Foundation/hack

PUE-Plugin

Open
#150 2 comments 0 reactions 1 assignee Claimed by @jbellloni View on GitHub
plug-in-project registered submitted
Dominant language
No language data
Stars
16
Forks
2
PR merge metrics
No merged PRs in 30d

Description

### 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:
* cloud-provider
* cloud-provider and region
* config or global-config
* default.
The cloud-data is stored in a csv-file.

### 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

- [X] I agree to the hackathon [Rules & Terms](https://github.com/Green-Software-Foundation/hack/wiki/Rules-and-Terms) and [Code of Conduct](https://github.com/Green-Software-Foundation/hack/wiki/Code-of-Conduct)

------------------

## 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!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.