aio_monitor_run_sec(5) aio_monitor_run_sec(5)
Tunable Kernel Parameters
NAME [Toc] [Back]
aio_monitor_run_sec - frequency of AIO thread pool monitor execution
(in seconds)
VALUES [Toc] [Back]
Failsafe
2
Default [Toc] [Back]
30
Allowed values [Toc] [Back]
1-60
Recommended values [Toc] [Back]
1-60
DESCRIPTION [Toc] [Back]
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(5), aio_proc_thread_pct(5), aio_req_per_thread(5),
and aio_monitor_run_sec(5). 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 monitored. 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 [Toc] [Back]
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
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: Sep 2004
aio_monitor_run_sec(5) aio_monitor_run_sec(5)
Tunable Kernel Parameters
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 for
bursty or periodic I/O loads, this should maximize performance.
What Other Tunables Should Be Changed at the Same Time as This One?
aio_proc_threads interacts with this tunable by setting a strict limit
on the number of threads that can be used for POSIX AIO.
aio_proc_thread_pct interacts with this tunable by setting a limit on
the number of threads that can be used for POSIX_AIO, but does so
based on a percentage of the maximum number of allowable process
threads. This allows the AIO thread pools to respond dynamically to
changes in max_thread_proc.
aio_req_per_thread defines the desired relationship between the number
of POSIX AIO kernel threads and the number of I/Os to be serviced.
WARNINGS [Toc] [Back]
All HP-UX kernel tunable parameters are release specific. This
parameter may be removed or have its meaning changed in future
releases of HP-UX.
Installation of optional kernel software, from HP or other vendors,
may cause changes to tunable parameter values. After installation,
some tunable parameters may no longer be at the default or recommended
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: Sep 2004
aio_monitor_run_sec(5) aio_monitor_run_sec(5)
Tunable Kernel Parameters
values. For information about the effects of installation on tunable
values, consult the documentation for the kernel software being
installed. For information about optional kernel software that was
factory installed on your system, see HP-UX Release Notes at
http://docs.hp.com.
AUTHOR [Toc] [Back]
aio_monitor_run_sec was developed by HP.
SEE ALSO [Toc] [Back]
kctune(1M), sam(1M), gettune(2), settune(2), aio_proc_threads(5),
aio_proc_thread_pct(5), aio_req_per_thread(5).
Hewlett-Packard Company - 3 - HP-UX 11i Version 2: Sep 2004 [ Back ] |