List:Internals« Previous MessageNext Message »
From:Richard Ellerbrock Date:December 18 2000 3:32pm
Subject:User level ASYNC IO
View as plain text  
Please don't flame me, as I am asking this question totally ignorant. I just happened to
stumble on this.

I have an implementation question concerning user level async IO. Is MySQL capable of
using user level async IO as defined by the POSIX standard? Reading the Redhat Oracle
performance FAQ, this is hinted at. User level async IO is available in the RedHat
Extended Edition Kernel (2.2.16). This kernel also supports Large File Support and Big
memory.

***cut from the FAQ***

How is an application tuned to use user level asynch i/o? 

                        The POSIX-standard aio() asynchronous I/O library allows processes
                        to proceed with the next operation without having to wait after
issuing a
                        write. This results in improved system performance by minimizing
idle
                        time. These routines are built into the current version of the C
library.
                        This library opens I/O and descriptors to almost any sort of
device
                        (files, network sockets, raw devices, etc) and submit asynchronous
I/O
                        requests to the library.  The requests are serviced independently
by a
                        set of threads.    To understand how to change your application to
take
                        advantage of this features, please refer to url: 
                        http://www.opengroup.org/publications/catalog/web.htm and search
for
                        the 'Single UNIX Specification, Version 2'.   The aio functions
are
                        documented under the "System Interfaces" link. 

The faq is at http://www.redhat.com/devnet/database/oraclefaq.html. User level async IO
has been discussed on Slashdot as being one of the key elements of the spectacular
SpecWeb stats obtained with the kernel based httpd daemons.

You can find the EE kernels in the ./redhat/updates/6.2EE/ directory of your favourite
RedHat mirror.



--
Richard Ellerbrock
richarde@stripped

Thread
User level ASYNC IORichard Ellerbrock18 Dec