Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: dynamic number of threads based on CPU utilization

by bulk88 (Priest)
on Sep 27, 2012 at 03:34 UTC ( #995923=note: print w/ replies, xml ) Need Help??


in reply to dynamic number of threads based on CPU utilization

I would use Time::HiRes and start putting time counters in worker*() subs. "$OUTFILE" is being used by multiple threads. I dont know how bad the performance will be of using $OUTFILE from multiple threads but it doesn't look good. Regarding shared variables. They are implemented by locks, and a "master" central variable in a secret ithread/interp.

If you can not reduce the number of reads and writes or rethink your algorithm/use of threads at all (other suggestions in this thread), I suggest outright *locking* %similar for duration of "foreach my $odom(keys %similar) {" loop in simAlg, or locking %similar and then copying %similar to a my %local_similar and doing the loop on %local_similar, copy %local_similar back to %similar and release the lock on %similar. If your algorithm needs allow, you could copy %similar to %local_similar and never look at %similar for the rest of the job item.


Comment on Re: dynamic number of threads based on CPU utilization

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://995923]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (8)
As of 2014-08-22 11:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (156 votes), past polls