Digital Developer Conference: Hybrid Cloud. On Sep 22 & 24, start your journey to OpenShift certification. Free registration

IBM POWER9 and SMT performance for IBM Db2

Introduction

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.

Performance test

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.

img1

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.

img2

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 ppc64_cpu commands:

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

Best practice

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.