The EC-funded VELOX project has launched, with the objective of developing seamless transactional memory (TM) systems that integrate well at all levels of a system’s stack.
The three-year project, known as ‘An Integrated Approach to Transactional Memory on Multi-Core Computers’, has received €4m of funding from the European Commission.
Coordinated by the Barcelona Supercomputing Centre, the VELOX consortium gathers nine different partners that include research and system integration organisations such as the University of Neuchâtel, the Technische Universität Dresden, Ecole Politechnique Fédérale de Lausanne, Tel Aviv University, Chalmers University of Technology as well as integrators from the IT industry such as AMD, Red Hat and VirtualLogix SAS.
The adoption of multi-core chips as the architecture-of-choice for mainstream computing will bring about changes in the way software is developed. In this new era, programs will need to be rewritten in a parallel way for computers that have multiple processing cores. One of the fundamental issues in developing parallel programs is a coordinated and orderly way of accessing shared data. The use of previous techniques such as fine grained locking as the multi-core programmer's coordination methodology is viewed by most experts as a dead-end since locking is too complicated for the average programmer.
The TM programming concept is a strong contender to become the approach of choice for replacing those coordination techniques and implementing atomic operations in concurrent programming. Combining sequences of concurrent operations into atomic transactions promises a great reduction in the complexity of both programming and verification, by making parts of the code appear to be sequential without the need to program fine-grained locks. Transactions remove from the programmer the burden of figuring out the interaction among concurrent operations that happen to conflict when accessing the same locations in memory.
To make TM an effective tool, TM systems will need the right hardware and software support to provide scalability not only in terms of number of cores, but also in terms of code size and complexity. The objective of the VELOX project is to understand how to provide such support by developing an integrated TM stack. Such a TM stack would span a system from the underlying hardware to the high end application and would consist of the following components: CPU, operating system, runtime, libraries, compilers, programming languages and application environments. The team includes internationally recognized TM experts in each of those components. These fully integrated TM systems will not only improve the understanding of TM designs but will greatly help in the adoption of the TM paradigm by the European software industry, making it a tool-of-choice for concurrent programming on multi-core platforms.