Code Monkey home page Code Monkey logo

Comments (2)

da-ekchajzer avatar da-ekchajzer commented on September 24, 2024

Methodology

This methodology is a bottom-up approach to evaluate the manufacture impact of a server from the impact of its components.
The impact of CPU, RAM and SSD are evaluated depending on their die density (which as been found as the most influent variable). The impact of the other components are evaluated directly with emission factors.

Equations

For CPU

GWP_Manuf_CPU (kgCO2eq) = CPUNumber (Unit) x ((CPUCoreNumber (unit) x DieSizePerCore (cm2) + 0.491) x CPUDieGWPImpact (kg CO2eq) + CPUGWPImpact (kgCO2eq) )   
ADP_Manuf_CPU (kgSbeq)= CPUNumber (Unit) x ((CPUCoreNumber (unit) x DieSizePerCore (cm2) + 0.491) x CPUDieADPImpact (kg Sbeq) + CPUADPImpact (kgSbeq) )  
PE_Manuf_CPU (MJ)= CPUNumber (Unit) x ((CPUCoreNumber (unit) x DieSizePerCore (cm2) + 0.491) x CPUDiePEImpact (MJ) + CPUPEImpact (MJ) )   

with:

CPUNumber : server data
CPUCoreNumber : component data (cpu)
DieSizePerCore :  component data (cpu) or 0.245 cm2 (default)

CPUDie[*]PImpact : impact factor
CPU[*]Impact : impact factor

For RAM

GWP_Manuf_RAM (kgCO2eq) = RAMModuleNumber (Unit) x ((RAMSize (Go) / RAMStorageDensity (Go/cm2)) x RAMDieGWPImpact (kg CO2eq) + RAMModuleGWPImpact (kgCO2eq) )   
ADP_Manuf_RAM (kg Sb eq) = RAMModuleNumber (Unit) x ((RAMSize (Go) / RAMStorageDensity (Go/cm2)) x RAMDieADPImpact (kg Sb eq) + RAMModuleADPImpact (kg Sb eq) )   
PE_Manuf_RAM (MJ) = RAMModuleNumber (Unit) x ((RAMSize (Go) / RAMStorageDensity (Go/cm2)) x RAMDiePEImpact (MJ) + RAMModulePEImpact (MJ) )   

with :

RAMModuleNumber : server data
RAMSize : component data (ram)
RAMStorageDensity :  component data (ram) or 1.79Go/cm2 (default)

RAMDie[*]Impact : impact factor
RAMModule[*]Impact : impact factor

For SSD

GWP_Manuf_SSD (kgCO2eq) = SSDDiskNumber (Unit) x ((SSDDiskSize (Go) / SSDStorageDensity (Go/cm2)) x SSDDieGWPImpact (kg CO2eq) + SSDDiskGWPImpact (kgCO2eq) )   
ADP_Manuf_SSD (kg Sb eq) = SSDDiskNumber (Unit) x ((SSDDiskSize (Go) / SSDStorageDensity (Go/cm2)) x SSDDieADPImpact (kg Sb eq) + SSDDiskGWPImpact (kg Sb eq) )   
PE_Manuf_SSD (MJ) = SSDDiskNumber (Unit) x ((SSDDiskSize (Go) / SSDStorageDensity (Go/cm2)) x SSDDieEPImpact (MJ) + SSDDiskEPImpact (MJ) )   

with:

SSDDiskNumber : server data
SSDDiskSize : component data (ssd)
SSDStorageDensity :  component data (ssd) or 50.6 Go/cm2 (default)

SSDDie[*]Impact : impact factor
SSDDisk[*]Impact : impact factor

For the all server

GWP_Manuf_Server (kgCO2eq) = GWP_Manuf_CPU + GWP_Manuf_RAM + GWP_Manuf_SSD + HDDDriveNumber*HDDGWPImpact + MotherBoardGWPImpact + PowerSupplyUnitNumber*PowerSupplyUnitWeight*PSUGWPImpact + ServerAssemblyGWPImpact + RackGWPImpact (si serveur rack) + BladeGWPImpact + 1/16 (BladeSlotsGWPImpact) (if blade server) 
ADP_Manuf_Server (kgCO2eq) = ADP_Manuf_CPU + ADP_Manuf_RAM + ADP_Manuf_SSD + HDDDriveNumber*HDDADPImpact + MotherBoardADPImpact + PowerSupplyUnitNumber*PowerSupplyUnitWeight*PSUADPImpact + ServerAssemblyADPImpact + RackADPImpact (if server rack) + BladeADPImpact + 1/16 (BladeSlotsADPImpact) (if blade server) 
EP_Manuf_Server (kgCO2eq) = EP_Manuf_CPU + EP_Manuf_RAM + EP_Manuf_SSD + HDDDriveNumber*HDDEPImpact + MotherBoardEPImpact + PowerSupplyUnitNumber*PowerSupplyUnitWeight*PSUEPImpact + ServerAssemblyEPImpact + RackEPImpact (si serveur rack) + BladeEPImpact + 1/16 (BladeSlotsEPImpact) (if blade server) 

with:

[*]_Manuf_CPU : equation
[*]_Manuf_RAM : equation
[*]_Manuf_SSD :  equation

HDD[*]Impact : impact factor
MotherBoard[*]Impact  : impact factor
PSU[*]Impact  : impact factor
ServerAssembly[*]Impact  : impact factor
Rack[*]Impact  : impact factor
Blade[*]Impact  : impact factor
BladeSlots[*]Impact : impact factor

HDDDriveNumber : server data
PowerSupplyUnitNumber : server data
PowerSupplyUnitWeight : component data

Data

Impact factor

Composant Variable (GWP) Unité ADP (kgSbeq) GWP (kgCO2eq) PE (MJ)
CPU CPUGWPImpact Unit 2.04E-02 9.14 156.00
CPU Die CPUDieGWPImpact 1 cm2 5.80E-07 1.97 26.50
RAM Module   Unit 1.69E-03 5.22 74.00
RAM Die   1 cm2 6.30E-05 2.20 27.30
SSD (excluding die) Disk   Unit 5.63E-04 6.34 76.90
SSD Die   1 cm2 6.30E-05 2.20 27.30
HDD Disk   Unit 2.50E-04 31.10 276.00
Motherboard   Unit 3.69E-03 66.10 836.00
Rack Server   Unit 2.02E-02 150.00 2 200.00
Blade 16 Slots   Unit 4.32E-01 880.00 12 700.00
Blade Server   Unit 6.72E-04 30.90 435.00
Server Assembly   Unit 1.41E-06 6.68 68.60
Power Supply Unit   kg 8.30E-03 24.30 352.00

Components

CPU

CPU Family Introduction Year Process (nm) Die size (mm2) Core Number Size/Core  (mm2)
Skylake 2017 14 694 28 24.8
Skylake 2017 14 485 18 26.9
Skylake 2017 14 325 10 32.5
Coffee Lake 2017 14 149 6 24.8
Coffee Lake 2017 14 174 8 21.8
Broadwell 2014 14 456 24 19.0
Broadwell 2014 14 306 14 21.9
Broadwell 2014 14 246 10 24.6
Haswell 2013 22 622 18 34.6
Ivy Bridge 2011 22 160 4 40.0
Ivy Bridge 2011 22 257 6 42.8
Ivy Bridge 2011 22 341 10 34.1
Ivy Bridge 2011 22 541 15 36.1
Sandy Bridge 2010 32 216 4 54.0

RAM

Constructeur Architecture Go/cm2
Samsung 30nm 0.625
Samsung 25nm 1.25
Samsung 20nm 1.75
Samsung 18nm 2.38
SK hynix 30nm 0.750
SK hynix 26nm 1.00
SK hynix 21nm 1.31
SK hynix 21nm 1.88
Micron 30nm 0.750
Micron 30nm 0.875
Micron 20nm 1.13
Micron 20nm 1.13

SSD

Constructeur Densité de stockage (Go/cm2)
Micron 49.6
Toshiba 48.5
Samsung 53.6

from boaviztapi.

da-ekchajzer avatar da-ekchajzer commented on September 24, 2024

Exemple of post request

{
"model":{
   "brand": "Dell",
   "name": "R740",
   "type": "rack",
   "year": 2020
},
"configuration": {
    "cpu":{
        "number": 2,
        "die": 0.245,
        "core_number": 24
    },
    "ram":{
        "capacity": 32,
        "quantity": 12,
        "die": 1.79
    },
    "ssd":{
        "capacity": 400,
        "quantity": 1,
        "die": 50.6
    },
    "hdd":{
        "number": 0
    },
   "power_supply":{
         "weight": 2.99,
         "quantity": 2
    }
}}

Any element can be removed and will be replaced server side by a default value

Response

{
    "hypothesis": "not implemented",
    "impacts": {
        "adp": 0.1493534978742977,
        "gwp": 963.6083516103959,
        "pe": 12834.909589529003
    }
}

from boaviztapi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.