VELOX: An Integrated Approach to Transactional Memory on Multi and Many-core Computers
These days everyone wants a “supercomputer” in their pocket. Consumers are demanding more performance and power from smaller and sleeker devices. However, physical size limitations might soon impede the ability of such devices to deliver the expected speed and functionalities. This performance wall represents a serious issue that vendors are addressing through the application of multi-core processors, already in use in some everyday devices such as game consoles or cell phones. However, one key issue has not been addressed yet: writing software for these multi-core platforms (parallel programming) requires specialized skills.
Transactional Memory (TM) is a new programming paradigm that simplifies parallel programming. TM can be implemented in hardware, in software, or as a combination of both. Because transaction block constructs, the cornerstone of TM, are typically provided at the programming-language level, TM support spans across the complete computer stack from applications down to hardware, encompassing language extensions, compilers, libraries, TM runtimes, operating systems and CPUs.
The high-level objective of the EC FP-7 VELOX Project was to deliver the first integrated Transactional Memory (TM) Stack to serve as both proof-of-concept for the TM paradigm and to serve as a platform for future development in the area of Transactional Memory. In addition, the VELOX Project aimed to provide a set of long-term design guidelines for hardware and software systems to improve the efficiency of TM-based applications running on multi-core platforms.
While the 3-year 36-month VELOX Project has officially ended, your first venture into Transactional Memory is only beginning. See for yourself how the VELOX Stack simplifies parallel programming by downloading our LiveCD and tools.