138 POWER7 and POWER7+ Optimization and Tuning Guide
8.1 DB2 and the POWER7 processor
IBM DB2 10.1 is uniquely positioned to take advantage of the POWER7 architecture.
DB2 10.1 offers many capabilities that are tailored to use POWER7 features. The DB2
self-tuning memory manager (STMM) feature is one of many features that can help DB2
workloads efficiently consolidate on POWER7 Systems. Additionally, DB2 is one of the most
optimized software applications on POWER7. During the DB2 development cycles of new
features, there is a specific focus on the POWER7 guidelines and the various technologies of
the POWER7 architecture are characterized. So far, in the earlier chapters in this book, you
read detailed descriptions about most of these POWER7 guidelines and technologies. The
focus of this chapter is to showcase how IBM DB2 10.1 uses various POWER7 features and
preferred practices from this guide during its own software development cycle, which is done
to maximize performance on the Power Architecture. General DB2 tuning and preferred
practices of DB2 10.1 are covered extensively in many other places, some of which are listed
at in 8.8, “Related publications” on page 144.
8.2 Taking advantage of the POWER7 processor
Methods for taking advantage of the inherent power of the POWER7 processor include
affinitization, page size, decimal arithmetics, and the usage of SMT priorities for internal
lock implementation.
8.2.1 Affinitization
New to DB2 V10.1 is a much easier way to achieve affinitization on POWER7 Systems
through the DB2 registry variable DB2_RESOURCE_POLICY. In general, this variable defines
which operating system resources are available for DB2 databases or assigns specific
resources to a particular database object. A typical example is to define a resource policy that
restricts a DB2 database to run only on a specific set of processor cores.
On POWER7 Systems running AIX V6.1 Technology Level (TL) 5 or higher, this variable can
be set to AUTOMATIC. This feature is a new one introduced in DB2 10.1 and can result in
enhanced query performance on some workloads. With this setting, the DB2 database
system automatically detects the Power hardware topology and computes the best way to
assign engine dispatchable units (EDUs) to various hardware modules. The goal is to
determine the most efficient way to share memory between multiple EDUs that need access
to the same regions of memory. This setting is intended for larger POWER7 Systems with 16
or more cores. It is best to run a performance analysis of the workload before and after you
set this variable to AUTOMATIC to validate the performance improvement.
The following example demonstrates how to set the registry variable to AUTOMATIC using the
db2set command and then starting the DB2 database manager:
db2set DB2_RESOURCE_POLICY=AUTOMATIC
db2start
In DB2 10.1, DB2_RESOURCE_POLICY uses Scheduler Resource Allocation Domain Identifier
(SRADID) instead of resource set (RSET) attachments to identify resources for the database.
For more information about other usages of DB2_RESOURCE_POLICY other memory-related DB2
registry variables, see Chapter 2, “AIX configuration”, in Best Practices for DB2 on AIX 6.1 for
POWER Systems, SG24-7821.