Re: DBWR performance

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: Tue, 15 May 2012 12:35:42 +0000 (UTC)
Message-ID: <pan.2012.05.15.12.35.42_at_gmail.com>



On Sun, 13 May 2012 15:05:20 -0700, Noons wrote:

> General consensus seems to be those are useless. I guess few have ever
> made good use of them and why they are still available is a mistery. I
> suppose if one does not have any muti-path ability on the hardware/OS,
> then there might be a case to use them. Then again who doesn't, in this
> day and age?

They're still available because AIO implementation on Linux leaves much to be desired. One of the problems with Linux AIO is in the artificial intelligence approach that Linux has taken, which doesn't leave any possibility of the configuration. On other Unix variants, you can see and configure the kernel threads that do asynchronous I/O, not so on Linux. The DBWR slaves are simply emulating the kernel threads. Kernel threads are on Linux created dynamically. Basically, Linux record of handling high I/O rates is not very good. If you want a Unix box that will handle high I/O rates well, buy AIX.

The main problem with Linux AIO is excessive polling, which wastes CPU. Linux creators are aware of the fact, so they have created two Linux specific API's to alleviate the problem: epoll and io_submit. Oracle is using io_submit but it doesn't seem to address the problem completely.

Asynchronous IO is not a magic, in most implementations it is done by lightweight kernel threads on user behalf. DBWR slaves are simply an Oracle implementation of asynchronous I/O: instead of lightweight kernel threads, there are Oracle processes. If Linux version doesn't work well, try with Oracle's. Problem with Linux is, among other things, in the PC architecture which doesn't have a standard implementation of smart I/O channels. Mentioning the old ESCON channels would probably be rightfully considered rude in the Linux world. There is an I2O story, which is now defunct, but there is still no channel architecture on PC hardware, which makes PC I/O a lot slower than the I/O of the true minicomputer, like the ones offered by IBM or HP.

-- 
http://mgogala.byethost5.com
Received on Tue May 15 2012 - 07:35:42 CDT

Original text of this message