Practical experience with Nebelung: the runtime support for transactional memory and OpenMP
Document typeExternal research report
Rights accessOpen Access
Transactional Memory (TM) is a key future technology for emerging many-cores. On the other hand, OpenMP provides a vast established base for writing parallel programs, especially for scientific applications. Combining TM with OpenMP provides a rich, enhanced programming environment and an attractive solution to the many-core software productivity problem. In this paper, we discuss the runtime environment for supporting our combined TM and OpenMP framework. Through motivating examples, we briefly illustrate how the combined TM/OpenMP can facilitate writing parallel programs. We then discuss issues in runtime environment design. In another contribution, we introduce a set of applications that we specifically developed for our combined TM/OpenMP framework. Using those applications, we show how we can use the rich features provided by TM such as retry to support efficient TM/OpenMP programs. We also include an initial performance analysis of the runtime using the applications.
CitationMilovanovic, M., Ferrer, R., Gajinov, V., Unsal, O., Cristal, A., Ayguadé, E., Valero, M. "Practical experience with Nebelung: the runtime support for transactional memory and OpenMP". 2007.
Is part ofUPC-DAC-RR-GEN-2007-4