[OT] Re: Why use threads ( was: Alan Cox quote?)

Jeff Garzik (jgarzik@mandrakesoft.com)
Wed, 20 Jun 2001 18:47:35 -0400


Davide Libenzi wrote:
>
> On 20-Jun-2001 David Schwartz wrote:
> >
> >> On Wed, Jun 20, 2001 at 02:01:16PM -0700, David Schwartz wrote:
> >
> >> > It's very hard to use processes for this purpose. Consider,
> >> > for example, a
> >> > web server. You don't want to use one process for each client
> >> > because that
> >> > would limit your scalability (16,000 clients would become difficult, and
> >> > with threads it's trivial). You don't want to use one thread
> >> > for each client
> >
> >> How is it trivial? How do you debug a 16,000 thread application?
> >
> > As I said, you don't want to use one thread for each client. You use,
> > say, 10 threads for the 16,000 clients.
>
> Humm, you're going to select() over 1600 fds ...

Sigh, this is offtopic for a while, and I am not helping ;-)

A well-designed app should not be selecting 100% of its fds, but only
those fd's that need selecting...

If you are talking about a single application with 16,000 clients,
personally, I would use thread pools: a few threads for doing poll(2),
a few threads for doing work, etc. Anything above that is unlikely to
scale with demand.

Jeff

-- 
Jeff Garzik      | Andre the Giant has a posse.
Building 1024    |
MandrakeSoft     |
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/