Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Synchronous writes & TEMP
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 30GBReceived on Mon May 17 2004 - 12:18:38 CDT
![]() |
![]() |