Implementing Software Transactional Memory using STM Haskell in this part of Transactional Memory
The speed of processor getting slow down with the increment of writing a concurrent program, the necessity to write concurrent programs is increasing as systems are getting more complex while processor speed increases are slowing down. The current popular solution for parallel programming is to use locks but they contain many known drawbacks that make them a suboptimal solution. Transactional Memory is a recent alternative to locks that is gaining a lot of attention in the research community. In this survey paper, I explain the concept of transactional memory and identify its various benefits and limitations. Work on software, hardware and hybrid approaches to transactional memory is presented as well as a way to combine transactional code with code that uses locks. Software Transactional Memory (STM) as a promising programming abstract from shared variable concurrency. A paper presented it could be a brief representation from one of the currently proposed STM and addresses this need from STM implementation. Describes this is implementation techniques for STM in STM Haskell. In this STM implementation process, two different approaches have been presented would employ different execution policies. In this evaluation process, transactions with varying execution length a being considered when being executed in a multi-threaded environment.
Keywords - Software Transactional Memory, Haskell, Locks, Non-Blocking Algorithms, Obstruction-Freedom, Abort-Freedom, Throughput, Compositional Reasoning.