Multicore vs Multiprocessor when Installing Ignition on virtualized environments

I am trying to migrate an existing Ignition single gateway architecture to a multi gateway frontend / backend approach. The production gateway is running a medium scale MES project doing a good degree of data processing from tag values related to Traceability.

In the VM settings this is the current setup:

The project structure makes extensive use of an imported Java multithreading library when performing data processing. My question is if Ignition is fundamentally setup to leverage this kind of multi socket 1 core each approach or if I need to change the data processing backend gateway to reflect a single processor multi-core approach.

The latency sensitivity is currently normal and I know the architecture guide recommends setting it to High:

If I do both of those things , increase latency sensitivity and re-provision the Virtual environment to have a 1 socket processor with multi-cores, can I expect any degree of performance increase where the project is heavily leveraging multi-threading.

Or does the multi-core vs multi processor differentiation cease to have any distinction in a virtual environment.

Lastly, if I do set the latency sensitivity to high, it fundamentally means allocating more vCPUs to Ignition right, does that mean in that kind of setup I should at least have multiple sockets with multiple cores so that at least one CPU is reserved for OS level processing or is it more or less handled by the virtual environment regardless of how many CPUs I have as long as they have enough cores and clock speed to handle the application.

For most use cases, it won't make a difference.

Caveat - I am speaking from a general standpoint, not specific to VMware.

  1. Licensing - Some software, not Ignition, is licensed by physical processor count. Ignition is not.

  2. NUMA nodes. For physical hosts with multiple processors, choosing a single processor with multiple cores will keep the VM on the same NUMA node. This will be more performant than operating on separate NUMA nodes.

General best practices would recommend a single processor with multiple cores. From a performance standpoint, both should function the same, unless you are hitting the edge case of NUMA segregation.

1 Like