Integration of transactional memory support into a data-flow extension of OpenMP
Patrick Marlier
patrick.marlier@unine.ch
Tue May 3 15:03:00 GMT 2011
Hi Ismail!
> My study mainly focuses on integration of transactional memory support
> into data-flow extension of OpenMP that is
> aiming increased expressiveness and performance while preserving the
> paradigms' properties.
I am really happy to see people working with transactional memory. I
will try to follow your work.
> My project combines development and research components and can be
> decomposed into 5 phases.
>
> 1. Study the compatibility of the transactional memory and OpenMP
> constructs in the
> transmem development branch of GCC and propose solutions to the possible
> technical
> difficulties.
In the Velox project, one application named QuakeTM was using TM and
OpenMP without problem but I know that the OpenMP was not used
extensively. So probably you will find some problems.
> 2. Study the desgin and implementation of both data-flow (streaming) and
> transmem branches
> of GCC, interacting with their maintainers.
I am not a maintainer (not yet at least) of the trans-mem branch but I
know quite well TM and some part of implementation details in gcc. So if
you post questions, I will try to answer them.
> Note : Just an example code from LeeTM for compatibility research of
> OpenMP and trans-mem .
>
> #define MEMSET _ITM_memsetW
> #define MEMCPY _ITM_memcpyRtWt
> #define BEGIN_TRANSACTION \
> _ITM_beginTransaction (pr_instrumentedCode | pr_hasNoIrrevocable\
> | pr_hasNoAbort)
>
> #define END_TRANSACTION \
> _ITM_commitTransaction ()
Why did you use explicit calls to _ITM_* functions? why not using the
__transaction semantic?
> // transaction body
> lee->layNextTrack(track, targ->private_buffer);
Did you transactify accesses in this function? or does it use only
MEMSET and MEMCPY?
(I have tried LeeTM only one time and I can't remember implementation
details.)
> There is not a big performance difference between our approach (OpenMP +
> trans-mem) and (pthreads + tinySTM).
Interesting. Actually I am one of the developers of TinySTM and I am
quite interested to see exact results.
Good luck and feel free to ask questions.
Patrick Marlier.
More information about the Gcc
mailing list