Two libraries for multi-threaded lisp programming
Pcall
PCall, or parallel call, is a Common Lisp library intended to simplify ‘result-oriented’ parallelism. It uses a thread pool to concurrently run small computations without spawning a new thread. This makes it possible to exploit multiple cores without much extra fuss.
CL-STM
CL-STM is an extension of Common Lisp to support composable Software Transactional Memory. STM makes concurrent programming qualitatively better. Instead of traditional lock-based programming, you program with atomic transactions. Atomic transactions can be composed together to make larger atomic transactions. Finally, it just so happens that transactions run in parallel, and are rolled back if there are conflicts.
STM gives us freedom from deadlock, automatic roll-back on failure, and it resolves the tension between granularity and concurrency.
About this entry
You’re currently reading “Two libraries for multi-threaded lisp programming,” an entry on rogersm.net
- Published:
- 10.30.08 / 3pm
- Category:
- lisp, programming, reference
No comments
Jump to comment form | comments rss [?] | trackback uri [?]