aio_proc_thread_pct(5) aio_proc_thread_pct(5)
Tunable Kernel Parameters
NAME [Toc] [Back]
aio_proc_thread_pct - percentage of all process threads allowed in AIO
pool
VALUES [Toc] [Back]
Failsafe
50
Default [Toc] [Back]
70
Allowed values [Toc] [Back]
10-100
Recommended values [Toc] [Back]
10-90
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_proc_thread_pct specifies, on a per-process basis, the
percentage of threads that can be used by the POSIX AIO system as
kernel threads for issuing I/Os. The percentage is taken as a
percentage of max_thread_proc, which is the upper bound on the number
of threads a process may have.
This tunable interacts with aio_proc_threads in the following way: the
maximum number of threads used for AIO will be the smaller of the two
values defined by the two tunables; i.e.:
MIN (aio_proc_threads, aio_proc_thread_pct * max_thread_proc)
This allows the number of AIO threads to vary dynamically with
max_thread_proc, but to always be bound by an absolute limit of
aio_proc_threads.
Who Is Expected to Change This Tunable?
System administrators that run applications requiring heavy usage of
POSIX AIO to filesystems.
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: Sep 2004
aio_proc_thread_pct(5) aio_proc_thread_pct(5)
Tunable Kernel Parameters
Restrictions on Changing [Toc] [Back]
This tunables 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 tunable
aio_monitor_run_sec.
When Should the Value of This Tunable Be Raised?
aio_proc_thread_pct should be raised for applications that do not use
very many threads for their own work, but desire high performance from
the POSIX AIO subsystem.
What Are the Side Effects of Raising the Value of This Tunable?
Some applications that use POSIX AIO but also require a large number
of threads may find that they are unable to create new threads,
because the POSIX AIO thread pool ends up using too many of a process'
allowable threads.
In addition, using a larger number of kernel threads might lead to
increased CPU utilization.
When Should the Value of This Tunable Be Lowered?
aio_proc_thread_pct should be lowered when POSIX AIO performance is
acceptable but applications using POSIX AIO are seeing errors when
trying to create new threads for other work.
What Are the Side Effects of Lowering the Value of This Tunable?
By ultimately reducing the number of threads available to handle POSIX
AIO requests, overall I/O throughput of the POSIX AIO subsystem could
be reduced.
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. This allows
a hard limit to be imposed, regardless of what value max_thread_proc
happens to take.
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.
aio_monitor_run_sec defines how often (in seconds) the AIO thread
mechanism will monitor itself for adherence to the constraints defined
by the tunables above.
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,
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: Sep 2004
aio_proc_thread_pct(5) aio_proc_thread_pct(5)
Tunable Kernel Parameters
some tunable parameters may no longer be at the default or recommended
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_proc_thread_pct was developed by HP.
SEE ALSO [Toc] [Back]
kctune(1M), sam(1M), gettune(2), settune(2), aio_proc_threads(5),
aio_req_per_thread(5), aio_monitor_run_sec(5).
Hewlett-Packard Company - 3 - HP-UX 11i Version 2: Sep 2004 [ Back ] |