ABSTRACT
Lock-free data objects offer several advantages over their blocking counterparts, such as being immune to deadlocks and convoying and, more importantly, being highly concurrent. But they share a common disadvantage in that the operations they provide are difficult to compose into larger atomic operations while still guaranteeing lock-freedom. We present a lock-free methodology for composing highly concurrent linearizable objects together by unifying their linearization points. This makes it possible to relatively easily introduce atomic lock-free move operations to a wide range of concurrent objects. Experimental evaluation has shown that the operations originally supported by the data objects keep their performance behavior under our methodology.
- C. Cascaval, C. Blundell, M. Michael, H. W. Cain, P. Wu, S. Chiras, and S. Chatterjee. Software Transactional Memory: Why Is It Only a Research Toy? Queue, 6(5):46--58, 2008. ISSN 1542-7730. doi: http://doi.acm.org/10.1145/1454456.1454466. Google Scholar
Digital Library
- A. Gidenstam, M. Papatriantafilou, and P. Tsigas. NBmalloc: Allocating Memory in a Lock-Free Manner. Algorithmica, 2009. ISSN 0178-4617. doi: http://dx.doi.org/10.1007/s00453-008-9268-x.Google Scholar
- T. Harris, S. Marlow, S. Peyton-Jones, and M. P. Herlihy. 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, 2005. ACM. ISBN 1-59593-080-9. doi: http://doi.acm.org/10.1145/1065944.1065952. Google Scholar
Digital Library
- Intel. Threading Building Blocks, 2009. URL http://threadingbuildingblocks.org.Google Scholar
- J. Larus and C. Kozyrakis. Transactional Memory. Commun. ACM, 51(7):80--88, 2008. ISSN 0001-0782. doi: http://doi.acm.org/10.1145/1364782.1364800. Google Scholar
Digital Library
- D. Lea. The Java Concurrency Package (JSR-166), 2009. URL http://gee.cs.oswego.edu/dl/concurrency-interest.Google Scholar
- M. M. Michael and M. L. Scott. Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms. In PODC '96: Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing, pages 267--275. ACM Press, 1996. ISBN 0897918002. doi: http://dx.doi.org/10.1145/248052.248106. Google Scholar
Digital Library
- Microsoft. Parallel Computing Developer Center, 2009. URL http://msdn.microsoft.com/en-us/concurrency.Google Scholar
- H. Sundell and P. Tsigas. NOBLE: A Non-Blocking Inter-Process Communication Library. In Proceedings of the 6th Workshop on Languages, Compilers and Run-time Systems for Scalable Computers, Lecture Notes in Computer Science. Springer Verlag, 2002. URL http://citeseer.ist.psu.edu/sundell02noble.html.Google Scholar
- R. K. Treiber. Systems programming: Coping with parallelism. In Technical Report RJ 5118, April 1986.Google Scholar
- P. Tsigas and Y. Zhang. Evaluating the performance of non-blocking synchronization on shared-memory multiprocessors. SIGMETRICS Perform. Eval. Rev., 29(1):320--321, 2001. ISSN 0163-5999. doi: http://doi.acm.org/10.1145/384268.378810. Google Scholar
Digital Library
- P. Tsigas and Y. Zhang. Integrating non-blocking synchronisation in parallel applications: performance advantages and methodologies. In WOSP '02: Proceedings of the 3rd international workshop on Software and performance, pages 55--67, New York, NY, USA, 2002. ACM. ISBN 1-58113-563-7. doi: http://doi.acm.org/10.1145/584369.584378. Google Scholar
Digital Library
Index Terms
Supporting lock-free composition of concurrent data objects
Recommendations
Supporting lock-free composition of concurrent data objects
PPoPP '10Lock-free data objects offer several advantages over their blocking counterparts, such as being immune to deadlocks and convoying and, more importantly, being highly concurrent. But they share a common disadvantage in that the operations they provide ...
Supporting lock-free composition of concurrent data objects
CF '10: Proceedings of the 7th ACM international conference on Computing frontiersLock-free data objects offer several advantages over their blocking counterparts, such as being immune to deadlocks and convoying and, more importantly, being highly concurrent. However, composing the operations they provide into larger atomic ...
Supporting Lock-Free Composition of Concurrent Data Objects: Moving Data between Containers
Lock-free data objects offer several advantages over their blocking counterparts, such as being immune to deadlocks, priority inversion, and convoying. They have also been shown to work well in practice. However, composing the operations they provide ...







Comments