Re: Posix AIO in new Red Hat Linux

From: Greg Copeland <greg(at)CopelandConsulting(dot)Net>
To: Justin Clift <justin(at)postgresql(dot)org>
Cc: PostgreSQL Hackers Mailing List <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Posix AIO in new Red Hat Linux
Date: 2002-03-30 15:59:11
Message-ID: 1017503952.10497.6.camel@mouse.copelandconsulting.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2002-03-30 17:59:03 Re: timeout implementation issues
Previous Message Rod Taylor 2002-03-30 15:34:31 Re: Data integrity and sanity check