Re: Developing multi-threading applications

From: David Schwartz (davids@webmaster.com)
Date: Thu Jun 13 2002 - 03:26:58 EST


On Thu, 13 Jun 2002 10:13:35 +0200, Roberto Fichera wrote:

>I'm designing a multithreding application with many threads,
>from ~100 to 300/400. I need to take some decisions about
>which threading library use, and which patch I need for the
>kernel to improve the scheduler performances. The machines
>will be a SMP Xeon with 4/8 processors with 4Gb RAM.
>All threads are almost computational intensive and the library
>need a fast interprocess comunication and syncronization
>because there are many sync & async threads time
>dependent and/or critical. I'm planning, in the future, to distribuite
>all the threads in a pool of SMP box.

        With 4/8 processors, you don't want to create 100-400 threads doing
computation intensive tasks. So redesign things so that the number of threads
you create is more in line with the number of CPUs you have available. That
is, use a 'thread per CPU' (or slightly more threads than their are CPUs per
node) approach and you'll perform a lot better. Distribute the available work
over the available threads.

        DS

-
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/



This archive was generated by hypermail 2b29 : Sat Jun 15 2002 - 22:00:27 EST