Forum Jump

Select Group :
Select Forum :
Sorted By :
Sort Order :
From The :
 
Thread Tools  Search this thread 
lutzky
August 5, 2008 9:18 AM PDT
libitm internals, alternatives
We would like to compare the performance of icc's STM and other STM mechanisms (such as TinySTM).
Is there a way to use a drop-in STM library instead of icc's libitm? Alternatively, are the calls
to libitm documented somewhere? Has anyone tried doing anything of this sort?

Also, how much of the transaction code is inlined? Running objdump on compiled objects gives
us many added functions named _ITM_*, and data structures called _ITM_LocStruct_pack and _ITM_Loc_pack (which seems to have debugging information).
James Cownie (Intel)
Total Points:
870
Status Points:
370
Brown Belt
August 6, 2008 3:06 AM PDT
Rate
 
#1

lutzky:
We would like to compare the performance of icc's STM and other STM mechanisms (such as TinySTM).
Is there a way to use a drop-in STM library instead of icc's libitm?

I am afraid that the ABI we use between the compiler and the runtime is not currently published, so although it's technically trivial (just link against another library smiley [:-)]) the information needed to create such a library is not available.

lutzky:
Alternatively, are the calls to libitm documented somewhere? Has anyone tried doing anything of this sort?

The ABI itself is specifically designed to allow such experimentation (it can support in-place or buffered update and optimistic or pessimistic readers without requiring re-compilation of the client, so the same benchmark executable could be tried with many different STM runtimes just by choice of the correct dynamic library), however we haven't published the ABI.

lutzky:
Also, how much of the transaction code is inlined? Running objdump on compiled objects gives
us many added functions named _ITM_*, and data structures called _ITM_LocStruct_pack and _ITM_Loc_pack (which seems to have debugging information).

None of the transactional runtime is inlined.

As researchers we would love to publish the ABI, but getting approval to open such interfaces is not trivial. We'll certainly take this as a request that we do so.

p.s. A real name and institution would help us to make that case better than a pseudonym...



lutzky
August 11, 2008 3:35 AM PDT
Rate
 
#2 Reply to #1
I've updated my profile details with my name (Ohad Lutzky) and institution (Technion IIT).




Intel Software Network Forums Statistics

8290 users have contributed to 31236 threads and 99110 posts to date.
In the past 24 hours, we have 8 new thread(s) 22 new posts(s), and 30 new user(s).

In the past 3 days, the most popular thread for everyone has been comparison cilk++, openmp, pthreads first results The most posts were made to comparison cilk++, openmp, pthreads first results The post with the most views is Very amusing...  Escalated as

Please welcome our newest member zq.x