On Tue, 2011-05-03 at 23:09 +0200, ismail kuru wrote:
>
>
> On 3 May 2011 17:02, Patrick Marlier <patrick.marl...@unine.ch> wrote:
> 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.
>
>
> ++ Thanks a lot for your attention to my project. Yes , it also
> really makes me happy to have people interested in Transactional
> memory and my project.
>
> 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.
>
> ++ I have not worked on QuakeTM before . Thanks a lot for
> suggestion.
>
> 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.
>
> ++ Having contact with some experienced people on
> Transactional Memory is really so important for me . It would
> be great for me.
>
>
> 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?
> ++ I was trying to do experiments with different passing
> parameters (instrumentedCode , uninstrumentedCode,
> hasNoAbort, hasNoRetry, hasNoIrrevocable,doesGoIrrevocabl ) to
> "_ITM_beginTransaction" and try to scale the compatibility
> with ++OpenMP constructs. I have also used "__transaction"
> semantic. There is no problem. This is what I have put here.
>
> // 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.)
>
>
> ++ I have tried both. I am having problems on this part because of not
> being experienced and I think I have to make experiments again on
> LeeTM.
> ++ First of all, MEMCPY and MEMSET functions do not include any
> transaction identifier (id) and transactions inside the LeeTM fails
> during transactional access to the memory. I think this case is also
> for tinySTM-0.9.9 and tinySTM-1.0.
>
>
> ++ tinySTM-0.9.9 has mem access functions with transaction handlers as
> the following
> ++stm_word_t stm_load(stm_tx_t *tx, volatile stm_word_t *addr);
> ++void stm_store(stm_tx_t *tx, volatile stm_word_t *addr, stm_word_t
> value);
> ++void stm_store2(stm_tx_t *tx, volatile stm_word_t *addr, stm_word_t
> value, stm_word_t mask);
>
>
> ++but tinySTM-1.0 does not . Your opinions on these different version
> of mem-access functions would be great.
>
> ++My idea to convert from one version of mem-access function to
> another is as the following:
>
>
> ++ I think I have to make some explicit function calls as the
> following:
> ++ _ITM_transaction * td = _ITM_getTransaction();
> ++ int doWhat =
> _ITM_beginTransaction(td,pr_instrumentedCode,&txn_start_loc);
> ++ .....
> ++_ITM_transactionId cur_id = _ITM_getTransactionId();
>
> 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.
>
>
> ++ Of course , It would be great to share the study and results with
> you when I organize my study and all other things.
>
> Good luck and feel free to ask questions.
>
> ++ THANKS A LOT
>
> Patrick Marlier.
>