Solved

DIO  vs CIO  in AIX

Posted on 2014-01-16
4
1,168 Views
Last Modified: 2014-01-16
what is the real difference between

DIO  vs CIO  in AIX

in all releases 5,6 and 7?
which one is superior? and will give better results and must have?
all in the context of Oracle..

thanks
0
Comment
Question by:it-rex
  • 2
  • 2
4 Comments
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39786720
Direct I/O is a non-caching policy.  File data is transferred directly to/from the disk from/to the application  without going through the VMM file cache.

Because Oracle implements data caching at application level it does not need the filesystem cache.

Concurrent I/O incorporates DIO.
Additionally, CIO bypasses the filesystem's inode locking mechanism. This mechanism is meant to serialize I/O, but Oracle has its own I/O serialization mechanisms for datafiles/redologs/controlfiles to ensure data integrity, so the filesystem's service is not needed in that aspect.
Please don't use CIO for other than the above mentioned types of files!

CIO and DIO are implemented exactly the same way in AIX 5, 6 and 7.

I already explained AIO in our other thread (just in case someone would hit on the idea that I could have forgotten to mention it).

AIO disconnects all I/O processing from application processing (where possible)
0
 
LVL 11

Author Comment

by:it-rex
ID: 39786919
So CIO has what DIO has ,plus more functionality..?
correct?

Now how is CIO works in Linux ..CIO and DIO with oracle and linux?
0
 
LVL 68

Accepted Solution

by:
woolmilkporc earned 500 total points
ID: 39787062
Yes, AIX CIO is AIX DIO plus inode lock bypassing.

DIO under Linux is just the same as under AIX. The Oracle parameter FILESYSTEMIO_OPTIONS is present under Linux as well, with the same functionality as under AIX.

As far as I know there is no native concurrent I/O (CIO) capability built into Linux. Third party filesystems like Veritas FS (VxFS) or GPFS etc. can provide this feature, I think.

AIO exists under Linux as well. As opposed to AIX where AIO is fully implemented as a kernel extension only a few functions are part of the kernel under Linux , many functions are implemented in user space so a library "libaio" is required to provide them.

Linux AIO requires  DIO support thus it works only on filesystems mounted with the dio option.

There is a configuration parameter /proc/sys/fs/aio-max-nr which is the upper limit "of the running total of the number of events specified on the io_setup system call for all currently active aio contexts" (quote from linux.org).

As under AIX the application has to use the proper functions to perform asynchronous I/O.
The FILESYSTEMIO_OPTIONS parameter enables this for Oracle under Linux if set to "setall".
0
 
LVL 11

Author Closing Comment

by:it-rex
ID: 39787203
Great thanks
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hello fellow BSD lovers, I've created a patch process for patching openjdk6 for BSD (FreeBSD specifically), although I tried to keep all BSD versions in mind when creating my patch. Welcome to OpenJDK6 on BSD First let me start with a little …
Using libpcap/Jpcap to capture and send packets on Solaris version (10/11) Library used: 1.      Libpcap (http://www.tcpdump.org) Version 1.2 2.      Jpcap(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/index.html) Version 0.6 Prerequisite: 1.      GCC …
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now