As major chip manufacturers have migrated from increasing the speed of
individual processors to putting several processors on the same chip, a
new software revolution — known as the concurrency revolution — has
emerged. In this context, the EU-funded project 'Transform: Theoretical
foundations of Transactional Memory' (
TRANSFORM)
investigated Transactional Memory (TM), a new programming paradigm that
is widely considered the future of concurrent programming.
The project brought together leading researchers in the field to
define a modern theory of concurrent computing. TRANSFORM network is
comprised of leading stakeholders from France, Germany, Greece, Israel,
Switzerland, the United Kingdom and the United States.
Together, the project partners greatly advanced the theory behind
the design and analysis of TM systems. More specifically, the network
studied the semantics of TM systems and built a common framework to
design and compare TM algorithms. It formulated correctness and progress
criteria for such systems, introducing, as well, suitable complexity
metrics. Project work also involved designing and testing the
implementation of TM systems, including key software structures such as
shared data structures. This was in addition to outlining inherent
limitations of such systems.
Importantly, TRANSFORM extended top-notch education to 12
early-stage researchers who helped advance the project significantly and
gained invaluable experience in the process.
Overall, TRANSFORM conducted fundamental research that could further
improve concurrency in the future. Notably, the project's research
results are already being considered a point of reference for designing
and analysing concurrent algorithms. The emerging research has shed
light on key issues regarding the design and analysis of TM systems,
facilitating their widespread adaptation in the production of concurrent
software.
The project has led to the formation of a strong cooperation network
among academia, research organisations and industry. This will help
users exploit the available computational power that multi-core
processors offer now and in the future. Thanks to these efforts, the
next generation in concurrent programming is clearly on the horizon.