aio_monitor_run_sec.5 (2010 09)
a
aio_monitor_run_sec(5) aio_monitor_run_sec(5)
(Tunable Kernel Parameters)
NAME
aio_monitor_run_sec - frequency of AIO thread pool monitor execution (in seconds)
VALUES
Failsafe
2
Default
30
Allowed values
1-60
Recommended values
1-60
DESCRIPTION
The implementation of POSIX AIO on HP-UX uses kernel threads to perform I/Os to filesystems that do
not directly support true asynchronous I/O. (This distinction is transparent to the user.) The kernel
threads are organized into worker-thread pools (called AIO thread pools) created on a per-process basis.
Since a thread pool mechanism for I/Os introduces a variety of trade-offs concerning utilization of CPU
time vs. I/O resources, four dynamic tunables are available to customize the behavior of this thread pool:
aio_proc_threads
, aio_proc_thread_pct, aio_req_per_thread
, and
aio_monitor_run_sec
. Please see individual manpages for details on each of these tunables.
The tunable
aio_monitor_run_sec
specifies how frequently a process’ AIO thread pool will be moni-
tored. Monitoring involves making decisions about growing or shrinking the AIO thread pool based on
the constraints specified by
aio_proc_threads
, aio_proc_thread_pct, and
aio_req_per_thread
.
Note that although the AIO thread pool can grow both on its own (as new I/Os are issued) or as a result of
the monitoring mechanism, the monitoring mechanism is the primary method by which the thread pool
can shrink. So this tunable effectively determines how quickly the AIO thread pool will adapt itself to a
given I/O load.
Who Is Expected to Change This Tunable?
System administrators that run applications requiring heavy usage of POSIX AIO to filesystems.
Restrictions on Changing
This tunable is dynamic. Changes to to this tunable take effect immediately for new processes started
after the change. They also impact existing processes, but the speed with which the changes propagate to
running processes is determined by the former value of
aio_monitor_run_sec
.
When Should the Value of This Tunable Be Raised?
aio_monitor_run_sec should be raised for applications that have steady I/O loads for which POSIX
AIO would rarely need to adapt. Another possibility is applications with bursty or periodic I/O loads, that
want POSIX AIO to maintain a larger thread pool through periods of decreased I/O activity (to be ready
for busier periods). This can be accomplished by increasing this tunable to reduce the frequency of AIO
monitor updates.
What Are the Side Effects of Raising the Value of This Tunable?
Increasing this tunable will reduce the speed with which the POSIX AIO thread pool mechanism adapts
itself to changing I/O loads. This could cause slightly reduced performance when applications first begin
to issue POSIX AIOs.
When Should the Value of This Tunable Be Lowered?
aio_monitor_run_sec should be lowered when applications want to increase the speed with which
the POSIX AIO thread pool adapts itself to I/O loads. This should generally maximize performance,
except in the case of bursty I/O loads, or I/O loads with periodic peaks, for which a slower adaptation may
be desirable.
What Are the Side Effects of Lowering the Value of This Tunable?
The POSIX AIO thread pool will adjust more quickly to changing I/O loads, so new threads will be
spawned more quickly for new I/Os, and threads will be killed more quickly as I/O loads decrease. Except
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1