Amrein, Christoph and Markiewicz, Timothy (2015) Software Transactional Memory for .NET. Bachelor thesis, HSR Hochschule für Technik Rapperswil.
Software Transactional Memory for .NET.pdf - Supplemental Material
Download (1MB) | Preview
Abstract
Classical multi-threaded programming requires explicit synchronization of shared resources, being a highly challenging task for many software developers: On the one hand, identifying shared resources is non-trivial, easily leading to race conditions in case of under-synchronization. On the other hand, synchronization naturally bears the risk of deadlocks and starvation.
Transactional memory is an alternative concept, significantly simplifying concurrent programming. It employs a descriptive programming model using the notion of transactions, inspired by database systems. A transaction constitutes an atomic sequential execution that is automatically isolated to other concurrent transactions. The runtime system guarantees the correct transactional execution, typically by using an optimistic concurrency control scheme.
We have developed a practical transactional memory programming model and runtime system for the .NET framework. Our experimental evaluation shows that the solution is superior to existing .NET transaction frameworks in terms of performance, correctness, and ease of use. Moreover, it employs Intel TSX hardware transactional memory to increase performance. Last but not least, a refactoring tool for Visual Studio C# assists programmers on migrating existing code to the transactional model.
Item Type: | Thesis (Bachelor) |
---|---|
Subjects: | Topics > Software > Refactoring Area of Application > Development Tools Technologies > Programming Languages > C# Technologies > Frameworks and Libraries > .NET Metatags > IFS (Institute for Software) |
Divisions: | Bachelor of Science FHO in Informatik > Bachelor Thesis |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Bläser, Luc UNSPECIFIED |
Date Deposited: | 17 Mar 2016 08:49 |
Last Modified: | 17 Mar 2016 08:49 |
URI: | https://eprints.ost.ch/id/eprint/474 |