vg_headon Lobsters • Recommends
Using STM for Modular Concurrency: An Industrial Experience Report on Software Transactional Memory (2020)
#stm#softwaretransactionalmemory#concurrencypatterns
11K subscribers • 61 videos on Hallway
Intermediate. Assumes working knowledge.
1.3K views6 years ago2 recommendations
Programming languagesDistributed systemsHaskellConcurrency and parallelism
This talk shares large-scale design patterns, testing techniques, and industrial experiences using Software Transactional Memory (STM) in Haskell.
icfp20.sigplan.org/details/haskellsymp-2020-papers/1/Using-S… Software Transactional Memory (STM) has been available within Haskell for around fifteen years, yet it remains a somewhat under-appreciated feature. This talk aims to redress that by sharing the experiences from a recent successful industrial project that relies extensively and fundamentally on STM. There are good articles, book chapters and blogs on STM at the micro level: looking at the details of the primitives and how to use them to build bigger abstractions. This talk will try to focus on STM at the macro level: larger scale design patterns, how it fits into a system as a whole, and testing techniques. The focus of this experience report is the application of STM in the context of highly concurrent systems with many modular concurrent components, and the use of STM to help structure the communication and interaction of these components. This contrasts for example with a database pattern where many threads executing transitions on one bundle of shared state.What people say. Recommended as a great real-world case study demonstrating the benefits and production readiness of Software Transactional Memory.
vg_headon Lobsters • Recommends
u/n00bombin r/haskell • Recommends
On “What's the best way to follow Edward Kmett's work?”