Thread: Posix AIO in new Red Hat Linux

Posix AIO in new Red Hat Linux

From
Justin Clift
Date:
Hi everyone,

I just read the annoucement of the public beta for Red Hat Linux's new
server-oriented edition (code named Pensacola) :

https://listman.redhat.com/pipermail/redhat-watch-list/2002-February/000466.html

One of the things this mentions being included/tuned in its kernel is :
 POSIX AIO for disk access (database helper)

Does anyone know what this does, and if it's something we'll be able to
leverage (i.e. better performance, etc)?

Regards and best wishes,

Justin Clift

-- 
"My grandfather once told me that there are two kinds of people: those
who work and those who take the credit. He told me to try to be in the
first group; there was less competition there."  - Indira Gandhi


Re: Posix AIO in new Red Hat Linux

From
Greg Copeland
Date:
It doesn't really say, however, it makes me wonder if it's SGI's KAIO
(http://oss.sgi.com/projects/kaio/) effort which is reported to provide
up to 35% performance improvement for heavily I/O bound applications.

Again, I'm not sure it is SGI's effort that is being talked about here,
nonetheless, it seems like a likely candidate.  Code changes would be
required to support AIO within Postgres.  Here's a quote for the link
provided above:
 The asynchronous I/O (AIO) facility implements interfaces defined by
the POSIX standard, although it has not been through formal compliance
certification. This version of AIO is implemented with support from
kernel modifications, and hence will be called KAIO to distinguish it
from AIO facilities available from newer versions of glibc/librt.
Because of the kernel support, KAIO is able to perform split-phase I/O
to maximize  concurrency of I/O at the device. With split-phase I/O, the
initiating request (such as an aio_read) truly queues the I/O at the
device as the first phase of the I/O request; a second phase of the I/O
request, performed as part of the I/O completion, propagates results of
the request.  The results may include the contents of the I/O buffer on
a read, the number of bytes read or written, and any error status.

KAIO is also integrated to work well with Raw I/O, another feature
availabe with SGI Linux Environment 1.1 or as a patch from this web
site.

Preliminary experience with KAIO have shown  over  35% improvement in
database performance tests. Unit tests (which only perform I/O) using
KAIO and Raw I/O have been successful in achieving 93% saturation with
12 disks hung off 2  X 40 MB/s Ultra-Wide SCSI channels. We believe that
these encouraging results are a direct result of implementing  a
significant part of KAIO in the kernel using split-phase I/O while
avoiding or minimizing the use of any globally contented locks.


Enjoy,Greg



On Fri, 2002-03-29 at 23:29, Justin Clift wrote:
> Hi everyone,
>
> I just read the annoucement of the public beta for Red Hat Linux's new
> server-oriented edition (code named Pensacola) :
>
> https://listman.redhat.com/pipermail/redhat-watch-list/2002-February/000466.html
>
> One of the things this mentions being included/tuned in its kernel is :
>
>   POSIX AIO for disk access (database helper)
>
> Does anyone know what this does, and if it's something we'll be able to
> leverage (i.e. better performance, etc)?
>
> Regards and best wishes,
>
> Justin Clift
>
> --
> "My grandfather once told me that there are two kinds of people: those
> who work and those who take the credit. He told me to try to be in the
> first group; there was less competition there."
>    - Indira Gandhi
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html


Re: Posix AIO in new Red Hat Linux

From
nconway@klamath.dyndns.org (Neil Conway)
Date:
On Sat, Mar 30, 2002 at 09:59:11AM -0600, Greg Copeland wrote:
> It doesn't really say, however, it makes me wonder if it's SGI's KAIO
> (http://oss.sgi.com/projects/kaio/) effort which is reported to provide
> up to 35% performance improvement for heavily I/O bound applications.

I don't think it is. I think the RH announcement refers to their intent
to quickly stabilize some of the upcoming Linux 2.5 code and package it
separately for "enterprise" customers. If that's correct, the Linux 2.5
asynchronous I/O implementation will likely be Ben LaHaise's:
http://www.kvack.org/~blah/aio/

I agree with Greg -- it looks like it could definately improve Pg's
performance.

Cheers,

Neil

-- 
Neil Conway <neilconway@rogers.com>
PGP Key ID: DB3C29FC


Re: Posix AIO in new Red Hat Linux

From
Greg Copeland
Date:
Cool.  Thanks for the information.  The only other PAIO effort that I
knew of was the glibc user space effort...

Greg


On Sat, 2002-03-30 at 12:36, Neil Conway wrote:
> On Sat, Mar 30, 2002 at 09:59:11AM -0600, Greg Copeland wrote:
> > It doesn't really say, however, it makes me wonder if it's SGI's KAIO
> > (http://oss.sgi.com/projects/kaio/) effort which is reported to provide
> > up to 35% performance improvement for heavily I/O bound applications.
>
> I don't think it is. I think the RH announcement refers to their intent
> to quickly stabilize some of the upcoming Linux 2.5 code and package it
> separately for "enterprise" customers. If that's correct, the Linux 2.5
> asynchronous I/O implementation will likely be Ben LaHaise's:
> http://www.kvack.org/~blah/aio/
>
> I agree with Greg -- it looks like it could definately improve Pg's
> performance.
>
> Cheers,
>
> Neil
>
> --
> Neil Conway <neilconway@rogers.com>
> PGP Key ID: DB3C29FC
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org