Running OpenEdge on an AIX system configured for Concurrent I/O (CIO) has not been certified, since we certify the O/S and not the underlying hardware.
CIO is an operating system feature that is available in modern versions of AIX (JFS2 file systems). It is built into the AIX software and can be specified for a file either through the mount command (mount -o cio) or via the open() system call with O_CIO as the OFlag parameter. It enables improved I/O efficiency and concurrency for databases stored in the filesystem. Concurrent IO works by eliminating certain filesystem provided locking protocols that are also performed by the database management system in its buffer pool. The two locking protocols are redundant. CIO eliminates the one provided by the O/S and this allows for multiple I/O operations to take place at the same time.
The OpenEdge database will work with CIO, since this can be configured at the OS level and since the OpenEdge code uses standard OS calls to open and write to files, the type of I/O is transparent to the code and should not cause any problems.
1. Write performance to data extents can be a bit better because of the increased write concurrency CIO allows. Most writing should be being done by pagewriters, which implies the necessity for an ENTERPRISE database license in use.
2. You will need more pagewriters with CIO because writes to data extents will be synchronous and not written to the filesystem cache. Thus pwrite() system calls will take longer than just copying the data to the filesystem cache (which is what normally happens).
3. Read performance may be lower because nothing is buffered in the fileystem cache, only in the database's buffer pool. So you probably have to make the buffer pool larger and the filesystem cache smaller. Then again Read performance can be greatly improved by making use of the alternate buffer pool (-B2) for static data for example (since OE 10.2B+)
4. When CIO is in effect, the fdatasync() calls which occur at checkpoint end should need to do nothing. This means checkpoint end processing will be slightly faster /if there are no buffers to flush/!
5. Concurrent IO should only be used with filesystems containing databases. It is not a general purpose use and it will confuse some kinds of software that do not enforce data consistency and data integrity.
From the foregoing, it is hard to tell whether CIO will improve overall performance or not. Moreover, while we believe that running with CIO should not cause any problems, (since cio can be configured at the OS level, and since the OpenEdge code uses standard OS calls to open and write to files, the type of I/O is transparent to the code and should not cause any problems while it is known to give performance improvement by removing yet another buffer between shared-memory and the disk subsystem) without running a standard certification process using CIO, we cannot be absolutely sure. These would need to be verified by for example using the ATM Benchmark from https://community.progress.com/technicalusers/w/openedgegeneral/1195.atm-benchmark-tool.aspx
to form an independent comparison and of course your particular application test environment.