SPEC CPU2006 software OS and BIOS Settings Descriptions for Huawei Platform systems

Operating System Tuning Parameters

Zone Reclaim:
Zone reclaim allows the reclaiming of pages from a zone if the number of free pages falls below a watermark even if other zones still have enough pages available. Reclaiming a page can be more beneficial than taking the performance penalties that are associated with allocating a page on a remote zone, especially for NUMA machines.
KMP_AFFINITY=physical,n (Linux)

Assigns threads to consecutive physical processors (for example, cores), beginning at processor n. Specifies the static mapping of user threads to physical cores, beginning at processor n. For example, if a system is configured with 8 cores, and OMP_NUM_THREADS=8 and KMP_AFFINITY=physical,2 are set, then thread 0 will mapped to core 2, thread 1 will be mapped to core 3, and so on in a round-robin fashion.

KMP_AFFINITY=granularity=fine,compact,0

The value for the environment variable KMP_AFFINITY affects how the threads from an auto-parallelized program are scheduled across processors. Specifying granularity=fine selects the finest granularity level, causes each OpenMP thread to be bound to a single thread context. This ensures that there is only one thread per core on cores supporting HyperThreading Technology. Specifying compact assigns the OpenMP thread +1 to a free thread context as close as possible to the thread context where the OpenMP thread was placed. The number after compact means permute. The permute specifier controls which levels are most significant when sorting the machine topology map, 0 means thread level. Hence a combination of these three options, will spread the threads as close as possible across sockets, with one thread per logical core, when HyperThreading is off, it will spread one thread per physical core as close as possible.

OMP_NUM_THREADS=n

This Environment Variable sets the maximum number of threads to use for OpenMP* parallel regions to n if no other value is specified in the application. This environment variable applies to both -openmp and -parallel (Linux) or /Qopenmp and /Qparallel (Windows). Example syntax on a Linux system with 8 cores:
export OMP_NUM_THREADS=8
Default is the number of cores visible to the OS.


Firmware / BIOS / Microcode Settings

Hardware Prefetch:

This BIOS option allows the enabling/disabling of a processor mechanism to prefetch data into the cache according to a pattern-recognition algorithm In some cases, setting this option to Disabled may improve performance. Users should only disable this option after performing application benchmarking to verify improved performance in their environment.

Adjacent Cache Line Prefetch:

This BIOS option allows the enabling/disabling of a processor mechanism to fetch the adjacent cache line within a 128-byte sector that contains the data needed due to a cache line miss. In some cases, setting this option to Disabled may improve performance. Users should only disable this option after performing application benchmarking to verify improved performance in their environment.

Intel Turbo boost Technology:

Enabling this option allows the processor cores to automatically increase its frequency and increasing performance if it is running below power, temperature.

Intel Hyper Threading Technology:

Enabling this option allows to use processor resources more efficiently, enabling multiple threads to run on each core and increases processor throughput, improving overall performance on threaded software. In some cases, setting this option to Disabled may improve performance. Users should only disable this option after performing application benchmarking to verify improved performance in their environment.

Power Technology Mode (Default=Energy Efficient)

Values for this BIOS setting can be: Energy Efficient: Maximize the power efficiency of the server,Performance:Maximize the performance of the server, Custom:Allows the user to customize power and performance related options individually.

cooling Configuration

This feature allows the user to adjust the fan speed manually,If the server is in a stressful environment, the CPU have high temperature, you can adjust the fan speed to 100%.