Improving Application Performance

The definition of performance for an application has two general aspects: measurements of the resource usage of an application and measurements of the elapsed time of the application. Resource usage includes total processor time, average memory usage, and so on. Elapsed time means the total clock time a batch program takes to run, or the average time an online program takes to respond to a transaction.

If you find that the elapsed time of an application is of crucial importance to your business, you can use tasking features to help decrease the elapsed time by allowing the application to use system resources more intensively. The two features that allow you to do this are process priorities and parallel processing.

The system is designed to be able to execute large numbers of processes simultaneously. However, each central processor can execute only one process at a time. The operating system frequently reevaluates the processes waiting for processor service, and assigns the processor to the process with the highest priority. You can use task attributes and system commands to control some aspects of process priority, as discussed in Controlling Processor Usage.

Parallel processing consists of dividing your application into two or more processes that run concurrently. Parallel processing enables the application to use system resources more intensively than a single process can. This increased intensity of system resource usage results because each process typically alternates among using the central processor, I/O processor, and other resources. With parallel processes, one process can use the central processor while the other is waiting for an I/O to complete, and so on.

You can create parallel processes by designing one process to initiate another process of type PROCESS or type RUN. These process types are discussed in Understanding Interprocess Relationships.