LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Go Back   LinuxQuestions.org > Forums > Other *NIX Forums > AIX
User Name
Password
AIX This forum is for the discussion of IBM AIX.
eserver and other IBM related questions are also on topic.

Notices


Reply
  Search this Thread
Old 04-10-2004, 12:54 AM   #1
cdotger
LQ Newbie
 
Registered: Apr 2004
Posts: 4

Rep: Reputation: 0
FastPath and AIO


Hello All,

We are running Sybase ASE on a P670 16 cpu 24 GB Ram. Our question is about disk access. It seems that Raw devices are accessed through fastpath and FS is accessed through AIO. All of our databases are on RAW Devices. We are not sure if fastpath is Asynchronous or not. Does anyone know the answer to this? Our gut tell us to disable fastpath and use AIO through the OS. Any help would be appreciated.


-Carl
 
Old 04-10-2004, 02:47 AM   #2
iainr
Member
 
Registered: Nov 2002
Location: England
Distribution: Ubuntu 9.04
Posts: 631

Rep: Reputation: 30
I don't know the answer, but I agree with your gut feeling. With AIX 5, the overhead offered by Raw devices over JFS2 is tiny, if it still exists at all. I know that Oracle/SAP have been recommending customers use LVM (i.e. FS and AIO) for some years, as the management benefits outweight the tiny performance hits.

If you do move over, remember that you can tune the number of aio servers on the fly. I think you get ten by default, but one of the manuals has good instructions on how and when to tune (probably one of the performance manuals or redbooks, but I don't remember).

I assume Fastpath is a Sybase utility as, by definition, raw lvs are accessed directly by the app without AIX getting involved. Maybe Sybase support can answer your question.
 
Old 04-10-2004, 12:52 PM   #3
cdotger
LQ Newbie
 
Registered: Apr 2004
Posts: 4

Original Poster
Rep: Reputation: 0
iainr thanks for the reply,

FastPath is the way that an app accesses disks without AIX getting involved. It is setup in smit in the aio section.... This is the entire basis for our question... Our gut is that if the app issues an io directly to the shark io subsystem how can it by async?

IBM has not been able to answer this question yet...

Last edited by cdotger; 04-10-2004 at 12:57 PM.
 
Old 04-11-2004, 04:04 AM   #4
iainr
Member
 
Registered: Nov 2002
Location: England
Distribution: Ubuntu 9.04
Posts: 631

Rep: Reputation: 30
The Oracle 9i docs has some information that you mind find useful

Quote:
AIX versions 4 and higher support asynchronous I/O (AIO) for database files created both on file system partitions and on raw devices. AIO on raw devices is implemented fully into the AIX kernel, and does not require server processes to service the AIO requests. When using AIO on file systems, the kernel server processes (kproc) control each request from the time a request is taken off the queue until it completes. The kernel server processes are also used with I/O with virtual shared disks (VSDs) and HSDs with FastPath disabled. By default, FastPath is enabled. The number of kproc servers determines the number of AIO requests that can be executed in the system concurrently, so it is important to tune the number of kproc processes when using filesystems to store Oracle9i datafiles.
http://www.mamiyami.com/doc/oracle9i...7/appa_aix.htm

From this it sounds like the AIX kernel is managing the Async I/O, so although you bypass the LVM you still get this from the kernel.
 
Old 04-11-2004, 08:04 AM   #5
cdotger
LQ Newbie
 
Registered: Apr 2004
Posts: 4

Original Poster
Rep: Reputation: 0
iainr,

We actually did see the same doc. The part we do not follow is that the entire point of fastpath is to bypass the kernel. and send the requests directly to the shark.. (from our understanding).. Oracle is a bit different from sybase as sybase manages all connections internal.

I just can;t believe that IBM cannot answer this simple quesion.
 
Old 04-11-2004, 12:52 PM   #6
iainr
Member
 
Registered: Nov 2002
Location: England
Distribution: Ubuntu 9.04
Posts: 631

Rep: Reputation: 30
There are lots of "simple" questions IBM can't easily answer - I could write an essay on it! Basically IBMs first support line are often not that technical - they look at IBM's worldwide database of problems (RETAIN) to find a solution. If it isn't on RETAIN, they can look at the same manuals we can. Only if that doesn't come up with a solution do they pass it onto the real techies behind the scenes.

I don't think that fastpath bypasses the kernel, only the LVM. Bypassing the kernel would suggest that Fastpath/sybase somehow maintains its own fibre adapter and ESS device drivers which I am certain is not the case.
 
Old 04-11-2004, 04:18 PM   #7
cdotger
LQ Newbie
 
Registered: Apr 2004
Posts: 4

Original Poster
Rep: Reputation: 0
iainr,

We agree.... FastPath disk access has to use the kernal aio.... But we are waiting for IBM to confirm. We think out larger issue may be the "Maximum number of requests" setting... Sybase is set for 65535 and aix is set for 4096. So in theory AIX is throttling the db. We want to raise to match the db 65535. We are just going to double check with IBM that this setting applies to both kernal and kproc aio. Again, Thanks for you help.

-Carl
 
Old 04-23-2004, 03:56 AM   #8
dickd
LQ Newbie
 
Registered: Apr 2004
Location: Davis, CA
Posts: 6

Rep: Reputation: 0
Sybase and aio

Sybase is "write order dependent" ... file writes have to be flushed to disk in order, or you can corrupt your database (if the system crashes).

This is the reason for AIO; when Sybase gets confirmation a write is complete, the data is physically on disk.

In early versions of AIX, the asynchronous nature of AIO was implemented with aio daemons, who issue blocking read/write calls on behalf of the caller, and use a cross memory modification of the aiocb to indicate I/O is complete.

All of this was implemented prior to modern advances in unix:
- Sybase implemented their own user level threading code,
before there was a pthreads. Multiple concurrent threads are only possible if no kernel blocking calls are issued. pthreads now make this kind of heroic programming obsolete, especially with the introduction of hardware multithreading.

- Direct asynchronous IO calls were added to the filesystem API's, which now allow much more flexible filesystem space management and still achieve the goals of write-ordering that Sybase was looking for.

What about fast-path?

IBM added "fastpath" interfaces to AIO for raw devices. The kernel can perform the non-blocking read/write calls without any cross process synchronization overhead of AIO daemons. IBM considered too difficult to provide the same interface to filesystems, due to the complexity of space management.

By disabling fastpath in the AIO device driver, it means you revert to the old style AIO daemons, even when they are unnecessary for raw devices.

Summary: Use raw devices with Sybase and enable fastpath.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Dell AIO 922 Jakbrud Linux - Hardware 1 12-15-2006 09:40 AM
G3 AIO video out scheidel21 Linux - Hardware 0 10-28-2005 02:18 AM
Dell AIO 920 tamoneya Linux From Scratch 2 01-13-2005 09:03 PM
Having problems with Kernel AIO with ASE Andrastus Linux - Enterprise 3 12-15-2004 07:53 AM
kernel and posix AIO suman_bahuguna Red Hat 0 04-01-2004 11:27 PM

LinuxQuestions.org > Forums > Other *NIX Forums > AIX

All times are GMT -5. The time now is 12:46 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration