JiaweiZhuang / cloud-gchp-paper

Code to reproduce GCHP-on-cloud paper
MIT License
5 stars 3 forks source link

disable hyperthreading? #6

Closed rsignell-usgs closed 4 years ago

rsignell-usgs commented 4 years ago

@JiaweiZhuang , I would have thought that there would be a performance boost if hyperthreading was disabled, and that's now easy to do in the config file: https://docs.aws.amazon.com/parallelcluster/latest/ug/cluster-definition.html#disable-hyperthreading

Did you look at whether hyperthreading helps, hinders, or doesn't matter for your use cases?

JiaweiZhuang commented 4 years ago

We don't see a visible impact for our model, but it is of course model-dependent. Another small benefit of disabling hyperthreading is that Slurm can correctly recognize the true number of physical cores (not vCPUs). so that you don't need something like srun --ntasks-per-node=36 to avoid oversubscribing the cores.

See more at https://aws.amazon.com/blogs/compute/disabling-intel-hyper-threading-technology-on-amazon-linux/, for example:

A good example of contention that makes HT Technology slower is an HPC job that relies heavily on floating point calculations. In this case, the two threads in each core share a single floating point unit (FPU) and are often blocked by one another.

In the case of LINPACK, the benchmark used to measure supercomputers on the TOP500 list, many studies have shown that you get better performance by disabling HT Technology. But FPUs are not the only example. Other, very specific workloads can be shown by experimentation to be slower in some cases when HT Technology is used.

rsignell-usgs commented 4 years ago

@JiaweiZhuang , thanks for the detailed response! We will try it out, see how it goes, and report back.