On Wednesday February 11 2009, Larry Stotler wrote:
On Tue, Feb 10, 2009 at 4:12 PM, Heinz Diehl <htd@fancy-poultry.org> wrote:
It seems my quadcore cpu has not enough workload to even exploit one core, and the other three are just there to consume (a lot of) power. I'll downgrade to an energy efficient 45W Athlon soon.
One thing to keep in mind is that almost all processors are idle most of the time in a desktop environment. ...
That's what SETI@home, Folding@home, BOINC in general and other distributed collaborative CPU-warmers are for...
...
Also, for things like doing movie re-encodes, I have found that you get better performance by running 1 thread per cpu core versus trying to run 1 encode over multiple cores because the system has to split the data up and put it back together. On a quad core system, you can get 4 movies done faster that way than you can doing 4 one at a time.
That's to be expected. Parallelizing an arbitrary computation can yield anything from no speed-up to near N:1 where N is the number of independent processors available. First of all, we must exclude from consideration purely single-threaded computations which can never exhibit speed-up 'cause they are, by definition, not parallelizable. (Note that, as mentioned earlier, Java programs will almost always exhibit some degree of multi-threaded behavior because at a minimum JVM garbage collection is handled by a dedicated thread. Presumably other languages or run-times with GC will do the same.) For other computations, the degree of benefit obtained by parallelizing the computation all comes down to a matter of how much the parallel threads of execution must coordinate with each other and how much they contend even when not interacting. The former comes when results from one thread are needed by another. The latter happens when multiple threads contend for a shared resource, most commonly main store (RAM). So parallelizing a computation with a great deal of interaction between the parallel threads will yield much less than N:1 speed-up. Parallelizing a computation with little or no such interaction and a very high degree of locality (meaning a high ratio of instructions executed to cache misses) can exhibit nearly N:1 speed-up.
Just my 2 cents.
Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org