[LLVMdev] Tool support for generation of transactional code
Torvald Riegel
torvald at se.inf.tu-dresden.de
Sun Aug 19 17:47:58 PDT 2007
On Sunday 19 August 2007 22:52, Vikram S. Adve wrote:
> Torvald,
>
> This is nice work. Do you have a set of applications or benchmarks
> that you have transactionalized at the source level? If so, have you
> reported performance numbers for them somewhere?
The absence of such a tool is the reason why there are not many benchmarks
around, especially no applications that are used by real users. There are two
microbenchmarks in the release and I have performance numbers in my slides
for the Transact presentation
(http://wwwse.inf.tu-dresden.de/presentations/slides-felber2007tanger.pdf).
We currently are not doing any TM-specific optimizations as described in
recent Intel or MSR papers, but LLVM's generic optimizations seem to be quite
good at reducing teh number of loads and stores.
I'm currently preparing a Tanger patch for the STAMP benchmarks
(http://stamp.stanford.edu), but I need to add some features first. A full
list of the missing features (all, not just for STAMP) that I am aware of is
in TODO.txt in the release archive.
So, it would be fairly easy to pick, for example, sequential implementations
of various data structures and run them as transactions, but this is not
necessarily what users need or how they would use TM. This problem was also
talked about a lot at Transact's panel discussion, and the agreement was
roughly that we need real users to be able to evaluate TM correctly.
So we can't give you benchmarks yet, but the idea is that tools such as Tanger
can make this process much easier, both regarding benchmarks coming from
researchers and real users. This approach and Tanger are work in progress,
but we are working on it.
If you have any ideas for benchmarks, or know people that do have and are
interested in using TM, please tell me.
Torvald
More information about the llvm-dev
mailing list