Hello all,

I'm going to keep this as short as possible...basically this guy came today in Machester uni to talk to all postgrads about work he's done on STM implementations for Microsoft research.

In a nutshell, and very general he highlighted the following:

1. general purpose STM systems that simply wrap your transaction in an
   atomic block have very poor performance. He showed experiment graphs
   contrasting the performance and scalability of careful manual
locking VS general purpose STMs. He specifically emphasized that especially in hyper-threading context general-purpose STMs don't
   scale at all (did not understand why exactly), even though they do
   give the programmer a strong tool of thinking on a higher level
   about concurrency (he emphiasized that as well).
2.   If we want to make STMs competitive (both performance and
   scalability) with the risky manual locking we simpy cannot get away
   with mere atomic expressions of the form: atomic {...} . He then
   went on showing some ridiculously complex imlementations of parallel
   queues in C++ and of a system called specTM which compromises some
   of the higher level stuff normal STMs do for the sake of
   performace...and of course he showed through graphs that it works on
   his experiments.



Now i don't want to be judgemental (i'll resist judging him just because he is from Microsoft!) - all i want is to learn something from this. Obviously clojure's STM falls under the general-purpose category if interpret what he said correctly. From a programmer's perspective (dosync ...) is an "atomic expression" (a transaction)...it doesn't go any higher level than this does it? so then, with all this immutability that stresses the garbage collector and a high level general purpose (and apparently inefficient and not scalable) STM , are we paying too much of a price being clojure programmers?

Don't get me wrong...i've completely and utterly fallen i love with clojure and i'm not going back to OO. However it is best to have all the facts upfront...isn't it?

What are your views people? is STM hurting us that bad?

Jim

ps: btw the guy's name is Tim Harris...





--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to