HP B- Accelerators Linux manual Setting Numa affinity, Setting the interrupt handler affinity

Page 56

Setting NUMA affinity

Servers with a NUMA (Non-Uniform Memory Access) architecture require special installation instructions in order to maximize ioMemory device performance. These servers include the HP ProLiant DL580 and HP DL980 Servers.

On servers with NUMA architecture, during system boot, the BIOS on some systems will not distribute PCIe slots evenly among the NUMA nodes. Each NUMA node contains multiple CPUs. This imbalanced distribution means that, during high workloads, half or more of the CPUs might remain idle while the rest are 100% utilized. To prevent this imbalance, you must manually assign IO Accelerator devices equally among the available NUMA nodes.

For information on setting NUMA affinity, see "NUMA configuration (on page 57)."

Setting the interrupt handler affinity

Device latency can be affected by placement of interrupts on NUMA systems. HP recommends placing interrupts for a given device on the same NUMA socket that the application is issuing I/O from. If the CPUs on this socket are overwhelmed with user application tasks, in some cases it might benefit performance to move the interrupts to a remote socket to help load balance the system.

Many operating systems will attempt to dynamically place interrupts for you and generally make good decisions. Hand tuning interrupt placement is an advanced option that requires profiling of application performance on any given hardware. For information on how to pin interrupts for a given device to specific CPUs, see your operating system documentation.

Performance and tuning 56

Image 56
Contents HP IO Accelerator Version 3.2.3 Linux User Guide Page Contents Maintenance Resources Contents summary About this guideProduct naming IntroductionOverview Performance attributes IO Accelerator capacity 320GB 640GB Models AJ878B BK836ASupported hardware Required operating environmentSupported firmware revisions Introduction Introduction Software installation Installation overviewInstalling RPM packages on SUSE, RHEL, and OEL $ uname -rRpm -Uvh iomemory-vsl-kernel-version-VSL-version.x8664.rpm Rpm -Uvh fio*.rpm$ rpmbuild --rebuild iomemory-vsl-VSL-version.src.rpm Building an RPM installation packageBuilding the IO Accelerator driver from source Upgrading device firmware from VSL 1.x.x or 2.x.x to $ rpm -qa grep -i iomemory Upgrading procedureFio-bugreport $ modprobe iomemory-vsl Fio-update-iodrive iodriveversion.fff$ rpm -e iomemory-vsl-2.6.18-194.el5-2.2.0.82-1.0 # Provides iomemory-vsl # Required-Start boot.udev Loading the IO Accelerator driverControlling IO Accelerator driver loading Fio-attach /dev/fctUsing the init script $ chkconfig --del iomemory-vsl$ chkconfig --add iomemory-vsl # blacklist iomemory-vslSetting the IO Accelerator driver options Using module parametersMounting filesystems Handling IO Accelerator driver unloadsOne-time configuration Persistent configurationUpgrading the firmware $ modprobe iomemory-vsl auto-attach=0Enabling PCIe power Using the device as swapUsing the Logical Volume Manager Options iomemoryvsl preallocatememory=1072,4997,6710,10345Configuring RAID Device partitionsDevice /dev/fio Etc/mdadm.conf$ mdadm --assemble --scan Chkconfig boot.md on Chkconfig mdadmd on$ mdadm --detail --scan Building a RAID 10 across multiple devices Fio-statusUnderstanding Discard Trim support Discard Trim on LinuxSetting up Snmp for Linux Snmp details for LinuxFiles and directories Snmp master agentConfiguring the Snmp master agent Installing the Snmp subagentYum install net-snmp rsync Snmp agentX subagentSubagent log file Running and configuring the Snmp subagentManually running the Snmp subagent Using the Snmp sample config files Enabling Snmp test modePCI0100.0 Setting up Snmp for Linux Troubleshooting Snmp Supported Snmp MIB fieldsSnmp MIB Maintenance Maintenance toolsDevice LED indicators Command-line utilitiesEnabling PCIe power override Fio-update-iodriveEnabling the override parameter Common maintenance tasksOptions iomemory-vsl externalpoweroverride=value Disabling auto attach Uninstalling the IO Accelerator driver RPM packageUnloading the IO Accelerator driver Unmanaged shutdown issues Disabling the driverEtc/modprobe.d/iomemory-vsl.conf Options iomemoryvsl autoattach=0Utilities Utilities referenceFio-attach Fio-attach device optionsFio-beacon Fio-bugreportFio-beacon device options Tmp/fio-bugreport-20100121.173256-sdv9ko.tar.bz2Fio-detach Fio-format options device Fio-formatFio-detach device options Fio-pci-check Fio-pci-check optionsFio-snmp-agentx Fio-statusFio-snmp-agentx options Fio-status device optionsUtilities Fio-sure-erase Fio-sure-erase options device Fio-update-iodrive Fio-update-iodrive options iodriveversion.fff Domainbusslot.func Health metrics Monitoring IO Accelerator healthNand flash and component failure Health monitoring techniques About flashback protection technology Software RAID and health monitoringPerformance and tuning Introduction to performance and tuningDisabling Dvfs Limiting Apci C-statesSetting Numa affinity Setting the interrupt handler affinityNuma configuration Advanced configuration exampleIntroduction to Numa architecture Numa node override parameter13,14,18,19 For more information Subscription serviceResources Regulatory information Safety and regulatory complianceWarranty information Support and other resources Before you contact HPHP contact information Customer Self RepairRéparation par le client CSR Riparazione da parte del cliente Reparaciones del propio cliente Reparo feito pelo cliente Support and other resources Support and other resources Support and other resources Acronyms and abbreviations SMH Documentation feedback Index Uninstalling utilities