Objects processed in parallel

The DB2® Symmetric multiprocessing feature provides the optimizer with additional methods for retrieving data that include parallel processing. Symmetrical multiprocessing is a form of parallelism achieved on a single system where multiple CPU and I/O processors sharing memory and disk work simultaneously toward a single result.

This parallel processing means that the database manager can have more than one (or all) of the system processors working on a single query simultaneously. The performance of a CPU-bound query can be improved with this feature on multiple-processor systems by distributing the processor load across more than one processor.

The preceding tables indicate what data access methods are enabled to take advantage of the DB2 Symmetric Multiprocessing feature. An important thing to note, however, is that the parallel implementation differs for both the SQL Query Engine and the Classic Query Engine.

Processing requirements

Parallelism requires that SMP parallel processing must be enabled by one of the following methods:

  • System value QQRYDEGREE
  • Query option file
  • DEGREE parameter on the Change Query Attributes (CHGQRYA) command
  • SQL SET CURRENT DEGREE statement

Once parallelism has been enabled, a set of database system tasks or threads is created at system startup for use by the database manager. The database manager uses the tasks to process and retrieve data from different disk devices. Since these tasks can be run on multiple processors simultaneously, the elapsed time of a query can be reduced. Even though the tasks do much of the parallel I/O and CPU processing, the I/O and CPU resource accounting is transferred to the application job. The summarized I/O and CPU resources for this type of application continue to be accurately displayed by the Work with Active Jobs (WRKACTJOB) command.

The job must be run in a shared storage pool with the *CALC paging option, as this method causes more efficient use of active memory.