PC GAMESS/Firefly-related discussion club



Learn how to ask questions correctly


Re: MP2 second half-transformation, AHCI, NCQ, WindowsXP and Windows Vista | 7

Alex Granovsky
gran@classic.chem.msu.su


Hi Sergey,

Firefly generally does not use random writes as they are not efficient.
There are several exceptions though, namely some old code that
is at present shared with GAMESS (US) e.g., some routes through
CI energy gradient code. This code will be removed or replaced
over time. However, these parts of Firefly are very seldom used.

As to MP2 code, it does not use random writes.
Second half-transformation as well as 2-e gradient stage uses
random reads. In addition, second half-transformation of MP2
gradient code uses sequential writes. These I/O operations
can be either separated or overlapped in time depending on the
various async I/O-related options of $mp2grd group. It is supposed
that defaults settings are nearly optimal.

As to NCQ... we did not perform benchmarking of MP2 code
wrt. to NCQ turned on and off. It would be interesting to see
the results of such tests.

Interestingly, we found that the performance of standard buffered
random disk I/O is much worse under Win2K8 R1 x64 (we did
not test R2) than that of Win2K3 x64, at least for SATA II disks
working in AHCI mode on Intel's chipsets and with Intel's drivers.
Sometimes, this I/O can drive OS absolutely mad so it finally hangs
or shutdowns itself. Perhaps this is somehow related with NCQ
support by OS and drivers :-) .
This is why we recommend to use unbuffered direct I/O for MP2 under
Win2K8 and Vista.

regards,
Alex Granovsky

On Mon Nov 23 '09 0:27am, Sergey wrote
--------------------------------------
>Dear all,

>I would like to address an issue about efficiency of disk IO operations which is especially cruicial for the second MP2 integrals half-transformation as weel as other stages.

>By its nature, this is mostly random reads/writes of intgrals between atom pairs, distributed over nodes. If 1-core - 1-disk hardware strategy is used, the target efficiency is function of disk access time  mostly. Hence, such the function as NCQ might be a good option to 'locally order' writes, lower the tears of HDD heads and increase efficiency.

>However, if we consider modern MBs, they have typically SATA chips operating in 3 modes: SATA (Native IDE), AHCI and RAID. Note that NCQ is a part of the 2nd and the 3rd mode, but I didn't found reliable info about the first mode.

>If OS is WindowsXP, then SATA (Native IDE) mode may NOT use NCQ, as this support is implemented officially only in OS LH (Vista) or W7. More to that, enabling ACHI on some controllers results in degrading performance by 10% or so as the driver actually maps ACHI to SATA and that's all it does.

>For the LH/W7, there is such the support for NCQ and other functions of ACHI natively, so they promise ~ 5% average performance boost, but on case for random writes as we have in MP2 second half-transformation, that might be much more pronounced.

>The question to the authors of Firefly then arises about NCQ, drivers and PCGAMESS, did they perform such the tests with NCQ enabled/disabled for WinXP/LH/7 for the MP2 and if yes, what were the results? Or maybe, suggestions what the results might be?

>Otherwise it would be a good idea to perform such the tests. I will report here if I found something interesting on topic.

>Thank you!

[ This message was edited on Mon Nov 23 '09 at 10:11am by the author ]


[ Previous ] [ Next ] [ Index ]           Mon Nov 23 '09 10:11am
[ Reply ] [ Edit ] [ Delete ]           This message read 1023 times