libitm internals, alternatives

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...



Intel Software Network Forums Statistics

8290 users have contributed to 31237 threads and 99114 posts to date.
In the past 24 hours, we have 8 new thread(s) 19 new posts(s), and 25 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 Pipeline buffer between stages? The post with the most views is Very amusing...  Escalated as

Please welcome our newest member zq.x