Software Transactional Memory for .NET

Amrein, Christoph and Markiewicz, Timothy (2015) Software Transactional Memory for .NET. Bachelor thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of Software Transactional Memory for .NET.pdf]
Preview
Text
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

Actions (login required)

View Item
View Item