A new age in concurrent computing
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.
Keywords
Concurrent computing, parallel programming, transactional memory, computational speed, distributed algorithms, safety, liveness, lower bound