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: Async I/O

Re: Async I/O

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Tue, 23 Mar 1999 19:45:08 -0000
Message-ID: <922218396.8453.0.nnrp-10.9e984b29@news.demon.co.uk>


This is not the way ASYNC I/O works (at least on the platforms I work with).

Under Async I/O the DBWR will dispatch a load of writes to the async I/O device, and then starting polling in every few csec to see if the device has finished writing all the blocks in the batch.

DBWR will NOT return with a 'write complete' until the Async device claims to have written them. There is no risk to data integrity.

The potential performance gain is that DBWR can carry on writing blocks to the async driver, and the async driver can (by re-ordering the real writes at its convenience) improve throughput.

Async I/O costs CPU and memory (the async buffer), and improves the average speed of small batches of writes by changing the nature of the device queuing. In a write-intensive environment, async I/O is all cost and no gain.

--

Jonathan Lewis
Yet another Oracle-related web site: www.jlcomp.demon.co.uk

Stephane Faroult wrote in message <36F720E7.45BD_at_oriolecorp.com>...
>The problem of async I/O is a data integrity problem. The purpose of a
>RDBMS is to ensure that any committed transaction has indeed being
>written to disk - this is the purpose of the log writer. Basically, when
>you say 'commit', then the log writer writes the log buffer to the redo
>log file, and when it is safely written on disk you get a 'committed'
>acknowledgement. If you use async I/O it just means that you send a
>write command, and anticipate a successful return.
Received on Tue Mar 23 1999 - 13:45:08 CST

Original text of this message

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