Email address obfuscation in effect -- please
click here to turn it off.
[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
On Sun, 2 Dec 2007, Stephen Montgomery-Smith wrote:
It can get quite tricky with certain algorithms to write MP code.
Sometimes MP code will be slower than single-threaded code due to the
thread syncing taking up an enormous amount of resources.
I write multithreaded programs. I tend to write CPU floating point
intensive scientific programs (solving various partial differential
equations). Like Jack, I can tell you that writing MP code is
definitely not an easy chore.
I agree with both of you and I would add that there is another reason why
it often isn't worth it. When we use supercomputers that have many CPUs,
if we want to use two or more simultaneously, we have to wait longer for
our job to start running in the batch queue. This waiting time is one of
the most important factors determining total time to completion. So I'm
pretty sure that if I came up with a way to parallelize some of our jobs,
they would end up taking longer to run on our supercomputer sytems.
We do plenty of work where the total job can be divided into 22
independent pieces (22 autosomes [chromosomes other than X and Y];
example: linkage analyses). So I write scripts to submit 22 jobs to the
queue and deal with it that way -- 22 single-threaded jobs.
Genotype-phenotype ssociation analyses of many thousands of markers could
be divided up into many independent jobs, and it would be nice to have a
multi-threaded program that would deal with such a problem in a more
automatic way, but the queuing problem would counter any benefit of
multi-threading on our systems.
I might feel differently if I had a dedicated machine with hundreds of
processors!
Mike
_______________________________________________
discussion mailing list
EMAIL:PROTECTED
http://mlug.missouri.edu/mailman/listinfo/discussion