Wednesday, November 5, 2008

Multithreading vs Parallelism

A subtle difference.

I tend to think of computer programs as a race track where each lane is a physical processor. I then imagine painting a series of blocks on each lane to represent computational time for every operation on the system.

A thread pool where one thread is hammered with embarrassingly parallel computations (think any scientific data crunching) and one is mostly sitting in an idle loop (think a GUI one) is perfectly fine in emulated multi-threaded environments, but it's not efficient parallelism.

No comments:

Post a Comment