-
Notifications
You must be signed in to change notification settings - Fork 28
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
Estimate RAM consumption profile from discrete workload data points #115
Comments
After some more digging on the data here is what I found out. First, consumption profiles from the "same type" of instances look similar (at least for c5 instances) so it is a good information to collect. Second, consumption profiles from different servers with the same memory capacity also look similar. On the last one there is roughly 40 Watts of difference between the max and min. There are consumption profiles that are almost constant given any workload:
Are these outliers? We also see a big difference between using the CPU stress test and other types of stress tests (that put more pressure on the memory).
This makes me question the relevance of estimating the RAM consumption profile from CPU workload. I guess this may work most of the time for average processing workloads, but if we use a server for a more specific type workload like databases or VMs the profile we will estimate will be way of the underelying reality. So at a first glance we can say that:
Also I haven't found a lot of data on the memory itself (manufacturer, launch year, etc.). There are some information in the spreadsheet but not enough to estimate anything based on these potential variables. @github-benjamin-davy I haven't found anything on the type of memory bank used in cloud instances so if you have information on that I am interested. |
Hello @samuelrince thanks a lot for this work! I fully agree with your conclusions, memory consumption will vary a lot depending on the type of workload and there is some form of efficiency (consumption per GB of memory) with newer machines with dense memory DIMMs. |
Thank you for your work @samuelrince and your feedback @github-benjamin-davy. @samuelrince : Do you think that we could implement a first "dump" consumption profile for RAM that generate/use a profile only based on the RAM quantity (based on the RAM stress test ?). Or at least a fix factor proportional to the ram quantity ? @github-benjamin-davy : To collect more measurement on a variety of hardware, we should let the community conduct the work that you have done on their own servers. Why not adapting your code during a hackathon to write in an open database ? I was thinking that the feature we are developing could interest different international organization such as cloud carbon footprint, the SDIA and the GSF. They could also make a call to their own communities. |
Great idea @da-ekchajzer! Centralizing these measures and having some dataviz to compare several tests could be helpful as well. Ideally, it would be also nice to add AMD machines support. |
Thanks @da-ekchajzer, I'll make a prototype as you said and in the future if we gather more data on RAM consumption profiles (with categorical features) we will update the feature accordingly. |
…on of CPUConsumptionProfile #115
According to what we've said, I've finished the implementation of RAM consumption profile as a simple constant function (independent from the workload). The model is determined using RAM capacity only. Let's review this feature when we have more data ! |
Can we close this issue @samuelrince ? |
Problem
Memory (RAM) components electrical consumption depends on the workload. We want to estimate the following function:
In our context we can assess the following hypotheses:
This issue is related to #86 where we solved the same problem for CPU consumption profiles.
Solution
Implement a new consumption profile model dedicated to RAM components that will infer the parameters of the consumption profile function described above. It should take into account any relevant features to estimate these parameters.
Possible features:
Using workload data, we can apply a regression algorithm using log-like functions for instance. The categorical features can help select fine-tuned initial parameters for the regression. If no workload is provided, we can use the fine-tuned model as an output.
Additional context or elements
The text was updated successfully, but these errors were encountered: