Open d0zingcat opened 4 months ago
Hi @d0zingcat - thanks for flagging this with us - we will start taking a look at this report next week and come back with some more info.
In the meantime if you would like expedited commercial support we offer a number of options here: https://chronicle.software/contact-us/
We use this Library in JDK 8 on one dedicated server whose CPU is Intel i5-13500 and this CPU uses big.LITTLE architecture. It has 6 Performance cores(which implements HyperThread Technology and can be thought as two cores) and 8 Efficient cores. That is, the total of logic cores is 6*2 + 8 = 20 and the total of logic cores is 6+8=14.
If we use CPUAffinity to bind CPU core, we will have one exception which tells that the cores do not match: "java.lang.AssertionError: cpuDetails.size= 20 != sockets: 1 coresPerSocket: 14 threadsPerCore: 2"
I think it is due to this line: https://github.com/OpenHFT/Java-Thread-Affinity/blame/9a9148f9f5073cb4c8ff4a59804d3f7c74d84ce2/affinity/src/main/java/net/openhft/affinity/impl/VanillaCpuLayout.java#L55
Maybe the threadspercore should not multiple all the cores.
What's the point of this check and how to deal with this exception?
Refers:
The spec: https://www.intel.com/content/www/us/en/products/sku/230580/intel-core-i513500-processor-24m-cache-up-to-4-80-ghz/specifications.html
lscpu: