mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lécharny <elecha...@gmail.com>
Subject Re: Interesting post about AIO
Date Sat, 02 Mar 2013 12:44:52 GMT
Le 3/2/13 1:23 PM, Jeff MAURY a écrit :
> On Sat, Mar 2, 2013 at 9:43 AM, Emmanuel Lécharny <elecharny@gmail.com>wrote:
>> Le 3/2/13 9:10 AM, Julien Vermillard a écrit :
>>> Hi,
>>> Agreeing with jeff, you can't complain of the lack of an accessor, when
>> you
>>> just voided the attachment ;)
>> Again, this is not the interesting part n this article...
>>> I really wonder what JDK guys have in mind with AIO, it's far of being a
>>> slick API, it doesn't support UDP (you need to mix AIO and NIO if you
>> want
>>> to support TCP and UDP) and I can't see how it could be a performance
>> gain ?
>> Java AIO implementation is supposed to benefit from OS taht has a
>> specific way to deal with AIO (through completion queues, like what is
>> done on Windows, some Linux versions and probably other OS).
> This is not yet done in the current implementation of the JDK. Maybe JDK8 ?

We have to check if JDK8 is any different.
>> This page is providing some information :
>> http://www.kegel.com/c10k.html#aio
>> Another very complete description :
>> http://stackoverflow.com/questions/4093185/whats-the-difference-between-epoll-poll-threadpool
>> Regarding AIO/ePoll on linux, an interesting paper :
>> https://docs.google.com/viewer?a=v&q=cache:CwPj9geCCTkJ:www.linuxsymposium.org/archives/OLS/Reprints-2002/lahaise-reprint.pdf+&hl=en&gl=fr&pid=bl&srcid=ADGEESj6bzG_kAkqH8KQGWL5Evt4yDbIEhrsaaNMD4eD7p-bhJHoAjjQeT3Ys8fXWY_dn88WY98kW0Hg2-sBIPrvFpBpniMrKK6wY07lY80x1ZT9tEX_TERnxwosL6WXjokFs_huSdX6&sig=AHIEtbRAgWiO-HR0BOjkxh3JcYetJpTXnA
>>> After few year of usage I start to think the whole java.nio and
>>> java.concurency are weirdly designed API.
>> That's probably why API like MINA are necessary :)
>>> Anyway we can't expect more performance for AIO since it's probably just
>> an
>>> API built on top of NIO.
>> Not so sure.
> It's not done on top of NIO but the current implementation (JDK7) does not
> use OS based NIO but does more or less what MINA NIO does

That's not exactly true.

If you look at OpenJDK 7 code, at least on Windows, AIO uses
CompletionPort (the WindowsAsynchronousChannelProvider class depends on
Iocp class).

On MacOSX, I'm not sure if it's not using a wrapper on top of NIO (seems

We can ignore Microsoft implementation, but MO, that would be a mistake...

Emmanuel Lécharny

View raw message