A Software Transactional Memory System for an Asymmetric Processor Architecture - Goldstein, Felipe; Baldassin, Alexandro; Centoducatte, Paulo; Azevedo, Rodolfo; Garcia, Leonardo A. G. (Anais do International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD); 2008: Anais do XX International Symposium on Computer Architecture and High Performance Computing, 2008)
Due to the advent of multi-core processors and the consequent need for better concurrent programming abstractions, new synchronization paradigms have emerged. A promising one, known as software transactional memory (STM), aims to use transactions as the key synchronization mechanism to ease program development as well as increase its performance. Many (if not all) of the current STM implementations target homogeneous architectures. In this paper we describe an implementation of an STM system for an asymmetric architecture, the Cell BE. We evaluated our Transactional Software Cache (TSC) mechanism using a well-known micro-benchmark (IntSet) and the Genome application from STAMP. The results show that an STM implementation for the Cell architecture is feasible if the shared-memory programming model is adopted. When compared to a conventional lock-based implementation, the STM version of Genome obtained a performance gain of 84% and 24% with large and small input sets, respectively.