[Haskell-cafe] MVar considered harmful

Joachim Durchholz jo at durchholz.org
Sun Dec 30 07:22:23 UTC 2018


Am 29.12.18 um 11:43 schrieb Serguey Zefirov:
> MVar and IVar things are from dataflow programming, I believe, from Id90 
> programming language (read about it, it's fascinating). They were ued 
> there with greate success (linear scaling on CM-5, no less; they had to 
> invent throttling to tame huge parallelism available).
So they were forced to go sublinear - that makes the claim pretty shady 
IMHO.

Claims of linearly scaling parallelism are usually wrong.
First, there's always coordination overhead. Even if tasks distribute 
perfectly, it's there - not much, but if you didn't notice it, either 
you didn't scale up far enough to see the effect, or your measurements 
are off.
Second, there's always a bottleneck somewhere. E.g. for GPU parallelism, 
there's a pretty hard limit on the amount of data you can transfer over 
the bus. You *can* work around that by setting up a hierarchical compute 
node organization, which was all the rage for a few years, but it never 
took off; I guess the constant factors have been too high.

So, forgive me if I am sceptical about that Id90 claim of linear scaling.

Regards,
Jo


More information about the Haskell-Cafe mailing list