SSD#
- class impacthpc.src.SSD(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, manufacturer: str | None = None, layers: int | None = None)#
Bases:
HasConsumptionAndEmbodiedImpacts
Subclass of
Component
representing 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/ssd/
- size#
The SSD size. Defaults to the value in the config file under
default_values_ssd > size
.- Type:
ReplicableValue | str | None, optional
- density#
The SSD density. Defaults to an estimation made by
_estimate_density()
.- Type:
ReplicableValue | str | None, optional
Methods Summary
Methods Documentation
- _estimate_density() ReplicableValue #
Estimate the SSD density of the RAM stick.
This estimation uses the
manufacturer
and thelayers
. We first average the density of the SSD in the file defined in the config file undercsv > ssd_manufacture
that have the same manufacturer and the same number of layers.If there are no SSD like that, we average the density of SSD with the same manufacturer. If there are still no matching SSD, we average the density of the SSD with the same number of layers. If no SSD match at all, we return the average density of all SSDs.
- Returns:
The estimated RAM density of the RAM stick.
- Return type:
- estimate_electric_power() ReplicableValue | None #
SSD electrical consumption is ignored
- Returns:
always returns None
- Return type:
ReplicableValue | None
- estimate_embodied_impacts() Impacts #
Estimate the embodied impacts of the SSD.
The embodied impacts of the SSD are estimated using the formula:
self._surface_impact_factor * surface + self._base_impact
, where:_surface_impact_factor
is the impact of 1 cm² of SSD. It is defined in the config file underdefault_values_ssd > surface_impact_factor
.surface
is the surface of the SSD estimated from itssize
and itsdensity
._base_impact
is a constant impact of every SSD stick, which includes packaging, transport, etc. It is defined in the config file underdefault_values_ssd > base_impact
.
- Returns:
The embodied impacts of the SSD.
- 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