38 messages in ru.sysoev.nginxRe: Nginx - Google Summer of Code ideas
FromSent OnAttachments
C.Mar 10, 2009 4:50 am 
mikeMar 10, 2009 11:00 am 
mikeMar 10, 2009 11:15 am 
C.Mar 10, 2009 11:54 am 
Valery KholodkovMar 10, 2009 12:36 pm 
C.Mar 10, 2009 1:02 pm 
Valery KholodkovMar 10, 2009 1:26 pm 
Manlio PerilloMar 11, 2009 10:49 am 
mikeMar 11, 2009 1:15 pm 
Johan BergströmMar 11, 2009 2:36 pm 
qybMar 11, 2009 5:19 pm 
Maxim DouninMar 11, 2009 6:02 pm 
danielMar 12, 2009 3:03 am 
张立冰Mar 12, 2009 3:25 am 
Huy PhanMar 12, 2009 5:17 am 
张立冰Mar 12, 2009 6:23 am.gif
张立冰Mar 12, 2009 6:30 am.gif
Huy PhanMar 12, 2009 7:47 am 
mikeMar 12, 2009 9:10 am 
C.Mar 12, 2009 11:46 am 
mikeMar 12, 2009 12:35 pm 
mikeMar 12, 2009 12:37 pm 
Michael BaudinoMar 12, 2009 4:51 pm 
MerlinMar 12, 2009 6:39 pm 
Maxim DouninMar 13, 2009 4:43 am 
Valery KholodkovMar 13, 2009 7:20 am 
Marcus ClyneMar 13, 2009 7:58 am 
Maxim DouninMar 13, 2009 8:14 am 
Valery KholodkovMar 13, 2009 8:36 am 
Maxim DouninMar 13, 2009 9:05 am 
Valery KholodkovMar 13, 2009 9:52 am 
Michael BaudinoMar 13, 2009 11:03 am 
Valery KholodkovMar 13, 2009 11:54 am.patch
MerlinMar 13, 2009 11:55 am 
Manlio PerilloMar 14, 2009 8:00 am 
mikeMar 14, 2009 10:02 am 
Manlio PerilloMar 21, 2009 4:42 pm 
mikeMar 21, 2009 5:16 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: Nginx - Google Summer of Code ideasActions...
From:Valery Kholodkov (vale@grid.net.ru)
Date:Mar 13, 2009 7:20:51 am
List:ru.sysoev.nginx

----- "Maxim Dounin" <mdou@mdounin.ru> wrote:

Hello!

On Thu, Mar 12, 2009 at 06:40:13PM -0700, Merlin wrote:

On Thu, Mar 12, 2009 at 4:51 PM, Michael Baudino < mich@acrelec.com> wrote:

Hi C.

Participating in the SoC is a definitively good idea.

What about implementing async disk IO ?

What's wrong with aio_write() and aio_read()?

Well, you really want to hear? There is a couple of issues:

1. There is no good standard method of notification. Per POSIX it's uses signals to notify process about completed operations. Under FreeBSD notifications is possible over kqueue, and probably other OSes have something too, but it's anyway will require some non-trivial porting.

Here I disagree: linux kernel supports notification via eventfd since 2.6.18.
eventfd syscall is available as of glibc 2.8, which is a part of e.g. ubuntu
intrepid distribution.

Personally I've tested this interface and it looks fine to me.

2. It's usually implemented as a thread pool within OS kernel (at least FreeBSD and Linux implementations AFAIK), and usually have some limits administrator should be aware of (including maximum number of io requests system may queue).

It is unclear whether kernel thread pool is a disadvantage or not. I don't think
it is reasonable to use disk AIO as a primary mean to serve files, I think it
won't make server faster than while using sendfile, but AIO could be serious
boost for large out-of-cache files, because it eliminates blocking.

With such considerations kernel thread pool doesn't seem to be a big hassle.