Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initiate estimation of hdd/ssd (nvme or not) drives power #330

Open
bpetit opened this issue Jun 10, 2023 · 5 comments
Open

Initiate estimation of hdd/ssd (nvme or not) drives power #330

bpetit opened this issue Jun 10, 2023 · 5 comments
Assignees
Labels
enhancement New feature or request
Projects

Comments

@bpetit
Copy link
Contributor

bpetit commented Jun 10, 2023

Problem

To get closer to an evaluation of the full host power usage, we need an evaluation of hard drives power usage. (Energizta is starting to show that hard drives shouldn't be overlooked and can take a decent share of the hosts power usage.).

Solution

Explore ways to get hard drives power states (read/write/active, idle, standby, ...) and what decent values for full power or low power states would be. If an average is okay or if we need to differentiate per model/manufacturer, or even if there is a way to make a finer metric than an estimation.

Provide a new metric that gives this estimation.

@bpetit bpetit added the enhancement New feature or request label Jun 10, 2023
@bpetit bpetit added this to the Release v1.1.0 milestone Jun 10, 2023
@bpetit bpetit added this to Triage in General via automation Jun 10, 2023
@bpetit bpetit moved this from Triage to In progress in General Jun 10, 2023
@bpetit
Copy link
Contributor Author

bpetit commented Jun 10, 2023

Sysfs seems to have nice informations about power state and time spent in active mode : https://events.static.linuxfound.org/slides/2011/linuxcon-japan/lcj2011_wysocki2.pdf

In /sys/block/sd*/device/power/*

@bpetit bpetit changed the title Initiate estimation of hdd/ssd (nvme or not) drives Initiate estimation of hdd/ssd (nvme or not) drives power Jun 10, 2023
@ArneTR
Copy link

ArneTR commented Jun 12, 2023

For the three linux boxes that I checked the value of /sys/block/sda/device/power/runtime_suspended_time is always zero. (Machines had only one disk, sda)

A maybe more promising approach could be if you look at the values that iostat report and try to match them with some average manufacturer data how much a read / write operation actually costs. Similar to how how TEADS did it with their DRAM calculation model

I actually do not know how accurate that would be and it would be nice to benchmark it on a real disk ...

@bpetit bpetit self-assigned this Jul 11, 2023
@bpetit bpetit modified the milestones: Release v1.1.0, Release v1.0.0 Jul 21, 2023
@bpetit
Copy link
Contributor Author

bpetit commented Jul 25, 2023

There is a model proposed in this article : https://blog.octo.com/la-mesure-pour-reveler-limpact-cache-du-numerique-sur-le-climat-et-ouvrir-la-voie-a-une-action-eclairee/

Should be tested on several machines, comparing sum of rapl pkg + disk formula to wattmeter measurements.

@maethor
Copy link

maethor commented Aug 11, 2023

If disks, SSD, NVME… had a power usage of their own, we should see it on "Wattmeter minus RAPL".

I believe it could vary a lot from harddrive to SSD to NVME, and maybe from model to model… but, on my measurements I see no correlation between "Wattmeter - RAPL" and disk usage (IOps or bps). And on my stresstests, NVME IO stresstests have a big impact in RAPL power usage, but no additional visible impact on global power usage.

It is clear that a lot more testing needs to be done on this. But I believe we may be able to simply consider a fixed cost for NVME and SSD at least (I expect around 2W per SSD).

About /sys/block/sda/device/power/, it will not give you power usage but power management tools. 0 and 1 are just configuration variables for the kernel to manage disks more or less efficiently.

@ArneTR
Copy link

ArneTR commented Aug 12, 2023

Hey @maethor : What test have you been running to come to that conclusion, that the power draw for the HDD/SDD does not increase for IO bound loads?

My idea is to reproduce that and then pin the results somewhere online. We have quite some machines in a measurement cluster with attached power meters and RAPL capabilities (https://docs.green-coding.berlin/docs/measuring/measurement-cluster/)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: In progress
General
In progress
Development

No branches or pull requests

3 participants