

Cliff Click Jr: Experiences with Hardware Transactional Memory for Java - mbrubeck
http://blogs.azulsystems.com/cliff/2009/02/and-now-some-hardware-transactional-memory-comments.html

======
kmavm
For me, this quote is the hard-earned kernel of wisdom that affirms what I've
been saying about transactional memory for the last three years: "Why make the
code XTN-friendly when they can make it lock-friendly as well, and have it run
fine on all gear (and not just HTM-enabled gear)? Also locks have well
understood performance characteristics, unlike TM's which generally rely on a
complex and not-well-understood runtime portion (and indeed all the STMs out
there have wildly varying "sweet spots" such that code which performs well on
one STM might be really unusably slow on another STM)."

Transactional memory sounds appealing to programmers who've worked hard on
making lock-based systems scale because the grass is always greener. Locks
sound easy, too, until you try to build a huge system with them. It sounds
like Azul has built the first industrial scale TM implementation, and done it
with some of the best and brightest, but has not found the going significantly
easier or faster than with traditional methods.

------
ShabbyDoo
Here's a wikipedia article that I found more comprehensible as someone who
knows nothing about transactional memory:

<http://en.wikipedia.org/wiki/Software_transactional_memory>

So, as a Java guy, here's what I take this stuff to mean:

Synchronization blocks are implicitly pessimistic locking. Even if the
probability of a collision is close to zero, we still make threads line up for
admittance to critical sections.

Transactional memory allows us to employ optimistic concurrency. If any other
thread modified stuff that is encompassed in your transaction, you get an
exception.

This sounds much like the scheme employed by Hibernate to do optimistic
locking for DB stuff. Am I thinking about this correctly?

------
ShabbyDoo
It was clear from the slides that Azul thinks about financial analysis/trading
systems when designing its stuff. Many other cool technologies have been
developed with financial services customers in mind (Terracotta and various
other grid computing stuff comes to mind). This is well and good, but I'm
worried in general that the ill health of the world's financial institutions
will erode the market signal that has brought so much innovation downward to
less lucrative markets. If Azul was trying to raise money now, would VCs bite
given the ill health of the most likely early adopters?

