AIX > Administrator > DB2

IBM DB2 Enterprise 9 performance with POWER5+ and AIX 5L Multi-page Support

DB2 9 takes advantage of newly available page sizes.


Note: This article can also be found on the IBM Developerworks Web site.

For a variety of reasons, most modern operating systems run programs in virtual address space. The virtual address offers many advantages, including flexibility, isolation, transportability, the ability to access more memory than the amount of physical memory, and to some extent, underlying hardware configuration independence.

However, running programs in a virtual address space has an associated cost. Programs (including DB2*) reference memory addresses as virtual addresses. Every time a memory location is addressed for program instructions or data, a virtual address is translated into a physical or real memory address. This translation is maintained in a page table and adds more overhead to the program's execution time. The size of the page table is inversely proportional to the page size, which implies that the smaller the page size, the larger the page table, and hence more overhead.

For years, 4 kilobytes has been the standard page size for most operating systems, including the AIX 5L* operating environment. In recent days, increasing volumes of data and processor-addressable memory has rendered the 4-kilobyte page size somewhat ineffective. To improve performance of the applications that process extensive data volumes, IBM* POWER5+* processor-based systems that run AIX 5L V5.3 TL04 (or later) introduce multiple page size support. The POWER* processor and the AIX 5L operating system have supported two page sizes (4 kilobytes and 16 megabytes) since the introduction of AIX 5L V5.1. In addition to these two page sizes, newly available page sizes include 64 kilobytes and 16 gigabytes. The 64-kilobyte pages behave exactly the same as the 4-kilobyte page size. (That is, the pages are not pinned into memory and are capable of being paged.)

To take advantage of the newly available page sizes, DB2 9 automatically detects available page sizes within the system. If available, DB2 sets 64 kilobytes as a default size for a few of the processes as well as for all shared memory regions. DB2 also added support for 16-gigabyte pages since IBM DB2 Universal Database* (UDB) V8.2.5.

Background

Let's take a look at the process runtime mechanism and why large page sizes are so valuable to enterprise applications such as DB2.

Before any program can run, the operating system loader must load it into real memory. The memory necessary to run processes in the AIX 5L environment is divided into various memory regions. The private regions for a process are: text, stack, and data/heap, each of which is dedicated for specific purposes:

  • The text region stores the process's instructions.
  • The data/heap region contains dynamically allocated memory and some globally accessible program data (for example, DB2 agent private memory).
  • The stack region is used for subroutine return addresses, as well as to store automatic data.

Punit Shah's primary responsibilities are enabling IBM middleware software to use the latest System p technologies. You can reach him at punit@us.ibm.com.

Sunil Kamath is the technical manager of the DB2 online transaction processing (OLTP) benchmarks and solution development with IBM. You can reach him at sunil.kamath@ca.ibm.com.


comments powered by Disqus

Advertisement

Advertisement

2019 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

Data Basics, Part 2

More tips for avoiding common DB2 performance mistakes

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters