|
From: Godmar B. <go...@gm...> - 2012-12-05 18:36:45
|
On Wed, Dec 5, 2012 at 12:29 PM, Julian Seward <js...@ac...> wrote: > > On Tuesday, December 04, 2012, Patrick J. LoPresti wrote: >> There is no such thing as a benign data race. Ever. > > <soapbox> > > Well said. I couldn't have put any of this better myself. > For the interested audience: Adve/Boehm's very readable and informative 2010 CACM paper [1] reflects, I believe, Julien's sentiment as well. If my reading is correct, then the new C and C++ standards (C11 and C11++) effectively adopt the same approach by leaving the semantics of programs with data races completely undefined. > Having spent a considerable amount of time working on Helgrind and then > using it to chase races in some big hairy C++ codes, I became very > skeptical of the "oh it's only a harmless race" arguments. However, > I gave up shouting about it after a while since it just made me look > like a tiresome pedant hellbent on criticising people's clever go-faster- > by-avoiding-locking schemes. > Julien, while you're still on your soapbox, let me make an attempt to request an answer to a question I sent Oct 1 to this mailing list - out of academic and practical curiosity, I'm really interested in learning why Helgrind works the way it does currently, i.e., why did it abandon Eraser-style locksets [2] in recent versions? Thanks. - Godmar [1] Memory Models: A Case for Rethinking Parallel Languages and Hardware By Sarita V. Adve, Hans-J. Boehm Communications of the ACM, Vol. 53 No. 8, Pages 90-101 10.1145/1787234.1787255 http://cacm.acm.org/magazines/2010/8/96610-memory-models-a-case-for-rethinking-parallel-languages-and-hardware/fulltext [2] http://markmail.org/thread/odrhlvarckfgzvnk "[Valgrind-users] Q.: Why did Helgrind abandon Eraser-style locksets?" |