An Integrated Approach to TM on Multi-/Many-core
We currently participate in the VELOX European Project that aims at providing an integrated Approach to Transactional Memory on Multi- and Many-core Computers. The general objective of Velox is to build an integrated hardware/software TM stack (i) to develop new and convert existing applications into real-world TM-based applications that scale easily with the number of cores, (ii) to optimize software and hardware TM-mechanisms using real-world workloads, and (iii) to address unexpected but potential show stoppers for TM deployment.
Here are some of our contributions to the project:
- Elastic transaction, a new transaction model to design highly concurrent TMs;
- STMBench7, a realistic macro-benchmark based on OO7;
- Microbench, a micro-benchmarks suite to evaluate the performance of TM against lock-based and lock-free alternives on common data structures;
- Globulation2, an existing application that we have parallelized using transactions.
Related Publications
Afek et al. (2010) The VELOX Transactional Memory Stack IEEE Micro Special Issue - European Multicore Computing. IEEE MICRO 30(5):76-87.
Gramoli, V., Guerraoui, R., Letia, M. (2010) Composition vs Concurrency 2nd Workshop on the Theory of Transactional Memory (WTTM).
Harmanci, D., Gramoli, V., Felber, P., Fetzer, C. (2010) Extensible Transactional Memory Testbed Journal of Parallel and Distributed Computing - Special Issue on Transactional Memory 70(2010)1053:1067 (JPDC).
Dragojevic A., Felber P., Gramoli V., Guerraoui R. (2010) Why STM can be more than a Research Toy. Communications of the ACM (CACM).
Gramoli, V., Harmanci, D., Felber, P. (2010) On the Input Acceptance of Transactional Memory Parallel Processing Letters 20(1)31:50 (PPL).
Dragojevic, A. and Guerraoui, R. (2010) Predicting the Scalability of an STM: A Pragmatic Approach. 5th ACM SIGPLAN Workshop on Transactional Computing (Transact).
Barreto J., Dragojevic A., Ferreira P., Guerraoui R., Kapalka M. (2010) Leveraging Parallel Nesting in Transactional Memory. Proceedings of the 15th Symposium on Principles and Practice of Parallel Computing (PPoPP).
Felber, P., Gramoli, V., Guerraoui, R. (2009) Elastic Transactions. Proceedings of the 23rd International Symposum on Distributed Computing (DISC).
Dragojevic A., Guerraoui, R., and Kapalka, M. (2009) Stretching Transactional Memory. Proceedings of the ACM SIGPLAN 2009 Conference on Programming Languages Design and Implementation (PLDI).
Harmanci, D., and Felber, P., Gramoli V. and Fetzer, C. (2009) TMunit: Testing Transactional Memories. 4th ACM SIGPLAN Workshop on Transactional Computing (Transact).
Gramoli, V., Harmanci, D. and Felber P. (2008)
Toward a Theory of Input Acceptance for Transactional Memories.
Proceedings of the 12th International Conference on Principles of Distributed Systems (OPODIS).