[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]

Performance Management Guide

System Dynamics

It is not enough to create the most efficient possible individual programs. In many cases, the actual programs being run were created outside of the control of the person who is responsible for meeting the organization's performance objectives. Further, most of the levels of the hierarchy described in Program Execution Dynamics are managed by one or more parts of the operating system. In any case, after the application programs have been acquired, or implemented as efficiently as possible, further improvement in the overall performance of the system becomes a matter of system tuning. The main components that are subject to system-level tuning are:

Communications I/O
Depending on the type of workload and the type of communications link, it might be necessary to tune one or more of the communications device drivers, TCP/IP, or NFS.

Fixed Disk
The Logical Volume Manager (LVM) controls the placement of file systems and paging spaces on the disk, which can significantly affect the amount of seek latency the system experiences. The disk device drivers control the order in which I/O requests are acted on.

Real Memory
The Virtual Memory Manager (VMM) controls the pool of free real-memory frames and determines when and from whom to steal frames to replenish the pool.

Running Thread
The scheduler determines which dispatchable entity should next receive control. In AIX Version 4, the dispatchable entity changes from a process to a thread. See Thread Support.

Classes of Workload

Workloads tend to fall naturally into a small number of classes. The types listed below are sometimes used to categorize systems. However, because a single system is often called upon to process multiple classes, workload seems more apt in the context of performance.

A workload that consists of a number of users submitting work through individual terminals. Typically, the performance objectives of such a workload are either to maximize system throughput while preserving a specified worst-case response time or to obtain the best possible response time for a fairly constant workload.

A workload that consists of requests from other systems. For example, a file-server workload is mostly disk read/write requests. In essence, it is the disk-I/O component of a multiuser workload (plus NFS or other I/O activity), so the same objective of maximum throughput within a given response-time limit applies. Other server workloads consist of compute-intensive programs, database transactions, printer jobs, and so on.

A workload that consists of a single user submitting work through the native keyboard and receiving results on the native display of the system. Typically, the highest-priority performance objective of such a workload is minimum response time to the user's requests.

When a single system is processing workloads of more than one type, a clear understanding must exist between the users and the performance analyst as to the relative priorities of the possibly conflicting performance objectives of the different workloads.

[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]