{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,10]],"date-time":"2026-04-10T03:10:46Z","timestamp":1775790646806,"version":"3.50.1"},"publisher-location":"Cham","reference-count":39,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783319898834","type":"print"},{"value":"9783319898841","type":"electronic"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-319-89884-1_33","type":"book-chapter","created":{"date-parts":[[2018,4,14]],"date-time":"2018-04-14T01:02:32Z","timestamp":1523667752000},"page":"940-967","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":12,"title":["On Parallel Snapshot Isolation and Release\/Acquire Consistency"],"prefix":"10.1007","author":[{"given":"Azalea","family":"Raad","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ori","family":"Lahav","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Viktor","family":"Vafeiadis","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,4,14]]},"reference":[{"key":"33_CR1","unstructured":"The Clojure Language: Refs and Transactions. http:\/\/clojure.org\/refs"},{"key":"33_CR2","unstructured":"Haskell STM. http:\/\/hackage.haskell.org\/package\/stm-2.2.0.1\/docs\/Control-Concurrent-STM.html"},{"key":"33_CR3","unstructured":"Software transactional memory (Scala). https:\/\/doc.akka.io\/docs\/akka\/1.2\/scala\/stm.html"},{"key":"33_CR4","unstructured":"Technical appendix for this paper. http:\/\/plv.mpi-sws.org\/transactions\/"},{"key":"33_CR5","unstructured":"Generalized isolation level definitions. In: Proceedings of the 16th International Conference on Data Engineering (2000)"},{"key":"33_CR6","unstructured":"Technical specification for C++ extensions for transactional memory (2015). http:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2015\/n4514.pdf"},{"key":"33_CR7","unstructured":"Adya, A.: Weak consistency: a generalized theory and optimistic implementations for distributed transactions. Ph.D. thesis, MIT (1999)"},{"issue":"2","key":"33_CR8","doi-asserted-by":"publisher","first-page":"7:1","DOI":"10.1145\/2627752","volume":"36","author":"J Alglave","year":"2014","unstructured":"Alglave, J., Maranget, L., Tautschnig, M.: Herding cats: modelling, simulation, testing, and data mining for weak memory. ACM Trans. Program. Lang. Syst. 36(2), 7:1\u20137:74 (2014)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"33_CR9","doi-asserted-by":"crossref","unstructured":"Batty, M., Owens, S., Sarkar, S., Sewell, P., Weber, T.: Mathematizing C++ concurrency. In: Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 55\u201366 (2011)","DOI":"10.1145\/1926385.1926394"},{"key":"33_CR10","doi-asserted-by":"crossref","unstructured":"Berenson, H., Bernstein, P., Gray, J., Melton, J., O\u2019Neil, E., O\u2019Neil, P.: A critique of ANSI SQL isolation levels. In: Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data, pp. 1\u201310 (1995)","DOI":"10.1145\/223784.223785"},{"key":"33_CR11","doi-asserted-by":"crossref","unstructured":"Bieniusa, A., Fuhrmann, T.: Consistency in hindsight: a fully decentralized STM algorithm. In: Proceedings of the 2010 IEEE International Symposium on Parallel and Distributed Processing, IPDPS 2010, pp. 1\u201312 (2010)","DOI":"10.1109\/IPDPS.2010.5470446"},{"key":"33_CR12","unstructured":"Blundell, C., Lewis, E.C., Martin, M.M.K.: Deconstructing transactions: the subtleties of atomicity. In: 4th Annual Workshop on Duplicating, Deconstructing, and Debunking (2005)"},{"key":"33_CR13","doi-asserted-by":"crossref","unstructured":"Boehm, H.J.: Can seqlocks get along with programming language memory models? In: Proceedings of the 2012 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, pp. 12\u201320 (2012)","DOI":"10.1145\/2247684.2247688"},{"key":"33_CR14","doi-asserted-by":"crossref","unstructured":"Cerone, A., Gotsman, A.: Analysing snapshot isolation. In: Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing, pp. 55\u201364 (2016)","DOI":"10.1145\/2933057.2933096"},{"key":"33_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"388","DOI":"10.1007\/978-3-662-48653-5_26","volume-title":"Distributed Computing","author":"A Cerone","year":"2015","unstructured":"Cerone, A., Gotsman, A., Yang, H.: Transaction chopping for parallel snapshot isolation. In: Moses, Y. (ed.) DISC 2015. LNCS, vol. 9363, pp. 388\u2013404. Springer, Heidelberg (2015). https:\/\/doi.org\/10.1007\/978-3-662-48653-5_26"},{"key":"33_CR16","unstructured":"Daudjee, K., Salem, K.: Lazy database replication with snapshot isolation. In: Proceedings of the 32nd International Conference on Very Large Data Bases, pp. 715\u2013726 (2006)"},{"key":"33_CR17","doi-asserted-by":"crossref","unstructured":"Harris, T., Marlow, S., Peyton-Jones, S., Herlihy, M.: Composable memory transactions. In: Proceedings of the Tenth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 48\u201360 (2005)","DOI":"10.1145\/1065944.1065952"},{"key":"33_CR18","unstructured":"Hemminger, S.: Fast reader\/writer lock for gettimeofday 2.5.30. http:\/\/lwn.net\/Articles\/7388\/"},{"key":"33_CR19","doi-asserted-by":"crossref","unstructured":"Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: Proceedings of the 20th Annual International Symposium on Computer Architecture, pp. 289\u2013300 (1993)","DOI":"10.1145\/165123.165164"},{"key":"33_CR20","doi-asserted-by":"crossref","unstructured":"Hickey, R.: The Clojure programming language. In: Proceedings of the 2008 Symposium on Dynamic Languages, p. 1:1 (2008)","DOI":"10.1145\/1408681.1408682"},{"key":"33_CR21","doi-asserted-by":"crossref","unstructured":"Lahav, O., Giannarakis, N., Vafeiadis, V.: Taming release-acquire consistency. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 649\u2013662 (2016)","DOI":"10.1145\/2837614.2837643"},{"key":"33_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"311","DOI":"10.1007\/978-3-662-47666-6_25","volume-title":"Automata, Languages, and Programming","author":"O Lahav","year":"2015","unstructured":"Lahav, O., Vafeiadis, V.: Owicki-Gries reasoning for weak memory models. In: Halld\u00f3rsson, M.M., Iwama, K., Kobayashi, N., Speckmann, B. (eds.) ICALP 2015, Part II. LNCS, vol. 9135, pp. 311\u2013323. Springer, Heidelberg (2015). https:\/\/doi.org\/10.1007\/978-3-662-47666-6_25"},{"key":"33_CR23","unstructured":"Lameter, C.: Effective synchronization on Linux\/NUMA systems (2005). http:\/\/www.lameter.com\/gelato2005.pdf"},{"issue":"9","key":"33_CR24","doi-asserted-by":"publisher","first-page":"690","DOI":"10.1109\/TC.1979.1675439","volume":"28","author":"L Lamport","year":"1979","unstructured":"Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. 28(9), 690\u2013691 (1979)","journal-title":"IEEE Trans. Comput."},{"issue":"1","key":"33_CR25","doi-asserted-by":"crossref","first-page":"383","DOI":"10.1145\/2644865.2541952","volume":"42","author":"H Litz","year":"2014","unstructured":"Litz, H., Cheriton, D., Firoozshahian, A., Azizi, O., Stevenson, J.P.: SI-TM: reducing transactional memory abort rates through snapshot isolation. SIGPLAN Not. 42(1), 383\u2013398 (2014)","journal-title":"SIGPLAN Not."},{"issue":"4","key":"33_CR26","doi-asserted-by":"publisher","first-page":"65:1","DOI":"10.1145\/2693260","volume":"11","author":"H Litz","year":"2015","unstructured":"Litz, H., Dias, R.J., Cheriton, D.R.: Efficient correction of anomalies in snapshot isolation transactions. ACM Trans. Archit. Code Optim. 11(4), 65:1\u201365:24 (2015)","journal-title":"ACM Trans. Archit. Code Optim."},{"issue":"2","key":"33_CR27","first-page":"17","volume":"5","author":"M Martin","year":"2006","unstructured":"Martin, M., Blundell, C., Lewis, E.: Subtleties of transactional memory atomicity semantics. IEEE Comput. Archit. Lett. 5(2), 17 (2006)","journal-title":"IEEE Comput. Archit. Lett."},{"issue":"5","key":"33_CR28","doi-asserted-by":"publisher","first-page":"15","DOI":"10.1145\/1402227.1402235","volume":"43","author":"V Menon","year":"2008","unstructured":"Menon, V., Balensiefer, S., Shpeisman, T., Adl-Tabatabai, A.R., Hudson, R.L., Saha, B., Welc, A.: Single global lock semantics in a weakly atomic STM. SIGPLAN Not. 43(5), 15\u201326 (2008)","journal-title":"SIGPLAN Not."},{"key":"33_CR29","first-page":"391","volume-title":"Lecture Notes in Computer Science","author":"Scott Owens","year":"2009","unstructured":"Owens, S., Sarkar, S., Sewell, P.: A better x86 memory model: x86-TSO. In: Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics, pp. 391\u2013407 (2009)"},{"key":"33_CR30","unstructured":"Peng, D., Dabek, F.: Large-scale incremental processing using distributed transactions and notifications. In: Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, pp. 251\u2013264 (2010)"},{"issue":"POPL","key":"33_CR31","doi-asserted-by":"publisher","first-page":"19:1","DOI":"10.1145\/3158107","volume":"2","author":"C Pulte","year":"2017","unstructured":"Pulte, C., Flur, S., Deacon, W., French, J., Sarkar, S., Sewell, P.: Simplifying ARM concurrency: multicopy-atomic axiomatic and operational models for ARMv8. Proc. ACM Program. Lang. 2(POPL), 19:1\u201319:29 (2017). http:\/\/doi.acm.org\/10.1145\/3158107","journal-title":"Proc. ACM Program. Lang."},{"key":"33_CR32","doi-asserted-by":"crossref","unstructured":"Rajwar, R., Goodman, J.R.: Speculative lock elision: enabling highly concurrent multithreaded execution. In: Proceedings of the 34th Annual ACM\/IEEE International Symposium on Microarchitecture, pp. 294\u2013305 (2001)","DOI":"10.1109\/MICRO.2001.991127"},{"key":"33_CR33","doi-asserted-by":"crossref","unstructured":"Serrano, D., Patino-Martinez, M., Jimenez-Peris, R., Kemme, B.: Boosting database replication scalability through partial replication and 1-copy-snapshot-isolation. In: Proceedings of the 13th Pacific Rim International Symposium on Dependable Computing, pp. 290\u2013297 (2007)","DOI":"10.1109\/PRDC.2007.39"},{"issue":"7","key":"33_CR34","doi-asserted-by":"publisher","first-page":"89","DOI":"10.1145\/1785414.1785443","volume":"53","author":"P Sewell","year":"2010","unstructured":"Sewell, P., Sarkar, S., Owens, S., Zappa Nardelli, F., Myreen, M.O.: x86-TSO: a rigorous and usable programmer\u2019s model for x86 multiprocessors. Commun. ACM 53(7), 89\u201397 (2010)","journal-title":"Commun. ACM"},{"key":"33_CR35","doi-asserted-by":"crossref","unstructured":"Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, pp. 204\u2013213 (1995)","DOI":"10.1145\/224964.224987"},{"key":"33_CR36","doi-asserted-by":"crossref","unstructured":"Sovran, Y., Power, R., Aguilera, M.K., Li, J.: Transactional storage for geo-replicated systems. In: Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, pp. 385\u2013400 (2011)","DOI":"10.1145\/2043556.2043592"},{"key":"33_CR37","unstructured":"CORPORATE SPARC International Inc.: The SPARC Architecture Manual: Version 8 (1992)"},{"key":"33_CR38","unstructured":"CORPORATE SPARC International Inc.: The SPARC Architecture Manual (Version 9) (1994)"},{"key":"33_CR39","doi-asserted-by":"crossref","unstructured":"Vafeiadis, V., Narayan, C.: Relaxed separation logic: a program logic for c11 concurrency. In: Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages and Applications, pp. 867\u2013884 (2013)","DOI":"10.1145\/2509136.2509532"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-89884-1_33","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,10,31]],"date-time":"2020-10-31T19:27:49Z","timestamp":1604172469000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-89884-1_33"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319898834","9783319898841"],"references-count":39,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-89884-1_33","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018]]}}}