Minor bug
"you see an all or nothing scenarios where either all the loads and stores go through or none do."
Obviously, that should be just "...either all the stores go through or none do.", since you cannot rollback reads ;-)
Hoping to improve the state of server software, Sun Microsystems has confirmed that it will include support for transactional memory with the first generation of its Rock processors due out in the second half of next year. Sun's research and development teams have spent years working on a type of transactional memory that …
"One needn't make only the stores transactional. One could conceive of a chip design that allows the whole register file to be checkpointed, making loads and any other instruction transactional."
Huh? If by register file you mean the processor's registers, then these are already 1:1 associated with the processor core and thus the thread, and therefore shouldn't have any parallel access issues - so I fail to see the use for making them transactional. Can you explain further?
If you don't roll back the registers, you could have weird stuff happening with the rolled back code, as it may be dependent on the values such registers had when execution started. If you've played with assembly, you know what I'm talking about ;)
That chef analogy got me laughing. I just imagined: "Waiter, the chef rolled back my soup. It's cold!"