QIO Configuration and Management Manual
Introduction to QIO
QIO Configuration and Management Manual—424717-008
1-3
Subsystem Architecture
You can configure QIO to create its shared segment in a system data area known
as Kseg2. This removes the QIO segment from the user data segment space
allowing more space for the heap and flat segment memory to grow.
You can configure QIO to create its memory segment space with a different starting
base address. This can allow more room for the process heap to grow.
You can change the size of the QIO shared memory segment to allow more room
for the heap and flat segment memory space to grow.
You can change individual processors to different configurations independently of
one another.
Subsystem Architecture
QIO runs on NonStop S-series servers and on Integrity NonStop NS-series servers.
The QIO subsystem consists of the following major components:
QIO Monitor (QIOMON) process. The QIOMON process is responsible for creating
the shared memory segment, monitoring the client processes that are using the
segment, and performing the functions needed to manage the segment.
Low-level LAN Driver Interrupt Handler (DIH). The DIH provides an interface to the
LAN adapter for all client processes that must write to or read from the LAN. The
driver is a set of procedures that client processes call to access the LAN. The
interrupt handler routes incoming packets to specific inbound queues for the
appropriate client processes. Client processes send and receive data by creating
queues and associating them with a particular DIH.
QIO library. The library is a set of procedures for QIO functions used by client
processes, the QIOMON process, and the DIH. Library procedures are used to
manage the shared memory segment and the interface between the client
processes and the DIH. The QIO library interface is an internal interface and is not
documented.
The QIO subsystem allocates the shared memory segment as a memory pool. The
memory pool is used by all QIO client processes for control structures, variable size
buffers that are not used for data transfers, and message buffers. The message buffers
are used by client processes to send and receive data.
The amount of memory is limited by the total amount of memory available in the
processor. You can further limit the memory used by specifying the maximum
percentage of processor memory that QIO can consume. By default, QIO resources
consume no more than 80 percent of the available memory in a processor or a
maximum of 512 megabytes (MB) for the memory pool.
The message buffers are referenced by a data structure called a message descriptor
(MD). The client processes use the MDs to split message buffers into messages for the
LAN. MDs and all message buffers are dynamically allocated based on usage and
demand.