Explore the development of a lock-free software transactional memory (STM) implementation for OCaml in this conference talk from OCaML'23. Dive into the evolution of the kcas library, originally designed for atomic lock-free multi-word compare-and-set operations, and its transformation into a comprehensive STM solution. Learn about composable transactions, scheduler-friendly modular blocking, and the accompanying library of composable lock-free data structures. Examine key concepts such as KCAS overview, transaction mechanics, location states, blocking and timeouts, performance considerations, and potential hardware support for this innovative approach to concurrent programming in OCaml.
Overview
Syllabus
Introduction
Transactional Memory
KCAS
KCAS Overview
KCAS Transactions
Location State
Transaction Overview
Blocking and Timeouts
Tradeoff
Performance
Hardware support
Taught by
ACM SIGPLAN