Each virtual machine comes with an allocated quantity of disk storage. Storage can be used either by directly attaching an onboard solid-state drive (SSD) or hard disk drive (HDD) to the virtual machine’s associated motherboard, or through volumes reserved on a separate storage-specific rack. Tailpipe distinguishes the former type as ‘onboard storage’, and the latter as ‘network storage’.
In AWS’ case, network storage is called Elastic Block Storage (EBS). For Azure, it is called Azure Storage.
Tailpipe measures onboard SSDs and HDDs separately to network SSDs and HDDs. There are two reasons for this:
- Network storage draws more power per drive than onboard storage, because each network-attached drive is associated with its own motherboard and network interface cards.
- Tailpipe can generate a linear regression of power draws for onboard storage, because cloud providers report the actual quantity of physical drives providing the storage. They do not do this for network storage. See Network Storage for more details.
To calculate onboard storage, Tailpipe first identifies whether an organization’s virtual machine utilizes onboard or network storage. If your virtual machine includes onboard storage, Tailpipe can then identify whether it is SSD or HDD storage from its virtual machine database.
Tailpipe models power consumption for onboard SSDs separately to onboard HDDs. This is because according to Tailpipe’s analysis of storage manufacturer’s datasheets, HDDs consume more power than SSDs. For SSDs, a dataset of 13 drives with capacities from 0.5TB to 8TB was analyzed. For HDDs, a dataset of 71 drives with capacities from 1TB to 24TB was analyzed. See Appendix B for details.
Solid State Drives
For onboard SSDs, power consumption is measured based on linear regressions of power draws for different drives at various capacities. This means Tailpipe can approximate the power draw of each different drive capacity (see Appendix C for linear regression figures). Tailpipe can identify an organization’s drive capacity from the provider’s virtual machine specifications. For SSDs, Tailpipe also distinguishes between NVMe and SATA SSDs. NVMe SSDs have a significantly higher power consumption than SATA SSDs. Tailpipe can also ascertain which type of SSD is attached to a virtual machine based on cloud provider specifications. In AWS’ case, their specifications state when a virtual machine uses NVMe storage. It is assumed that the cheaper SATA SSDs are used if a virtual machine specification does not specify which SSD type it utilizes.
Power consumption for SSD storage is therefore calculated as follows:
NVMe SSD Power Consumption (W) = 0.0002 * GB of NVMe SSD Storage allocated + 6.84
SATA SSD Power Consumption (W) = 0.00006 * GB of SATA SSD Storage allocated + 2.33
Hard Disk Drives
For onboard HDDs, power consumption is calculated based on averaging of different power draws of HDDs at different capacities (see Appendix D):
Power consumption for HDD storage is therefore calculated as follows:
Onboard HDD Power Consumption (W) = (average Power Draw value for appropriate capacity) * GB of HDD Storage allocated per drive * Number of Attached HDDs
Final Onboard Storage Calculation
Finally, the power consumption is multiplied by the length of the time the organization’s usage and billing file states the storage was used, to get an energy consumption figure:
Onboard Storage Energy Consumption (Wh) = Onboard Storage Power Consumption (W) * Number of Hours of Utilization