Closed da-ekchajzer closed 2 years ago
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.
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
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
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
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
{
"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
{
"hypothesis": "not implemented",
"impacts": {
"adp": 0.1493534978742977,
"gwp": 963.6083516103959,
"pe": 12834.909589529003
}
}
Epic
Server
US
As an external user I can retrieve the impact of my server With the bottom-up methodology of Boavizta
Route(s) involved
/v1/server/bottom-up
Process
The user send data concerning the server (model, brand, type, CPU type, CPU number, stockage capacity, ...). If all the data needed to apply the methodology has been given by the user, the impact is calculated and sent back to the user. If not, default values are used