Re: Thread implementations...

Richard Gooch (Richard.Gooch@atnf.CSIRO.AU)
Fri, 26 Jun 1998 14:34:28 +1000


MOLNAR Ingo writes:
>
> On Fri, 26 Jun 1998, Richard Gooch wrote:
>
> > > this is already implemented in glibc 2.1. Take a look at the aio_
> > > interface there. Async threads take care of waiting for IO and stuff.
> >
> > Yes, you can handle multiple connections using aio_*(), but you end up
> > with one thread (with the glibc 2 implementation) per open connection,
> > right? So when we have 10000 connections, we have 10000 threads,
> > right? I don't think aio_*() scales very well.
>
> it might be that the implementation does not scale well. Unless there is
> something fundamentally broken about the aio_...() interface (API) itself,
> why reimplement the wheel? It's a standard interface.

OK, fine. Under Linux (and possibly other OSes) that implement aio_*()
using threads, it does not scale very well. Where there is direct
kernel support, I wonder what the kernel overheads for an outstanding
aio request will be?
So, unless Linux (and possibly other OSes) have a scalable aio_*()
implementation, I think my migrating FDs scheme will scale better.

Regards,

Richard....

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu