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

[Action/SCI] Metrics for Embodied Emissions factor (M) for Falco #40

Closed
Tracked by #33
nikimanoledaki opened this issue Jan 25, 2024 · 5 comments · Fixed by #73
Closed
Tracked by #33

[Action/SCI] Metrics for Embodied Emissions factor (M) for Falco #40

nikimanoledaki opened this issue Jan 25, 2024 · 5 comments · Fixed by #73

Comments

@nikimanoledaki
Copy link
Contributor

nikimanoledaki commented Jan 25, 2024

SCI = (E * I) + M per R

focusing on energy metric pre-KubeCon+CloudNativeCon EU '24

@JacobValdemar
Copy link

The embodied impact (M) depends on the instance type (server) running the application. You can find a comparable instance type from AWS and use BoaviztAPI (interactive front-end) to estimate the embodied impact of that instance type. Or you could extend BoaviztAPI to support Equinix instance types (although that would probably be somewhat time-consuming).

@rossf7
Copy link
Contributor

rossf7 commented Mar 7, 2024

Summary

I've used the Boavizta front end to calculate the emissions factor for the Equinix m3.small.x86 server where Falco is deployed.

With the information available it returns a TE (Total Emissions) of 524.3 kgCO2eq for an EL (Expected Lifespan) of 4 years (35,040 hours) this results in an hourly value for M of 14.96 gCO2eq

The inputs and areas that need clarification are listed below. Once we're happy with this approach I'll write docs and the text for the panel in the Grafana dashboard.

Calculation

You can read about Boavizta's methodology here.
https://www.boavizta.org/en/blog/empreinte-de-la-fabrication-d-un-serveur

Currently all Equinix nodes we use are m3.small.x86 if we change instance types we'll need to repeat this process.

This screenshot shows the inputs and outputs. They are listed below and text in bold are inputs were more information or clarification is needed.

Screenshot 2024-03-06 at 14 35 47

The output includes both the embodied carbon and a calculation for the energy consumption of the server during its expected lifetime. However we only use the embodied carbon since energy is measured with Kepler.

Inputs

CPU

  • 1 x Intel Xeon E-2378G 8 cores @ 2.8 GHz
  • Intel datasheet states a TDP of 80W and Rocket Lake architecture

RAM

  • 1 x 64GB
  • Manufacturer unknown - using Samsung default

SSD

  • 2 x 480GB
  • Manufacturer unknown - using Micron default

Others

  • HDD quantity 0
  • Server type Rack - blade is the other supported type
  • PSU quantity 2 - using default

Server Usage

  • Localisation France - cluster is currently hosted in Equinix's Paris metro
  • LIfespan 4 years - using 4 years as per GSF embodied carbon docs

Outputs

  • Global Warming Potential Total : 884.3 kgCO2eq
  • Electricity Usage 360 kgCO2eq (excluded since we measure with Kepler)
  • Manufacturing 524.3 kgCO2eq

Result

TE (Total Emissions) of 524.3 kgCO2eq with an EL (Expected Lifespan) of 4 years (35,040 hours)
results in an hourly value for M of 14.96 gCO2eq

Out Of Scope

@rossf7
Copy link
Contributor

rossf7 commented Mar 7, 2024

See above comment for the results of the Boavizta calculator.

@vielmetti It would be great to get your feedback on this. As well as any extra details you can share on the server spec.

@JacobValdemar I think you have experience with the Boavizta dataset? If are able to double check my working that would be much appreciated.

@nikimanoledaki @AntonioDiTuri likewise PTAL 🙏

@JacobValdemar
Copy link

CPU: Nice that you have obtained information about the specific CPU being used.
RAM Manufacturer: OK to use default when manufacturer is unknown.
SSD Manufacturer: OK to use default when manufacturer is unknown.
Server type: All AWS servers are "rack", so I think it is fair to assume that it is also the case for this server.
PSU quantity: using the value 2 is fine. Normally data centers have a "normal" power supply and one backup power supply.
Lifetime: The typical lifetime for a server in a data center are 3-4 years [1, p. 131], so I think it is fair to assume a lifetime of 4 years (unless Equinix specifically state otherwise).

I would recommend you to use the BoaviztAPI API instead of Datavizta to get the embodied impact of the server. It provides a more detailed response.

Since the m3.small.x86 instance is its own server, i.e. not a server which is shared across multiple customers (as is the case for many instance types on AWS) I don't think you have to perform further calculations.

[1] L. A. Barroso, U. Hölzle, and P. Ranganathan, The Datacenter as a Computer (Synthesis Lectures on Computer Architecture), 3rd ed. Cham: Springer Nature, 2019, isbn: 978-3-031-01761-2. [Online]. Available: https://library.oapen.org/handle/20. 500.12657/61844 (visited on 12/08/2023).

@rossf7
Copy link
Contributor

rossf7 commented Mar 7, 2024

@JacobValdemar Thank you for the link and confirming on the defaults.

Using the API is a better approach. It returns a slightly higher TE of 550 kgCO2eq with 4 years EL that is an hourly M of 15.70 gCO2eq.

Here is the API request. Not posting the response as its large but its very interesting and has more accurate config for the CPU.

curl -X 'POST' \
  'https://api.boavizta.org/v1/server/?verbose=true&archetype=platform_compute_medium&criteria=gwp&criteria=adp&criteria=pe' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": {
    "type": "rack"
  },
  "configuration": {
    "cpu": {
      "units": 1,
      "name": "intel xeon e-2378g"
    },
    "ram": [
      {
        "units": 1,
        "capacity": 64
      }
    ],
    "disk": [
      {
        "units": 2,
        "type": "ssd",
        "capacity": 480
      }
    ]
  },
  "usage": {
    "avg_power": 150,
    "usage_location": "FRA"
  }
}' | jq .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants