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

manufacturer#

_description_. Defaults to None.

Type:

str | None, optional

layers#

_description_. Defaults to None.

Type:

int | None, optional

Methods Summary

Methods Documentation

_estimate_density() ReplicableValue#

Estimate the SSD density of the RAM stick.

This estimation uses the manufacturer and the layers. We first average the density of the SSD in the file defined in the config file under csv > 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:

ReplicableValue

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 under default_values_ssd > surface_impact_factor.

  • surface is the surface of the SSD estimated from its size and its density.

  • _base_impact is a constant impact of every SSD stick, which includes packaging, transport, etc. It is defined in the config file under default_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