Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
anderseriksson
Partner - Specialist
Partner - Specialist

QMC QVS CPU Affinty missing cores

Hi, have a problem with a new QlikView server.

In QMC System Setup for the QVS under Performance CPU Affinity half of the cores are missing?

Server is a HP ProLiant DL380 Gen9 with 2 Intel Xeon E5-2650 v3 @ 2.30GHz with 10 cores each for a total of 20 cores.

But the CPU Affinity setting in QMC only shows a total of 10 check boxes?

Looks like the QVS is not aware of half the cores?

Hyperthreading was until last week enabled on the server when it was shut off.

Could disabling Hyperthreading be the reason for the missing cores?

Is there some file I can edit to tell the QMC the correct number of cores?

Or should I run the QlikView Server installer again?

When Hyperthreading was disabled user experience was that server is slower.
If the QVS then went from 20 cores to 10 cores that would explain it.

OS is Win 2012 R2, QlikView Server is 12SR5 Enterprise edition with Publisher on the same server, no cluster.

Under QMC/Sytem/About all 20 cores are shown for every part but the QVS where only 10 cores are shown.
This server is presently running a test licens could this be the reason for limited cores (only one CPU)?
But the only limitation of test license I'm aware of is license lease being disabled.

1 Solution

Accepted Solutions
anderseriksson
Partner - Specialist
Partner - Specialist
Author

In a support case with a different customer Qlik-support finally revealed the answer this week!

Description

The CPU affinity is not working as expected.

The number of CPU affinity for the QVS does not match the cores in the Server.

You are using a Generation 9 of HP servers

Cause

This issue comes from a new BIOS setting introduced in the Generation 9 of HP servers.

A new setting has been added in BIOS that needs to be modified to allow the QlikView services to properly detect all the CPU Cores in the machine.

Resolution

This issue can be resolved by changing the BIOS setting "NUMA Group Size" to "Flat".

The default setting for "NUMA Group Size" disables QlikView from properly detecting all CPU cores in the hardware, and thereby

From HPs manual on the subject: "Use this option to configure how the system ROM reports the number of logical processors in a NUMA (Non-Uniform Memory Access) node. The resulting information helps the operating system group processors for application use. To set NUMA Group Size Optimization: From the System Utilities screen, select System Configuration → BIOS/Platform Configuration (RBSU) → Performance Options → Advanced Performance Tuning Options → NUMA Group Size Optimization and press Enter. Select a setting and press Enter:

Clustered (default)—Optimizes groups along NUMA boundaries, providing better performance.

Flat—Enables applications that are not optimized to take advantage of processors spanning multiple groups to utilize more logical processors."

View solution in original post

11 Replies
image242
Creator
Creator

Hi Anders,

Changing your hyperthreading settings is prob the issue. I had something similar a few years back.

There also isn't a file I know of that you can edit and tell the QVS to use all cores.

Jason

Peter_Cammaert
Partner - Champion III
Partner - Champion III

Indeed. Hyperthreading produces virtual cores, which are not listed in the Affinity configuration setting. Probably stems from the time when Qlik advised to disable hyperthreading altogether.

Peter_Cammaert
Partner - Champion III
Partner - Champion III

The weird thing is that a E5-2650 v3 cpu effectively has 10 real cores (and 20 threads - see Intel® Xeon® Processor E5-2650 v3 (25M Cache, 2.30 GHz) Specifications in the Intel Ark)

Are you sure there are two cpus inserted on the server motherboard?

Peter

anderseriksson
Partner - Specialist
Partner - Specialist
Author

Oh yes, there are two CPUs available and the other parts (management server, reload engine, web server) of the server under System/About lists all cores.

It's only the QVS that is unaware of the extra cores.

Peter_Cammaert
Partner - Champion III
Partner - Champion III

I don't have any clue what's going on here. You are free to wait for someone to ask/post additional information in this thread. But maybe you better submit a case to Qlik Support.

Peter

hugo_andrade
Partner - Creator II
Partner - Creator II

Any news? Did you get assistance?
There's one server reporting similar issues.

Thanks

anderseriksson
Partner - Specialist
Partner - Specialist
Author

No, nothing new.
Was probably due to the change in configuration.

QVS should have picked it up but did not.

Peter_Cammaert
Partner - Champion III
Partner - Champion III

I was just thinking that time should bring some relief. All least I got some insights from messing with my QlikView Server.

Apparently, the QVS core affinity configuration isn't stored anywhere in the server configuration if you use all cores (which is the default setting). If you disable some of them, an entry magically appears in the QVS configuration file, called MaxCoreMask. The decimal value is a bitmask where positions correspond to cores and disabled cores are present as 0-oes. Note that the leftmost checkbox represents bit0 in the mask value.

To try a forced detection, you could try adding/replacing this to the [Settings 7] section of QVS Settings.ini file:

MaxCoreMask=1048575

the value corresponding to 20 active bits. Note that I'm not sure that this will convince your QVS to detect the 10 missing cores. But it's worth a try, I think.

There is also a MaxCoreMaskHi setting, but I can't figure out what it's used for. Stays set at 0 on all machines I have access to...

Best,

Peter

anderseriksson
Partner - Specialist
Partner - Specialist
Author

Unfortunately I can't test this any more.
Sounds like you might be on to something.
Instead of altering the setting what about deleting it?
Sounds like the QVS adds it when some of the cores are disabled but if all are enabled it does not.
Then the omitting of this setting means all cores available?

Thanks