Using Hyperthreading with NetworkComputer

AlanB_22262
AlanB_22262 New Altair Community Member
edited February 2023 in Altair HPCWorks

There is a downside to using hyper-threading with NC with default settings.

NC will view a hyper-threaded core as two slots, consuming twice the licenses, but only yielding slightly better performance than a single, non hyper-threaded core. For this reason, we recommend setting the capacity (number of job slots) manually, or turning off hyper-threading in the BIOS.

We recommend profiling your application with and without hyper-threading to see the performance/license usage trade-off on an implementation by implementation basis.

The NC admin has complete control of how many licenses to allocate per host when using a keyfile or RLM-enterprise (slots_nc) features, by using the -capacity option in the slaves.tcl config file.

It is only the default behavior that will allocate licenses to hyper-threads.

The NC vovserver asks the OS how many cores there are, and it counts hyperthreads on Linux.

For example, on a 2-chip, 8-core/chip box with hyperthreading, the OS will report that there are 32 processors in /proc/cpuinfo, but there are really only 16 cores, so -capacity 16 should be used.

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.