Dissecting Transactional Executions in Haskell
نویسندگان
چکیده
In this paper, we present a Haskell Transactional Memory benchmark in order to provide a comprehensive application suite for the use of Software Transactional Memory (STM) researchers. We develop a framework to profile the execution of the benchmark applications and to collect detailed runtime data on their transactional behavior. Using a composite of the collected raw data, we propose new transactional performance metrics. We analyze key statistics relative to critical regions, transactional log-keeping and overall transactional overhead and accordingly draw conclusions on the results of our extensive analysis of the set of applications. The results advance our comprehension on different characteristics of applications under the transactional management of the pure functional programming language, Haskell.
منابع مشابه
Profiling Transactional Memory applications on an atomic block basis: A Haskell case study
In many recent works in Transactional Memory (TM), researchers have profiled TM applications based on execution data using lumped pertransaction averages. This approach both omits meaningful profiling information that can be extracted from the transactional program and hides potentially useful clues that can be used to discover the bottlenecks of the TM system. In this study, we propose partiti...
متن کاملA Haskell-Implementation of STM Haskell with Early Conflict Detection
Software transactional memory treats operations on the shared memory in concurrent programs like data base transactions. STM Haskell integrates this approach in Haskell and provides combinators to build software transactions in a composable way. In previous work we introduced the process calculus CSHF as a formal model for a concurrent implementation of software transactional memory in Concurre...
متن کاملComparando o Desempenho de Implementações de Tabelas Hash Concorrentes em Haskell
An algorithm which explores performance on concurrent hash tables is far from being a non-trivial computation task. This paper presents seven hash table Haskell implementations, which include low level synchronism models to high level ones such as transactional memories. The result of the comparison between the algorithms showed that the implementation using the STM Haskell transactional memory...
متن کاملAn Update on Haskell H/STM
At TRANSACT 2014 we described plans and a preliminary implementation for a hybrid TM for the Glasgow Haskell Compiler. Here we give an update on our work and new performance results on a 72-thread Intel Haswell system showing that hardware transactional memory can improve the performance of Haskell TM at realistic scales. We describe our constant space approach to supporting transaction blockin...
متن کاملunreadTVar: Extending Haskell Software Transactional Memory for Performance
As new trends in computer architecture lead towards shared-memory chip multiprocessors (CMP), the rules for programming these machines are significantly changing. In the search for alternatives to deadlock-prone lock-based concurrency protocols, Software Transactional Memory (STM) extensions to Haskell have provided an easy-to-use lock-free abstraction mechanism for concurrent programming, usin...
متن کامل