On Dec 5, 2007 1:29 PM, Julian Seward <[EMAIL PROTECTED]> wrote:
> On Wednesday 05 December 2007 13:17, Konstantin Serebryany wrote:
> > >> As far as I understand, helgrind is not more than just Eraser :)
> > helgrind is more than just Eraser :)
>
> True.  Helgrind is Eraser + usage of happens-before dependencies
> resulting from thread creation, joinage, condition-variable signalling
> (to the extent these dependencies are visible), and through semaphore
> events, + the ability to transfer memory from shared states to exclusive
> ownership states at pthread_join points.

Although I have a lot of respect for the work you have done on the
Helgrind tool, I still do not understand why you started from the
Eraser algorithm. This algorithm is easy to mislead, e.g. it doesn't
recognize user-implemented synchronization primitives. Many developers
implement reader-writer locks on top of mutexes because this makes
code easier to port between Linux and Windows. Obtaining a reader-lock
is then implemented as (simplified) (lock mutex, increment reader
count, unlock mutex). The Eraser algorithm won't recognize such code
as a reader lock.

Another issue with the Eraser algorithms are HPC algorithms where
computations consist of several steps, where the different steps are
only separated by barriers. The memory accesses within a step of the
different threads do not conflict, but the memory accesses of
different steps contain conflicts. A vector-clock based algorithm
won't report any false positive for this scenario, but an Eraser-style
algorithm will report all conflicting accesses as data races.

Regards,

Bart Van Assche.

-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Valgrind-developers mailing list
Valgrind-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to