{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T15:46:24Z","timestamp":1742917584030,"version":"3.40.3"},"publisher-location":"Cham","reference-count":25,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319969824"},{"type":"electronic","value":"9783319969831"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-319-96983-1_33","type":"book-chapter","created":{"date-parts":[[2018,7,31]],"date-time":"2018-07-31T15:50:06Z","timestamp":1533052206000},"page":"465-479","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Snapshot-Based Synchronization: A Fast Replacement for Hand-over-Hand Locking"],"prefix":"10.1007","author":[{"given":"Eran","family":"Gilad","sequence":"first","affiliation":[]},{"given":"Trevor","family":"Brown","sequence":"additional","affiliation":[]},{"given":"Mark","family":"Oskin","sequence":"additional","affiliation":[]},{"given":"Yoav","family":"Etsion","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2018,8,1]]},"reference":[{"key":"33_CR1","volume-title":"The Art of Multiprocessor Programming","author":"M Herlihy","year":"2008","unstructured":"Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann Publishers Inc., Los Altos (2008)"},{"issue":"1","key":"33_CR2","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1145\/103727.103729","volume":"9","author":"JM Mellor-Crummey","year":"1991","unstructured":"Mellor-Crummey, J.M., Scott, M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. 9(1), 21\u201365 (1991)","journal-title":"ACM Trans. Comput. Syst."},{"key":"33_CR3","doi-asserted-by":"crossref","unstructured":"Dice, D., Marathe, V.J., Shavit, N.: Lock cohorting: a general technique for designing NUMA locks. In: Symposium on Principles and Practices of Parallel Programming (PPoPP) (2012)","DOI":"10.1145\/2145816.2145848"},{"issue":"2","key":"33_CR4","doi-asserted-by":"publisher","first-page":"375","DOI":"10.1109\/TPDS.2011.159","volume":"23","author":"M Desnoyers","year":"2012","unstructured":"Desnoyers, M., McKenney, P.E., Stern, A.S., Dagenais, M.R., Walpole, J.: User-level implementations of read-copy update. IEEE Trans. Parallel Distrib. Syst. 23(2), 375\u2013382 (2012)","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"key":"33_CR5","doi-asserted-by":"crossref","unstructured":"Akkan, H., Lang, M., Ionkov, L.: HPC runtime support for fast and power efficient locking and synchronization. In: International Conference on Cluster Computing (2013)","DOI":"10.1109\/CLUSTER.2013.6702659"},{"key":"33_CR6","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/BF00263762","volume":"9","author":"R Bayer","year":"1977","unstructured":"Bayer, R., Schkolnick, M.: Concurrency of operations on B-trees. Acta Inform. 9, 1\u201321 (1977)","journal-title":"Acta Inform."},{"issue":"4","key":"33_CR7","doi-asserted-by":"publisher","first-page":"2:1","DOI":"10.1145\/1326542.1326544","volume":"3","author":"O Rodeh","year":"2008","unstructured":"Rodeh, O.: B-trees, shadowing, and clones. ACM Trans. Storage 3(4), 2:1\u20132:27 (2008)","journal-title":"ACM Trans. Storage"},{"key":"33_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"343","DOI":"10.1007\/978-3-642-20398-5_25","volume-title":"NASA Formal Methods","author":"A S\u00e1nchez","year":"2011","unstructured":"S\u00e1nchez, A., S\u00e1nchez, C.: A theory of skiplists with applications to the verification of concurrent datatypes. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 343\u2013358. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-20398-5_25"},{"key":"33_CR9","doi-asserted-by":"crossref","unstructured":"Ohene-Kwofie, D., Otoo, E.J., Nimako, G.: Concurrent operations of O2-tree on shared memory multicore architectures. In: Australasian DB Conference (ADC) (2013)","DOI":"10.4108\/sis.1.3.e6"},{"key":"33_CR10","doi-asserted-by":"crossref","unstructured":"Golan-Gueta, G., Bronson, N., Aiken, A., Ramalingam, G., Sagiv, M., Yahav, E.: Automatic fine-grain locking using shape properties. In: Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) (2011)","DOI":"10.1145\/2048066.2048086"},{"key":"33_CR11","unstructured":"Tamir, O., Morrison, A., Rinetzky, N.: A heap-based concurrent priority queue with mutable priorities for faster parallel algorithms. In: International Conference on Principles of Distributed Systems (OPODIS) (2016)"},{"issue":"4","key":"33_CR12","doi-asserted-by":"publisher","first-page":"361","DOI":"10.1007\/BF01263046","volume":"2","author":"V Srinivasan","year":"1993","unstructured":"Srinivasan, V., Carey, M.J.: Performance of B+ tree concurrency control algorithms. Very Large Databases J. (JVLDB) 2(4), 361\u2013406 (1993)","journal-title":"Very Large Databases J. (JVLDB)"},{"key":"33_CR13","doi-asserted-by":"crossref","unstructured":"Mao, Y., Kohler, E., Morris, R.T.: Cache craftiness for fast multicore key-value storage. In: European Conference on Computer Systems (EUROSYS) (2012)","DOI":"10.1145\/2168836.2168855"},{"issue":"1","key":"33_CR14","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/s007780050030","volume":"6","author":"G Evangelidis","year":"1997","unstructured":"Evangelidis, G., Lomet, D., Salzberg, B.: The hB$$^{\\mathit{\\Pi }}$$-tree: a multi-attribute index supporting concurrency, recovery and node consolidation. Very Large Databases J. (JVLDB) 6(1), 1\u201325 (1997)","journal-title":"Very Large Databases J. (JVLDB)"},{"issue":"2","key":"33_CR15","doi-asserted-by":"publisher","first-page":"257","DOI":"10.1007\/s00778-004-0140-6","volume":"14","author":"I Jaluta","year":"2005","unstructured":"Jaluta, I., Sippu, S., Soisalon-Soininen, E.: Concurrency control and recovery for balanced B-link trees. Very Large Databases J. (JVLDB) 14(2), 257\u2013277 (2005)","journal-title":"Very Large Databases J. (JVLDB)"},{"key":"33_CR16","doi-asserted-by":"publisher","first-page":"1178","DOI":"10.1109\/TC.1985.6312216","volume":"34","author":"CS Ellis","year":"1985","unstructured":"Ellis, C.S.: Distributed data structures: a case study. IEEE Trans. Comput. 34, 1178\u20131185 (1985)","journal-title":"IEEE Trans. Comput."},{"key":"33_CR17","doi-asserted-by":"crossref","unstructured":"Gilad, E., Mayzels, T., Raab, E., Oskin, M., Etsion, Y.: Towards a deterministic fine-grained task ordering using multi-versioned memory. In: Computer Architecture and High Performance Computing (SBAC-PAD) (2017)","DOI":"10.1109\/SBAC-PAD.2017.21"},{"key":"33_CR18","doi-asserted-by":"crossref","unstructured":"Attiya, H., Ramalingam, G., Rinetzky, N.: Sequential verification of serializability. In: Symposium on Principles of Programming Languages (POPL) (2010)","DOI":"10.1145\/1706299.1706305"},{"key":"33_CR19","doi-asserted-by":"crossref","unstructured":"Vafeiadis, V., Herlihy, M., Hoare, T., Shapiro, M.: Proving correctness of highly-concurrent linearisable objects. In: Symposium on Principles and Practices of Parallel Programming (PPoPP) (2006)","DOI":"10.1145\/1122971.1122992"},{"key":"33_CR20","doi-asserted-by":"crossref","unstructured":"Tullsen, D.M., Lo, J.L., Eggers, S.J., Levy, H.M.: Supporting fine-grained synchronization on a simultaneous multithreading processor. In: Symposium on High-Performance Computer Architecture (HPCA) (1999)","DOI":"10.1109\/HPCA.1999.744326"},{"key":"33_CR21","doi-asserted-by":"crossref","unstructured":"Zhu, W., Sreedhar, V.C., Hu, Z., Gao, G.R.: Synchronization state buffer: supporting efficient fine-grain synchronization on many-core architectures. In: International Symposium on Computer Architecture (ISCA) (2007)","DOI":"10.1145\/1250662.1250668"},{"key":"33_CR22","unstructured":"Yan, J., Tan, G., Zhang, X., Yao, E., Sun, N.: vLock: lock virtualization mechanism for exploiting fine-grained parallelism in graph traversal algorithms. In: International Symposium on Code Generation and Optimization (CGO) (2013)"},{"key":"33_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"194","DOI":"10.1007\/11864219_14","volume-title":"Distributed Computing","author":"D Dice","year":"2006","unstructured":"Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194\u2013208. Springer, Heidelberg (2006). https:\/\/doi.org\/10.1007\/11864219_14"},{"key":"33_CR24","doi-asserted-by":"crossref","unstructured":"Segulja, C., Abdelrahman, T.: Architectural support for synchronization-free deterministic parallel programming. In: Symposium on High-Performance Computer Architecture (HPCA) (2012)","DOI":"10.1109\/HPCA.2012.6169038"},{"key":"33_CR25","doi-asserted-by":"crossref","unstructured":"Gilad, E., Mayzels, T., Raab, E., Oskin, M., Etsion, Y.: Architectural support for unlimited memory versioning and renaming. In: International Parallel and Distributed Processing Symposium (IPDPS) (2018)","DOI":"10.1109\/IPDPS.2018.00023"}],"container-title":["Lecture Notes in Computer Science","Euro-Par 2018: Parallel Processing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-96983-1_33","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,8,1]],"date-time":"2022-08-01T01:07:50Z","timestamp":1659316070000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-96983-1_33"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319969824","9783319969831"],"references-count":25,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-96983-1_33","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]},"assertion":[{"value":"1 August 2018","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"Euro-Par","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"European Conference on Parallel Processing","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Turin","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Italy","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"27 August 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"31 August 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"24","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"europar2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/europar2018.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"This content has been made available to all.","name":"free","label":"Free to read"}]}}