Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: ASYNCH I/O

Re: ASYNCH I/O

From: <markp7832_at_my-deja.com>
Date: Wed, 07 Jul 1999 13:57:44 GMT
Message-ID: <7lvmch$d9f$1@nnrp1.deja.com>


Small disagreement with some minor points: 1) On some platforms, like Pyramid, Oracle can detect if Async I/O is available and will automatically use it. On most platforms to use Async I/O your database files must be raw partitions. 2) I do not think that the Async I/O is setting a jump. Different Unix OS's use different routines to make async calls but both Pyramid and Sequent appear to pass the address of a switch or indicator field. When the OS is done it updates this field and it is the issuing programs responsibility to check on the status of the I/O.

In article <7lq791$7bk$2_at_m2.c2.telstra-mm.net.au>,   "Nuno Souto" <nsouto_at_nsw.bigpond.net.au> wrote:
> Doug, in standard UNIX there is no such thing as an Asynch I/O.
> The process always waits for the I/O to be completed before control
> is returned to the process by the OS. This is regardless of the OS
> actually using a cache or not to speed up this process.
>
> Asynch I/O is an option added on to some UNIX versions to allow a
process to
> hook
> a jump for when the OS has finished the I/O. The process can continue
> executing and the jump is taken when the OS has finished the I/O, be
it
> cached or not.
>
> Note that I'm separating the OS use of a cache from the OS reaction
to a
> I/O request. Using a cache is internal to the OS and should be/is
transparent
> to the user processes, unless the user process has elected to know
about it.
>
> Now, of course there are back doors...
>
> In some versions of UNIX, Asynchronous I/O is a separate option that
needs
> to be configured. Of course, ORACLE doesn't know if this has been
configured
> or not. In such cases, you have the option of telling ORACLE to use
the Asynch
> I/O system calls instead of the standard I/O, so that it can take
advantage of
> the
> thing if it's there.
>
> In a nutshell, that's what it all means. There are slight detail
variations
> here and there,
> depending on the OS, file system and the particular versions thereof.
>
> Some OS versions will do the Asynch I/O using its own background
processes.
> Others will not. It all depends.
>
> Bottom line is: if you are fairly sure that the OS you're using has
Asynch I/O
> activated AND configured, then you turn on Asynch I/O in ORACLE and
forget
> the multiple db-writers. But you GOTTA be fairly sure that all of
that is true,
> otherwise
> the OS will channel Asynch I/O calls from ORACLE into standard I/O
and not tell
> you
> about it, with obvious consequences to performance...
>
> HTH
>
> --
> Cheers
> Nuno Souto
> nsouto_at_nsw.bigpond.net.au.nospam
> Is there a nospam domain?
> http://www.users.bigpond.net.au/the_Den
> Doug Cowles <dcowles_at_bigfoot.com> wrote in message
> news:377FA9F6.5844956E_at_bigfoot.com...
> > Ran across a statment that multiple database writters are useless
if you
> > are using
> > Asynch I/O. Does this statement apply to OS Asynch I/O, or the
Oracle
> > simulated
> > Asynch I/O created with USE_ASYNCH_IO = true, or is it true at all?
> >etc.
>
>

--
Mark D. Powell -- The only advice that counts is the advice that  you follow so follow your own advice --

Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't. Received on Wed Jul 07 1999 - 08:57:44 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US