From: guy keren <choo@actcom.co.il>
To: Daniel Ehrenberg <dehrenberg@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Jens Axboe <axboe@kernel.dk>, Jeff Moyer <jmoyer@redhat.com>,
linux-kernel@vger.kernel.org, linux-aio@kvack.org
Subject: Re: Approaches to making io_submit not block
Date: Thu, 01 Sep 2011 02:48:06 +0300 [thread overview]
Message-ID: <1314834486.5738.572.camel@simey> (raw)
In-Reply-To: <CAAK6Zt1wHdm6tRW10zGS1eNQtE+29bv-8RxT99ZOMDNeRc0X_g@mail.gmail.com>
On Wed, 2011-08-31 at 16:16 -0700, Daniel Ehrenberg wrote:
> On Tue, Aug 30, 2011 at 11:04 PM, guy keren <choo@actcom.co.il> wrote:
> > On Tue, 2011-08-30 at 15:54 -0700, Andrew Morton wrote:
> >> On Tue, 30 Aug 2011 15:45:35 -0700
> >> Daniel Ehrenberg <dehrenberg@google.com> wrote:
> >>
> >> > >> Not quite sure, and after working on them and fixing thing up, I don't
> >> > >> even think they are that complex or intrusive (which I think otherwise
> >> > >> would've been the main objection). Andrew may know/remember.
> >> > >
> >> > > Boy, that was a long time ago. __I was always unhappy with the patches
> >> > > because of the amount of additional code/complexity they added.
> >> > >
> >> > > Then the great syslets/threadlets design session happened and it was
> >> > > expected that such a facility would make special async handling for AIO
> >> > > unnecessary. __Then syslets/threadlets didn't happen.
> >> >
> >> > Do you think we could accomplish the goals with less additional
> >> > code/complexity? It looks like the latest version of the patch set
> >> > wasn't so invasive.
> >> >
> >> > If syslets/threadlets aren't happening, should these patches be
> >> > reconsidered for inclusion in the kernel?
> >>
> >> I haven't seen any demand at all for the feature in many years. That
> >> doesn't mean that there _isn't_ any demand - perhaps everyone got
> >> exhausted.
> >
> > you should consider the emerging enterprise-grade SSD devices - which
> > can serve several tens of thousands of I/O requests per device actually
> > controller). These devices could be better utilized by better
> > interfaces. further more, in our company we had to resort to using
> > windows for IOPS benchmarking (using iometer) against storage systems
> > using these (and similar) devices, because it manages to generate higher
> > IOPS then linux can (i don't remember the exact numbers, but we are
> > talking about an order of several hundred thousands IOPS).
> >
> > It could be that we are currently an esoteric use-case - but the
> > high-end performance market seems to be stepping in that direction.
>
> I'm interested in SSD performance too. Could you tell me more about
> your use case? Were you using a file system or a raw block device? The
> patches we're discussing don't have any effect on a raw block device.
well, the use case i've discussed specifically was with raw devices -
not file systems.
for file systems info - i'll have to consult the people that were
running benchmarks at our work place.
> Do you have any particular ideas about a new interface? What does
> Windows provide that Linux lacks that's relevant here?
i don't know what exactly it provides that linux does not - basically,it
provides a similar asynchronous I/O API (using a mechanism they call
"completion ports") - it just seems that they have a faster
implementation (we compare execution on the same box, with 8GBps
fiber-channel connections, and when we are comparing IOPS - not
bandwidth nor latency. the storage device is the product that we
manufacture - which is based on DRAM for storage).
i can't tell you what's the specific part that causes the performance
differences - the AIO implementation, the multi-path driver or something
else.
internally inside the box, we had problems when attempting to recover
after a disconnection - back when we used iscsi as our internal
transport. we stopped using it - so this is not relevant for us - but
the phenomena we saw was that at certain times, when we had many (a few
tens) of AIO operations to perform at once - it could take several
seconds just to send them all (i'm not talking about completion). this
was when we used the POSIX API on top of linux's AIO implementation
(i.e. using librtkaio - not using the user-space implementation of
glibc).
> >
> >> If there is demand then that should be described and circulated, see
> >> how much interest there is in resurrecting the effort.
> >>
> >> And, of course, the patches should be dragged out and looked at - it's
> >> been a number of years now.
> >>
> >> Also, glibc has userspace for POSIX AIO. A successful kernel-based
> >> implementation would result in glibc migrating away from its current
> >> implementation. So we should work with the glibc developers on ensuring
> >> that the migration can happen.
> >
> > glibc's userspace implementation doesn't scale to fast devices. It could
> > make sense when working with slower disk devices - not when you're
> > working with solid-state storage devices.
> >
> > --guy
> >
> >
>
> Dan
--guy
next prev parent reply other threads:[~2011-08-31 23:43 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-29 17:33 Daniel Ehrenberg
2011-08-30 5:32 ` Christoph Hellwig
2011-08-30 21:51 ` Daniel Ehrenberg
2011-08-31 5:26 ` Christoph Hellwig
2011-08-31 17:08 ` Andi Kleen
2011-08-31 21:00 ` Daniel Ehrenberg
2011-08-31 21:15 ` Andi Kleen
2011-09-01 4:18 ` Dave Chinner
2011-09-01 4:39 ` Andi Kleen
2011-09-01 6:54 ` Dave Chinner
2011-09-02 13:08 ` Ted Ts'o
2011-09-02 13:10 ` Christoph Hellwig
2011-09-01 3:39 ` Dave Chinner
2011-09-01 4:20 ` Christoph Hellwig
2011-08-30 7:02 ` Andi Kleen
[not found] ` <CAAK6Zt0Sh1GdEOb-tNf2FGXJs=e1Jbcqew13R_GdTqrv6vW97w@mail.gmail.com>
[not found] ` <x49k49uk2ox.fsf@segfault.boston.devel.redhat.com>
[not found] ` <4E5D5817.6040704@kernel.dk>
2011-08-30 22:19 ` Daniel Ehrenberg
2011-08-30 22:32 ` Jens Axboe
2011-08-30 22:41 ` Andrew Morton
2011-08-30 22:45 ` Daniel Ehrenberg
2011-08-30 22:54 ` Andrew Morton
2011-08-30 23:03 ` Jeremy Allison
2011-08-30 23:11 ` Andrew Morton
2011-08-31 11:04 ` Ulrich Drepper
2011-08-31 16:59 ` Jeremy Allison
2011-09-01 11:14 ` Ulrich Drepper
2011-09-01 15:58 ` Jeremy Allison
2011-09-01 16:04 ` Christoph Hellwig
2011-09-01 16:15 ` Jeremy Allison
2011-09-01 16:23 ` Christoph Hellwig
2011-09-01 16:31 ` Jeremy Allison
2011-09-01 16:34 ` Christoph Hellwig
2011-09-01 16:34 ` Jeremy Allison
2011-09-01 16:45 ` Christoph Hellwig
2011-09-01 16:57 ` Jeremy Allison
2011-08-31 5:34 ` Christoph Hellwig
2011-08-31 6:04 ` guy keren
2011-08-31 23:16 ` Daniel Ehrenberg
2011-08-31 23:48 ` guy keren [this message]
2011-08-31 23:59 ` Daniel Ehrenberg
2011-08-31 15:45 ` Gleb Natapov
2011-08-31 16:02 ` Avi Kivity
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=1314834486.5738.572.camel@simey \
--to=choo@actcom.co.il \
--cc=akpm@linux-foundation.org \
--cc=axboe@kernel.dk \
--cc=dehrenberg@google.com \
--cc=jmoyer@redhat.com \
--cc=linux-aio@kvack.org \
--cc=linux-kernel@vger.kernel.org \
/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
all inboxes | Powered by JetHome®