print page

Programming Techniques for Multi-Core Architectures

Project Description

The move to multi-core architectures in the end user domain currently happening forces the software industry to move to parallel programming techniques. Parallelisation is known to be a complex task and still challenging for experienced programmers as well. In the area programming techniques for multi-core architectures we are looking for techniques to ease parallel programming.

Publications

Holger Machens and Volker Turau. Opacity of Memory Management in Software Transactional Memory. Technical Report Report arXiv:1308.2881, arXiv.org e-Print Archive - Computing Research Repository (CoRR), Cornell University, August 2013.
@TechReport{Telematik_MT_2013_OPACITY_of_MM_in_TM, author = {Holger Machens and Volker Turau}, title = {Opacity of Memory Management in Software Transactional Memory}, number = {Report arXiv:1308.2881}, institution = {arXiv.org e-Print Archive - Computing Research Repository (CoRR)}, address = {Cornell University}, month = aug, year = 2013, }
Abstract: Opacity of Transactional Memory is proposed to be established by incremental validation. Quiescence in terms of epoch-based memory reclamation is applied to deal with doomed transactions causing memory access violations. This method unfortunately involves increased memory consumption and does not cover reclamations outside of transactions. This paper introduces a different method which combines incremental validation with elements of sandboxing to solve these issues.
Holger Machens and Volker Turau. Avoiding Publication and Privatization Problems on Software Transactional Memory. In 17th GI/ITG Conference on Communication in Distributed Systems (KiVS 2011), Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, February 2011, pp. 97–108. Kiel, Germany.
@InProceedings{Telematik_MT_2011_KIVS, author = {Holger Machens and Volker Turau}, title = {Avoiding Publication and Privatization Problems on Software Transactional Memory}, booktitle = {17th GI/ITG Conference on Communication in Distributed Systems (KiVS 2011)}, pages = {97-108}, series = {OpenAccess Series in Informatics (OASIcs)}, volume = {17}, publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik}, day = {25}, month = feb, year = 2011, location = {Kiel, Germany}, }
Abstract: This paper presents a new approach to exclude problems arising from dynamically switching between protected concurrent and unprotected single-threaded use of shared data when using software transactional memory in OO languages such as Java. The approach is based on a simple but effective programming model separating transactions from non-transactional operation. It prevents the application programmer from errors but does not force the software transactional memory library to observe non-transactional access and thereby preserves modularity of the software. A prototypical toolchain for validation and source code instrumentation was implemented as a proof of concept.

Students' theses

Completed Theses