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