IBM POWER9 and SMT performance for IBM Db2
Benefits of SMT8 with Db2 products
The IBM® Power® System S9XX and L922 servers have been released with support for IBM Db2® in IBM POWER8® mode. In this article, let us visit the benefits of SMT8 with the new larger cores available in the IBM POWER9™ processor-based systems. The POWER9 processor implements a more powerful mix of execution units and the vast resources in the POWER9 SMT8 core are best utilized with eight threads per core.
To demonstrate the new benefits of SMT8 with Db2 products, we ran a series of analytical tests against the Db2 Warehouse product on a Red Hat® Enterprise Linux (RHEL) 7.4 cluster, the Db2 BLU engine on RHEL 7.4, and the Db2 BLU engine on IBM AIX® 7.1. All of the workloads were configured to maximize the throughput and CPU utilization and they all benefited from SMT8 versus SMT4 with results ranging from a 10% to 18% increase in performance, measured as queries per hour. The following chart shows the relative performance gains for the analytical workloads we executed. In these tests, the throughput results (queries per hour) for RHEL and AIX using SMT8 were the same.
For transactional Db2 performance, we ran a series of online transaction processing (OLTP) tests on RHEL 7.4 and AIX 7.1. The tests showed a slight performance benefit of 2.5% when the system was under low utilization. However, as the workload density increased the benefits of SMT8 become clear as the difference in throughput performance increases to as high as 30%, as shown in the following chart.
Linux® on the POWER9 platform is configured to use SMT8 by default when you install the OS. You can check and change which mode you are using by issuing the following
Checking SMT level ppc64_cpu –smt Changing SMT level, where # is 1, 2, 4 or 8 ppc64_cpu –smt=#
AIX on the POWER9 platform is configured to use SMT4 by default. In order to maximize the performance of the system, we need to change the SMT configuration by using the
smtctl command as follows:
Checking SMT level smtctl Changing SMT level now, where # is 1, 2, 4 or 8. The system will run SMT4 after reboot smtctl -t # -w now Changing SMT level and persist at reboot smtctl -t # -w boot bosboot -a
As a best practice, and especially for AIX, we recommend rebooting the system after changing the SMT mode. Performance may suffer in some conditions if the SMT level is changed without a reboot.
You can find more details about the
ppc64_cpu command at: https://github.com/ibm-power-utilities/powerpc-utils and about the
smtctl command at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_71/com.ibm.aix.cmds5/smtctl.htm.