Investigating STM in Haskell as an Alternative to Programming Systems with Shared Memory

This work proposes to investigate the use of Software Transactional Memory (STM) as a programming alternative for parallel architectures with shared memory. First, we study the concept of parallel programming and its main characteristics. Then we describe the STM approach for parallel programming, a...

Full description

Bibliographic Details
Main Authors: Ernâni Teixeira Liberali, Juliana Kaiser Vizzotto
Format: Article
Language:English
Published: Universidade de Passo Fundo (UPF) 2010-03-01
Series:Revista Brasileira de Computação Aplicada
Subjects:
STM
Online Access:http://www.upf.br/seer/index.php/rbca/article/view/754
Description
Summary:This work proposes to investigate the use of Software Transactional Memory (STM) as a programming alternative for parallel architectures with shared memory. First, we study the concept of parallel programming and its main characteristics. Then we describe the STM approach for parallel programming, as well its application in the context of functional programming languages, in special Haskell. As a case study to illustrate the advantages of using STM, we show the implementation in Haskell of the classic problem of synchronization, the dining philosophers problem. Finally, aiming to demonstrate the simplicity and elegance of codes with STM in Haskell, it compares this implementation with another implementation of the same problem using the mechanism of synchronization monitors in Java.
ISSN:2176-6649