Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how does it work? #1

Closed
mrchrisadams opened this issue Apr 19, 2022 · 2 comments
Closed

how does it work? #1

mrchrisadams opened this issue Apr 19, 2022 · 2 comments

Comments

@mrchrisadams
Copy link

hi there.

I'm trying to understand how this metrics tool works, but I'm struggling to understand it from looking at just the code - would you please point me to the documentation for understanding what's happening under the hood?

I've read this:
https://www.green-coding.org/blog/green-metrics-measurement-tool/

And I've followed the link to the project demo:
https://github.com/green-coding-berlin/green-metric-demo-software

But it's still not obvious to me - are you measuring things like the increase in CPU usage reported by the docker containers?

I've contributed some docs to Scaphandre, a similar project for measuring the energy usage of compute, and you can see how they work out the energy you an attribute to a given process below:

https://hubblo-org.github.io/scaphandre-documentation/explanations/how-scaph-computes-per-process-power-consumption.html

I'm happy to add some more documentation to this project once I understand it 👍

@ArneTR
Copy link
Member

ArneTR commented Apr 19, 2022

The tool in its current form on Github does orchestrate the software in Docker containers and pulls their metrics via a stream from docker stats.

This approach is just chosen for the prototype. As you pointed out correctly it does not measure energy directly and a problem with this approach is:

  • The resolution of 1s is pretty low
  • Docker stats gives sometime out different value than top / /proc/stat depending on your OS configuration
  • It does not directly translate into energy without an appropriate transfer model.

Scaphandre I know, but since it uses RAPL it has problems of its own like the limitation to Intel CPUs and also a known strong bias and very off dynamic to the real input
power signal (https://www.mdpi.com/1996-1073/12/11/2204)

So at the moment this is just our outward facing prototype and we are currently in the process of doing the needed research on our Test-Systems where we setup an electrical
measurement directly on the ATX rails of a Blauer Engel for Software compatible machine to create a software transfer model that can
either directly translate from sensors / performance metrics to energy values or allow other folks to measure on our system directly (Similar to the Marcher System from Greensoft, only with a docker setup instead of a function base approach (https://greensoft.cs.txstate.edu/index.php/category/documentation/marcher/))

I updated the readme to make the docker step and the current problems more obivious. Thanks for taking the time to have a look at the tool.

I also wrote you an email with some further questions.

@ArneTR
Copy link
Member

ArneTR commented Aug 14, 2022

Hey Chris,

Update: We are not using docker-stats anymore, but now have separate reporters that live in https://github.com/green-coding-berlin/green-metrics-tool/tree/integration-tests-initial-pipeline-testing/tools/metric_providers

Their resolution is up to 1 ms, which should suffice for at least all projects I know of :)

In regards to energy measurement: Our energy reporters use Intel RAPL now.

Internally we also have DC measurements using a Pico HRDL ADC-24 (https://www.picotech.com/data-logger/adc-20-adc-24/precision-data-acquisition)

We do have measurements with the data from it online:

However, since it runs on a separate machine for now we have no possibilty to make it available through our Measuring Service on https://metrics.green-coding.org/request.html

But we are working on it ... :)

Our new documentation is also only at https://docs.green-coding.org/ which will hopefully clear up more questions.

I am closing the comment and hope everything was answered. If not please feel free to open a new issue.

@ArneTR ArneTR closed this as completed Aug 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants