RAM#
- class impactshpc.src.RAM(embodied_impacts: Impacts | None = None, electric_power: ReplicableValue | str | None = None, peak_power: ReplicableValue | str | None = None, idle_power: ReplicableValue | str | None = None, size: ReplicableValue | str | None = None, density: ReplicableValue | str | None = None, engraving_process_thickness: ReplicableValue | str | None = None, manufacturer: str | None = None)
Bases:
HasConsumptionAndEmbodiedImpactsSubclass of
Componentrepresenting a RAM stick.This class uses the same estimation as BoavitzAPI, described in
Thibault Simon, David Ekchajzer, Adrien Berthelot, Eric Fourboul, Samuel Rince, et al.. BoaviztAPI: a bottom-up model to assess the environmental impacts of cloud services. HotCarbon’24 - 3rd Workshop on Sustainable Computer Systems, Jul 2024, Santa Cruz, United States. hal-04621947v3"See the documentation of BoavitzAPI : https://doc.api.boavizta.org/Explanations/components/ram/
- size
The RAM size. Defaults to the value in the config file under
default_values_ram > size.- Type:
ReplicableValue | str | None, optional
- density
RAM density is the quantity of data (in gigabytes) that a cm² of RAM contains. This value is expressed in GB/cm². Defaults to an estimation made by
_estimate_density().- Type:
ReplicableValue | None, optional
- engraving_process_thickness
The thickness of the engraving process for manufacturing this RAM stick. If
densityis provided, this attribute is ignored. Defaults to None.- Type:
ReplicableValue | str | None, optional
- manufacturer
The manufacturing company. If
densityis provided, this attribute is ignored. Defaults to None.- Type:
str | None, optional
Methods Summary
Estimate the electric power of the RAM stick.
Estimate the embodied impacts of the RAM.
Returns the minimum consumption of the component, the consumption it has when no job are running
Methods Documentation
- estimate_electric_power() ReplicableValue#
Estimate the electric power of the RAM stick.
The estimation is based on the
sizeand a factor indicating the consumption per gigabyte of RAM. This factor is defined in the config file underdefault_values_ram > electrical_consumption_per_gigabyte.- Returns:
The electric power of the RAM stick.
- Return type:
- estimate_embodied_impacts() Impacts#
Estimate the embodied impacts of the RAM.
The embodied impacts of the RAM are estimated using the formula:
self._surface_impact_factor * surface + self._base_impact, where:_surface_impact_factoris the impact of 1 cm² of RAM stick. It is defined in the config file underdefault_values_ram > surface_impact_factor.surfaceis the surface of the RAM stick estimated from itssizeand itsdensity._base_impactis a constant impact of every RAM stick, which includes packaging, transport, etc. It is defined in the config file underdefault_values_ram > base_impact.
- Returns:
The embodied impacts of the RAM.
- Return type:
Impact
- estimate_idle_power() ReplicableValue | None#
Returns the minimum consumption of the component, the consumption it has when no job are running
- estimate_peak_power()#
Estimate the peak (maximum) electric power of the CPU when the workload is 100%.
The CPU’s peak instant consumption is estimated using the
estimate_electric_power()method with a workload of 100%.- Returns:
The electric power of the CPU.
- Return type:
Impact
- _estimate_density() ReplicableValue
Estimate the RAM density of the RAM stick.
This estimation uses the
manufacturerand theengraving_process_thickness. We first average the density of the RAM sticks in the file defined in the config file undercsv > ram_manufacturethat have the same manufacturer and the same engraving process thickness.If there are no sticks like that, we average the density of sticks with the same manufacturer. If there are still no matching sticks, we average the density of the sticks with the same engraving process thickness. If no sticks match at all, we return the average density of all RAM sticks.
- Returns:
The estimated RAM density of the RAM stick.
- Return type:
- estimate_electric_power() ReplicableValue
Estimate the electric power of the RAM stick.
The estimation is based on the
sizeand a factor indicating the consumption per gigabyte of RAM. This factor is defined in the config file underdefault_values_ram > electrical_consumption_per_gigabyte.- Returns:
The electric power of the RAM stick.
- Return type:
- estimate_embodied_impacts() Impacts
Estimate the embodied impacts of the RAM.
The embodied impacts of the RAM are estimated using the formula:
self._surface_impact_factor * surface + self._base_impact, where:_surface_impact_factoris the impact of 1 cm² of RAM stick. It is defined in the config file underdefault_values_ram > surface_impact_factor.surfaceis the surface of the RAM stick estimated from itssizeand itsdensity._base_impactis a constant impact of every RAM stick, which includes packaging, transport, etc. It is defined in the config file underdefault_values_ram > base_impact.
- Returns:
The embodied impacts of the RAM.
- Return type:
Impact
- estimate_idle_power() ReplicableValue | None
Returns the minimum consumption of the component, the consumption it has when no job are running
- estimate_peak_power()
Estimate the peak (maximum) electric power of the CPU when the workload is 100%.
The CPU’s peak instant consumption is estimated using the
estimate_electric_power()method with a workload of 100%.- Returns:
The electric power of the CPU.
- Return type:
Impact