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: Synchronous writes & TEMP

Re: Synchronous writes & TEMP

From: <ctcgag_at_hotmail.com>
Date: 17 May 2004 17:18:38 GMT
Message-ID: <20040517131838.729$aL@newsreader.com>


Frank van Bortel <fvanbortel_at_netscape.net> wrote:
>
> Yeah - you've been pounding on that enough by now.
> Start reading the thread.
>
> Why should it not, when it *has to wait*?
> I'll repeat that: when it (the process) has to wait
> (for the writing to complete).

Because it doesn't have to wait for the writing to complete.

As I understand it:

synchronous write:
Write this chunk of my memory to disk, wake me up when you are done.

asynchronous write:
Write this chunk of my memory to disk, let me know when you are done, I'll be doing other things. (I promise not to touch that part of memory in the mean time).

"nonsynchronous" write:
copy this chunk of my memory to somewhere else, wake me up when you are done with that, then write your copy to disk at your leisure.

The obvious question is how is nonsynchronous write a benefit? Afterall, it doesn't free any "real" memory until after the write to disk happens, and the only reason to use temp space in the first place is to free real memory. The answer to that is (I think) the user processes have a very tenuous grasp on the status of system memory, and therefore have to be much more conservative about it to avoid over-burdening the system. The kernel, is much more knowledgable and thus can play faster and looser. So by using "nonsynchronous" writes to move the responsibility from the user process to the kernel, you maximize overall throughput.

Xho

-- 
-------------------- http://NewsReader.Com/ --------------------
Usenet Newsgroup Service                        $9.95/Month 30GB
Received on Mon May 17 2004 - 12:18:38 CDT

Original text of this message

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