HP c-Class Performance Tuning manual Create the SetWorkerAffinity2 tag of type Regdword

Page 30

Buses 36 and 37 : Node 1 (processors 2 and 3)

Buses 82 and 86 : Node 2 (processors 4 and 5)

Buses 169 and 170 : Node 3 (processors 6 and 7)

Because the Windows Server® operating system designates each processor according to its node numbering, it assigns the two processors of node 0 as processor 0 and processor 1. These are represented internally by a bitmask whose offsets correspond to the processor numbers. So, the processors on node 0 are represented by a 32-bit mask of b00000000000000000000000000000011, or more conveniently, 0x00000003.

To set the affinity for the Windows® IO Accelerator driver:

CAUTION: Implementing these settings requires a firm knowledge of the physical layout of the system. Incorrect settings can degrade system performance.

1.Open the Windows® Registry Editor.

2.Navigate to the Parameters folder.

3.Create the SetWorkerAffinity2 tag of type REG_DWORD.

4.Set the value to 0x03.

5.Continue creating the remaining tags with their accompanying mask values as follows:

SetWorkerAffinity2 : 0x03

SetWorkerAffinity11 : 0x03

SetWorkerAffinity36 : 0x0C

SetWorkerAffinity37 : 0x0C

SetWorkerAffinity82 : 0x30

SetWorkerAffinity86 : 0x30

SetWorkerAffinity169 : 0xC0

SetWorkerAffinity170 : 0xC0

6.Either reboot (recommended) or disable the server, and then enable each instance of the driver.

Windows driver affinity 30

Image 30
Contents HP IO Accelerator Performance Tuning Guide Page Contents Setting Windows driver affinity About the Performance and Tuning Guide IntroductionSystem performance Verifying Linux system performanceWrite bandwidth test System performance Verifying Windows system performance with Iometer Debugging performance issues Improperly configured benchmarkOversubscribed bus Handling PCIe errors PCIe link width improperly negotiated CPU thermal throttling or auto-idling Slow performance using RAID5 on Linux Using CP and other system utilitiesBenchmarking through a filesystem To avoid this issue. For more information, see the patch General tuning techniques Using direct I/O, unbuffered, or zero copyMultiple outstanding IOs Pre-conditioning $ dd if=/dev/zero of=/dev/fioX bs=10M oflag=directPre-allocating memory $ echo 4096 /sys/block/fio name/queue/nrrequestsPreallocatemb Tuning techniques for writes Increased steady-state write performance with fio-formatStride = chunk size / filesystem block size Linux filesystem tuningExt2-3-4 tuning Stripewidth = dbd * strideUsing the IO Accelerator as swap space Options iomemory-vsl preallocatememory=1072,4997,6710,10345Fio benchmark Compiling the fio benchmark$ tar xjvf fio-X.Y.Z.tar.bz2 $ cd fio-X.Y.Z Page Fd = openfilename, Owronly Programming using direct I/OUsing direct I/O on Linux Fd = openfilename, Owronly OdirectUsing direct I/O on Windows ++ code sample Programming using direct I/O Programming using direct I/O Setting Windows driver affinity Windows driver affinityCreate the SetWorkerAffinity2 tag of type Regdword Acronyms and abbreviations Index Index