List:Internals« Previous MessageNext Message »
From:Sinisa Milivojevic Date:December 19 2000 10:58am
Subject:Re: User level ASYNC IO
View as plain text  
Richard Ellerbrock wrote:

> 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
> 
> 
> ---------------------------------------------------------------------
> Please check "http://www.mysql.com/Manual_chapter/manual_toc.html" before
> posting. To request this thread, e-mail internals-thread230@stripped
> 
> To unsubscribe, send a message to the address shown in the
> List-Unsubscribe header of this message. If you cannot see it,
> e-mail internals-unsubscribe@stripped instead.
> 
> 
Hi!

A small addition to Tim's answer.

When we want to do something async, we put it in another thread. That 
way you get both async features plus better control.

-- 

Regards,

Sinisa

      ____  __     _____   _____  ___     ==  MySQL AB
     /*/\*\/\*\   /*/ \*\ /*/ \*\ |*|     Sinisa Milivojevic
    /*/ /*/ /*/   \*\_   |*|   |*||*|     mailto:sinisa@stripped
   /*/ /*/ /*/\*\/*/  \*\|*|   |*||*|     Larnaka, Cyprus
  /*/     /*/  /*/\*\_/*/ \*\_/*/ |*|____
  ^^^^^^^^^^^^/*/^^^^^^^^^^^\*\^^^^^^^^^^^
             /*/             \*\                Developers Team

Thread