Peter,

--- Al Tobey <[EMAIL PROTECTED]> wrote:

> On Mon, 2006-12-11 at 15:03 -0500, Lobsingerp,Peter [CIS] wrote:

> > Also, how well do threads scale? My initial attempts are using 100
> > threads but this may need to rise to 1000. As it stands it is
> taking
> > forever to complete, but this is most likely caused by not having
> access
> > to all CPUs that are available.
> 
> You'll need a LOT of RAM.   Depending on your data sharing needs, it
> may
> be way more efficient to use fork() [...]

In the spirit of benefiting from fork() copy-on-write memory saving
(and depending on your IPC performance needs), you may wish to try the
forks CPAN module:

http://search.cpan.org/~rybskej/forks-0.20/lib/forks.pm

It is an ithread drop-in replacement, using a mix of fork() and socket
programming to provide an alternate, memory-efficient Perl threads API.

Also, assuming moderate use of threads::shared resources, forks.pm's
use of multiple processes should help you take full advantage of all
your CPU resources without needing to rewrite any code in your
ithread-enabled application.


That being said...I do wonder about the low overall use of CPU
resources with native ithreads given that you are doing (what sounds
like) relatively CPU-intensive numerical analysis.  Can you give an
example of your overall thread application architecture is designed, in
how you distribute resources for processing and aggregrate results?

Regards,
Eric
 

Reply via email to