Variable | CORES | |
Description | Specifies the number of CPU cores for the machine running LogScale | |
Default | Available Processors |
You can specify the number of processors for the machine running LogScale by setting the CORES property. LogScale uses this number when parallelizing queries and other internal tasks.
By default, LogScale uses the Java availableProcessors function to get the number of CPU cores. This is usually the optimal number. Be aware that the auto-detected number can be too high when running in a containerized environment where the JVM does not always detect the proper number of cores.
Derived from the number of CPU cores, LogScale internally sets
QUERY_EXECUTOR_CORES
and
DIGEST_EXECUTOR_CORES
to half that number (but a minimum of
2) to reduce pressure on context switching due to hyper-threading since
the number of CPU cores usually include hyperthreads. If the number of
cores set through CORES
is the number of actual physical
cores and not hyperthreads, you may want to set these to the same number
as CORES
.
Note
Raising this number above the default may lead to an unstable and slow system due to context switching costs growing to a point where no real work gets done when the system gets loaded, while it may appear to work fine when not fully utilized.