From: Kenny Simpson <theonetruekenny@yahoo.com>
To: Phillip Susi <psusi@cfl.rr.com>
Cc: David Lloyd <dmlloyd@tds.net>,
linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: Is user-space AIO dead?
Date: Wed, 11 Jan 2006 14:02:31 -0800 (PST) [thread overview]
Message-ID: <20060111220231.27064.qmail@web34106.mail.mud.yahoo.com> (raw)
In-Reply-To: <43C56B08.2000908@cfl.rr.com>
--- Phillip Susi <psusi@cfl.rr.com> wrote:
> I actually hacked up dd to use async IO ( via io_submit ) in conjunction
> with O_DIRECT and it did noticeably improve ( ~10% ish ) both throughput
> and cpu utilization. I have an OO.o spreadsheet showing the results of
> some simple benchmarking with various parameters I did at home, which I
> will post later this evening.
>
> Of course, dd is a simplistic case of sequential IO. If you have
> something like a big database that needs to concurrently handle dozens
> or hundreds of random IO requests at once, O_DIRECT async IO is
> definitely going to be a clear winner.
The part I am writing looks like a transaction log writer:
Lots of sequential small-ish writes (call each quanta a transaction)
Must be written to stable storage
Must know when the writes are completed
The data is only read back for recovery processing
In the past, the way I found to have worked best is to have a dedicated thread pulling
transactions off a queue and doing the blocking syncronous writes either by write(v)/fsync or
write(v) on a file opened with O_SYNC | O_DIRECT. Once the fsync returned, the thread would
signal completion and grab the next batch to start writing.
This works very well and can easily max out any real device's bandwidth, but incurs more latency
than should be absolutely needed due to the extra context switching from the completion
signalling.
I am hoping AIO can be used to reduce the latency, but was a bit discouraged after reading the
IBM paper.
I am looking forward to your post reguarding dd.
thanks,
-Kenny
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
next prev parent reply other threads:[~2006-01-11 22:02 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-11 18:12 Kenny Simpson
2006-01-11 18:20 ` Marcin Dalecki
2006-01-11 18:23 ` David Lloyd
2006-01-11 18:45 ` Kenny Simpson
2006-01-11 19:10 ` David Lloyd
2006-01-11 19:20 ` Kenny Simpson
2006-01-11 20:31 ` Phillip Susi
2006-01-11 22:02 ` Kenny Simpson [this message]
2006-01-12 3:50 ` Phillip Susi
2006-01-12 4:14 ` Phillip Susi
2006-01-11 18:41 ` Benjamin LaHaise
2006-01-11 18:54 ` Kenny Simpson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060111220231.27064.qmail@web34106.mail.mud.yahoo.com \
--to=theonetruekenny@yahoo.com \
--cc=dmlloyd@tds.net \
--cc=linux-kernel@vger.kernel.org \
--cc=psusi@cfl.rr.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome