The advent of multi-core architectures and cloud-computing has brought parallel programming
into the mainstream of software development. Unfortunately writing scalable parallel programs
using traditional lock-based synchronization primitives is well known to be a hard time
consuming and error-prone task mastered by only a minority of specialized programmers.
Building on the familiar abstraction of atomic transactions Transactional Memory (TM) promises
to free programmers from the complexity of conventional synchronization schemes simplifying
the development and verification of concurrent programs enhancing code reliability and
boosting productivity. Over the last decade TM has been subject to intense research on a broad
range of aspects including hardware and operating systems support language integration as
well as algorithms and theoretical foundations. On the industrial side the major players of
the software and hardware markets have been up-front in the research and development of
prototypal products providing support for TM systems. This has recently led to the introduction
of hardware TM implementations on mainstream commercial microprocessors and to the integration
of TM support for the world's leading open source compiler. In such a vast inter-disciplinary
domain the Euro-TM COST Action (IC1001) has served as a catalyzer and a bridge for the various
research communities looking at disparate yet subtly interconnected aspects of TM. This book
emerged from the idea having Euro-TM experts compile recent results in the TM area in a single
and consistent volume. Contributions have been carefully selected and revised to provide a
broad coverage of several fundamental issues associated with the design and implementation of
TM systems including their theoretical underpinnings and algorithmic foundations programming
language integration and verification tools hardware supports distributed TM systems
self-tuning mechanisms as well as lessons learnt from building complex TM-based applications.