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.

Reply via email to