IBM's Alphaworks Software Transactional Memory Compiler
Michael_Wong 120000M1EH Visits (4024)
The basic idea is to move your group of atomic operations through, assuming that it will be successful, and only rollback when a conflict actually occurs.
At the moment, much of the ideas of TM are there as a way to test out the idea, and possibly be integrated into some future hybrid system. Even practitioners of TM knows there is a certain amount of hype that we have to deal with in any new technology before it drops to a trough and rebounds back to a realistic plateau.
A number of vendors have planned both hardware and software implementations of Transactional Memory.
The software transactional memory compilers from different vendors all use different syntax, and this creates a basic problem with interoperability, and common porting of code. I will deal with this in the next post.
IBM is also working in this area, and has released an Alphaworks compiler supporting Software Transaction, actually last year.
The IBM XL C/C++ for Transactional Memory for AIX is also accessible from the Resource Library of the C/C++ Cafe.
The public domain STM runtime is compatible with the AlphaWorks XLC STM release.
It was released through the Amino Concurrency Building Blocks project
The source code is here
I will have more to say about the Amino Building Blocks in a future post.