INFORMIX
Extending INFORMIX-Universal Server: User-Defined Routines
Chapter 5: Performance Considerations
Home Contents Index Master Index New Book

Considerations for Parallel Execution of SPL Routines

When you invoke an SPL routine with the EXECUTE or CALL statements, the SQL statements within an SPL routine can take advantage of parallel processing. The parallel database query (PDQ) feature of Universal Server executes a single query with multiple threads in parallel. Another Universal Server feature, table fragmentation, allows you to store the parts of a table on different disks. PDQ delivers maximum performance benefits when the data that is being queried is contained in fragmented tables.

The features of PDQ allow Universal Server to distribute the work for one aspect of an SQL statement among several processors. For example, if an SQL statement requires a scan of several parts of a table that reside on different disks, multiple scans can occur simultaneously.

For more information on the PDQ feature, refer to the INFORMIX-Universal Server Administrator's Guide. For more information on the performance implications of PDQ, refer to the INFORMIX-Universal Server Performance Guide.

Number of Virtual Processors (VPCLASS)

The dynamic, multithreaded nature of a Universal Server virtual processor can perform parallel processing. Virtual processors of the CPU class can run multiple session threads, working in parallel, for an SQL statement contained within an SPL routine.

You can increase the number of CPU virtual processors by setting configuration parameters in the ONCONFIG file. For example, the following parameter specifies that the database server should start four virtual processors for the cpu class:

Tip: Debugging is more difficult when you have more than one CPU because threads can migrate between processes. The Universal Server communication mechanism uses the SIGUSR1 signal. When you are debugging, you must avoid SIGUSR1 to prevent server processes from hanging.



Extending INFORMIX-Universal Server: User-Defined Routines, version 9.1
Copyright © 1998, Informix Software, Inc. All rights reserved.