ProLiant Servers (ML,DL,SL)
Showing results for 
Search instead for 
Did you mean: 

BIOS setting on CPU performance

Go to solution
Tim Allen_5
Occasional Advisor

BIOS setting on CPU performance

I noticed in the BIOS on a new DL580G3 the option to optimize the processor for 'memory' or for 'i/o'... We run some intense database stuff so I was interested when I saw I could 'optimize' for i/o instead of the default, which is memory, i'm wondering if anyone knows anything else about this setting, what it actually does and such...
Doug de Werd

Re: BIOS setting on CPU performance

Basically it changes the way that the processors use the memory pre-fetch queue in cache. In normal operations, if there is a memory cache hit, the processor may also do a pre-fetch of the next or adjacent memory location in the cache, which goes out to main memory for the fetch. In heavy memory intensive applications, this maintains optimum performance. But in a lot of cases, the pre-fetched memory ends up being discarded anyways.

However, in some cases where there is a lot of I/O, the memory pre-fetching, since it uses the same bus and bridge that PCI uses, can take up bus bandwidth that could be used by the I/O devices. Since much of the pre-fetched data is discarded anyways, turning off the pre-fetching frees up bus bandwidth for the I/O devices, and really doesn't impact memory performance.

So the bottom line is that the default setting is optimized for memory, and HP recommends that you only change it if you have done your own benchmarking that indicates that it would increase overall system performance - with your application. Databases could potentially benefit from the I/O setting, but you really need to test it with your specific environment. We have seen some improvement in TPC-C benchmarks using the I/O setting.

Your mileage may vary.


Expert in ProLiant Clusters