*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->HP-UX 11i man pages -> aio_req_per_thread (5)              


 aio_req_per_thread(5)                                 aio_req_per_thread(5)
                          Tunable Kernel Parameters

 NAME    [Toc]    [Back]
      aio_req_per_thread - desirable ratio between number of pending AIO
      requests and servicing threads

 VALUES    [Toc]    [Back]

    Default    [Toc]    [Back]

    Allowed values    [Toc]    [Back]

    Recommended values    [Toc]    [Back]

 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_req_per_thread specifies, on a per-process basis, the
      desirable ratio between the number of pending POSIX AIO requests and
      the number of threads in the AIO thread pool.

      The number of threads in the AIO thread pool is bounded by the
      tunables aio_proc_thread_ptct and aio_proc_threads, but the
      aio_req_per_thread tunable determines how the AIO thread pool behaves
      within that bound.  aio_req_per_thread determines how much the AIO
      thread pool grows as the number of outstanding AIO requests grows, by
      defining how many I/Os each thread will be responsible for.

    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 tunable

 Hewlett-Packard Company            - 1 -      HP-UX 11i Version 2: Sep 2004

 aio_req_per_thread(5)                                 aio_req_per_thread(5)
                          Tunable Kernel Parameters

    When Should the Value of This Tunable Be Raised?
      aio_req_per_thread should be raised for applications that want to
      limit the number of threads used by the POSIX AIO subsystem.
      Applications would want to do this to either free up more process
      threads for other work, or to limit the level of concurrency inside
      POSIX AIO, perhaps to reduce load on physically limited I/O devices.

    What Are the Side Effects of Raising the Value of This Tunable?
      By allowing less threads for POSIX AIO requests, concurrency is
      reduced and AIO I/O requests will have to wait longer for servicing.
      This can result in increased latency and reduced POSIX AIO performance
      on systems whose I/O stack could otherwise handle heavier loads.  On
      the other hand, less threads per request can result in less context
      switching, reducing the CPU utilization of POSIX AIO.

    When Should the Value of This Tunable Be Lowered?
      aio_req_per_thread should be lowered when applications want to
      maximize the concurrency and performance of POSIX AIO requests.  This
      should be done when an application does not need a large number of
      threads for other work.

    What Are the Side Effects of Lowering the Value of This Tunable?
      Lowering this tunable results in more threads being used by POSIX AIO
      to handle I/O requests, which could increase CPU usage and use up
      threads that applications might need for other work.  On the other
      hand, POSIX AIO performance should increase.

    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_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,
      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

 Hewlett-Packard Company            - 2 -      HP-UX 11i Version 2: Sep 2004

 aio_req_per_thread(5)                                 aio_req_per_thread(5)
                          Tunable Kernel Parameters

      installed. For information about optional kernel software that was
      factory installed on your system, see HP-UX Release Notes at

 AUTHOR    [Toc]    [Back]
      aio_req_per_thread 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_monitor_run_sec(5).

 Hewlett-Packard Company            - 3 -      HP-UX 11i Version 2: Sep 2004
[ Back ]
 Similar pages
Name OS Title
aio_cancel Tru64 Cancels one or more asynchronous I/O requests pending against the specified file descriptor (P1003.1...
pthread_testcancel Tru64 Requests delivery of a pending cancellation request to the calling thread
nkthread HP-UX limits the number of threads allowed to run simultaneously
aio_proc_threads HP-UX maximum number of process threads allowed in AIO pool
max_thread_proc HP-UX defines the maximum number of concurrent threads allowed per process.
keepaspect IRIX specifies the aspect ratio of a graphics window
sigpending NetBSD get pending signals
sigpending FreeBSD get pending signals
sigpending OpenBSD get pending signals
sigpending HP-UX examine pending signals
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service