Hi Hemant,
----- Original Message -----
> Hi All,
>
> Getting the maximum memory bandwidth per node on intel machines isn't a
> trivial problem. This patch is to initiate a discussion as to how to get
> this metric value.
> [...]
> Solutions/Alternatives :
> Due to the above listed issues, can we switch to an alternative, where
> the client/user can configure the max bandwidth per node similar to what
> this patch does? Or, are there any other alternatives which will help in
> solving this problem.
> [...]
> What this patch does ? :
> This patch is not a solution to finding the memory bandwidth, rather an
> alternative. This takes help of a bandwidth.conf file which can be filled
> up by an user/client according to their system's configuration in the format
> "node:bandwidth". The linux pmda then reads this file and displays the metric
> "hinv.node.max_memory_bandwidth" in a per node manner.
Hmm, yes, as you say - this leaves the open question for the user to know
what the right memory bandwidth value to put in the config file should be
for each node.
Another approach might be to run some code to attempt to saturate memory
bandwidth for a short time (perhaps using set_mempolicy(2) and cycling
through each node), then measure/export the max observed bandwidth? (or
at least, use that to set initial per-node values in the config file).
Either way, this is a fairly specialized domain so I guess it may be more
suited to a specialized PMDA rather than pmdalinux itself. The ./Install
script might prove a good place to run the memory test and populate those
initial config file values?
cheers.
--
Nathan
|