CO538: Concurrency Design and Practice
Bonus Lecture: Other Concurrency Models
- Dr. Fred Barnes
S113, Computing Laboratory (ext. 4278) frmb@kent.ac.uk
(ack to Matt Groening for Nibbler)
CO538
CO538: Concurrency Design and Practice Bonus Lecture: Other - - PDF document
CO538: Concurrency Design and Practice Bonus Lecture: Other Concurrency Models Dr. Fred Barnes S113, Computing Laboratory (ext. 4278) frmb@kent.ac.uk (ack to Matt Groening for Nibbler) CO538 So Far ... Were all fairly familiar with the
(ack to Matt Groening for Nibbler)
CO538
CO538
CO538
CO538
CO538
CO538
T0 stack T1 stack T2 stack text data heap
T0 T1 T0 T2 T1
T0 T1 T2 T2 T0 T1 T2 T0 T1 T2 T1 T2 T0 T2 T1 T0
CO538
CO538
CO538
CO538
waking threads must wait for the mutex, eventually let back in (maybe)
CO538
CO538
CO538
CO538
CO538
CO538
load-linked instruction marks the start
if the memory at &rq changed since the load-linked, store-conditional fails in which case, we jump back and retry the operation
CO538
CO538
CO538
CO538
CO538
CO538
CO538
CO538
CO538
CO538
CO538
CO538
CO538
CO538
CO538
CO538
CO538
Benton, N., Cardelli, L., and Fournet, C. (2004). Modern concurrency abstractions for C#. ACM Transactions on Programming Languages and Systems, 26(5):769–804. Brown, N. (2008). Communicating Haskell Processes: Composable Explicit Concurrency Using Monads. In Communicating Process Architectures 2008. IOS Press. Fournet, C. and Gonthier, G. (1996). The reflexive CHAM and the join-calculus. In Proceedings of the 23rd ACM Symposium on Principles of Programming Languages, pages 372–385. ACM Press. Harris, T., Marlow, S., Peyton-Jones, S., and Herlihy, M. (2005). Composable Memory Transactions. In PPoPP ’05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and Practice of Parallel Programming, pages 48–60, New York, NY, USA. ACM Press. Hoare, C. (1985). Communicating Sequential Processes. Prentice-Hall, London. ISBN: 0-13-153271-5. Milner, R. (1999). Communicating and Mobile Systems: the Pi-Calculus. Cambridge University Press. ISBN: 0-52165-869-1. Shavit, N. and Touitou, D. (1995). Software Transactional Memory. In PODC ’95: Proceedings of the fourteenth annual ACM symposium on Principles of Distributed Computing, pages 204–213, New York, NY, USA. ACM Press.