{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,1]],"date-time":"2026-06-01T20:34:18Z","timestamp":1780346058998,"version":"3.54.1"},"reference-count":66,"publisher":"Association for Computing Machinery (ACM)","issue":"2","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2022,10]]},"abstract":"<jats:p>\n            <jats:italic>Two-phase commit<\/jats:italic>\n            (2PC) is widely used in distributed databases to ensure atomicity of distributed transactions. Conventional 2PC was originally designed for the shared-nothing architecture and has two limitations:\n            <jats:italic>long latency<\/jats:italic>\n            due to two eager log writes on the critical path, and\n            <jats:italic>blocking<\/jats:italic>\n            of progress when a coordinator fails.\n          <\/jats:p>\n          <jats:p>Modern cloud-native databases are moving to a storage disaggregation architecture where storage is a shared highly-available service. Our key observation is that disaggregated storage enables protocol innovations that can address both the long-latency and blocking problems. We develop Cornus, an optimized 2PC protocol to achieve this goal. The only extra functionality Cornus requires is an atomic compare-and-swap capability in the storage layer, which many existing storage services already support. We present Cornus in detail and show how it addresses the two limitations. We also deploy it on real storage services including Azure Blob Storage and Redis. Empirical evaluations show that Cornus can achieve up to 1.9X latency reduction over conventional 2PC.<\/jats:p>","DOI":"10.14778\/3565816.3565837","type":"journal-article","created":{"date-parts":[[2022,11,24]],"date-time":"2022-11-24T00:35:16Z","timestamp":1669250116000},"page":"379-392","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":11,"title":["Cornus"],"prefix":"10.14778","volume":"16","author":[{"given":"Zhihan","family":"Guo","sequence":"first","affiliation":[{"name":"University of Wisconsin-Madison"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Xinyu","family":"Zeng","sequence":"additional","affiliation":[{"name":"University of Wisconsin-Madison"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Kan","family":"Wu","sequence":"additional","affiliation":[{"name":"University of Wisconsin-Madison"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Wuh-Chwen","family":"Hwang","sequence":"additional","affiliation":[{"name":"University of Wisconsin-Madison"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ziwei","family":"Ren","sequence":"additional","affiliation":[{"name":"University of Wisconsin-Madison"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Xiangyao","family":"Yu","sequence":"additional","affiliation":[{"name":"University of Wisconsin-Madison"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Mahesh","family":"Balakrishnan","sequence":"additional","affiliation":[{"name":"Confluent, Inc."}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Philip A.","family":"Bernstein","sequence":"additional","affiliation":[{"name":"Microsoft Research"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2022,11,23]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"[n.d.]. Amazon DynamoDB: Allows item-level access to DynamoDB based on an Amazon Cognito ID. https:\/\/docs.aws.amazon.com\/IAM\/latest\/UserGuide\/reference_policies_examples_dynamodb_items.html. (visited on 2022\/03\/01).  [n.d.]. Amazon DynamoDB: Allows item-level access to DynamoDB based on an Amazon Cognito ID. https:\/\/docs.aws.amazon.com\/IAM\/latest\/UserGuide\/reference_policies_examples_dynamodb_items.html. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_2_1","unstructured":"[n.d.]. Amazon DynamoDB API Operations. https:\/\/docs.aws.amazon.com\/amazondynamodb\/latest\/APIReference\/API_Operations_Amazon_DynamoDB.html. (visited on 2022\/03\/01).  [n.d.]. Amazon DynamoDB API Operations. https:\/\/docs.aws.amazon.com\/amazondynamodb\/latest\/APIReference\/API_Operations_Amazon_DynamoDB.html. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_3_1","unstructured":"[n.d.]. Azure Blob Storage. https:\/\/azure.microsoft.com\/en-us\/services\/storage\/blobs\/. (visited on 2022\/03\/01).  [n.d.]. Azure Blob Storage. https:\/\/azure.microsoft.com\/en-us\/services\/storage\/blobs\/. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_4_1","unstructured":"[n.d.]. Azure Cache for Redis. https:\/\/azure.microsoft.com\/en-us\/services\/cache\/. (visited on 2022\/03\/01).  [n.d.]. Azure Cache for Redis. https:\/\/azure.microsoft.com\/en-us\/services\/cache\/. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_5_1","unstructured":"[n.d.]. Azure Storage redundancy. https:\/\/docs.microsoft.com\/en-us\/azure\/storage\/common\/storage-redundancy. (visited on 2022\/03\/01).  [n.d.]. Azure Storage redundancy. https:\/\/docs.microsoft.com\/en-us\/azure\/storage\/common\/storage-redundancy. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_6_1","unstructured":"[n.d.]. CockroachDB. https:\/\/www.cockroachlabs.com.  [n.d.]. CockroachDB. https:\/\/www.cockroachlabs.com."},{"key":"e_1_2_1_7_1","unstructured":"[n.d.]. Google Cloud BigTable --- Writes. https:\/\/cloud.google.com\/bigtable\/docs\/writes#conditional. (visited on 2022\/03\/01).  [n.d.]. Google Cloud BigTable --- Writes. https:\/\/cloud.google.com\/bigtable\/docs\/writes#conditional. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_8_1","unstructured":"[n.d.]. H-Store: A Next Generation OLTP DBMS. http:\/\/hstore.cs.brown.edu.  [n.d.]. H-Store: A Next Generation OLTP DBMS. http:\/\/hstore.cs.brown.edu."},{"key":"e_1_2_1_9_1","unstructured":"[n.d.]. Redis. https:\/\/redis.io. (visited on 2022\/03\/01).  [n.d.]. Redis. https:\/\/redis.io. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_10_1","unstructured":"[n.d.]. Redis ACL. https:\/\/redis.io\/topics\/acl. (visited on 2022\/03\/01).  [n.d.]. Redis ACL. https:\/\/redis.io\/topics\/acl. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_11_1","unstructured":"[n.d.]. Redis EVAL script. https:\/\/redis.io\/commands\/eval. (visited on 2022\/03\/01).  [n.d.]. Redis EVAL script. https:\/\/redis.io\/commands\/eval. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_12_1","unstructured":"2014. Managing Concurrency in Microsoft Azure Storage. https:\/\/azure.microsoft.com\/en-us\/blog\/managing-concurrency-in-microsoft-azure-storage-2\/. (visited on 2022\/03\/01).  2014. Managing Concurrency in Microsoft Azure Storage. https:\/\/azure.microsoft.com\/en-us\/blog\/managing-concurrency-in-microsoft-azure-storage-2\/. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_13_1","unstructured":"2015. gRPC: A high performance open-source universal RPC framework. https:\/\/grpc.io\/. (visited on 2022\/03\/01).  2015. gRPC: A high performance open-source universal RPC framework. https:\/\/grpc.io\/. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_14_1","unstructured":"2018. Amazon Athena --- Serverless Interactive Query Service. https:\/\/aws.amazon.com\/athena. (visited on 2022\/03\/01).  2018. Amazon Athena --- Serverless Interactive Query Service. https:\/\/aws.amazon.com\/athena. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_15_1","unstructured":"2018. Amazon Redshift. https:\/\/aws.amazon.com\/redshift. (visited on 2022\/03\/01).  2018. Amazon Redshift. https:\/\/aws.amazon.com\/redshift. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_16_1","unstructured":"2018. Presto. https:\/\/prestodb.io. (visited on 2022\/03\/01).  2018. Presto. https:\/\/prestodb.io. (visited on 2022\/03\/01)."},{"key":"e_1_2_1_17_1","unstructured":"2020. Parallel Commits. https:\/\/www.cockroachlabs.com\/docs\/v20.2\/architecture\/transaction-layer.html#parallel-commits (visited on 2022\/03\/01).  2020. Parallel Commits. https:\/\/www.cockroachlabs.com\/docs\/v20.2\/architecture\/transaction-layer.html#parallel-commits (visited on 2022\/03\/01)."},{"key":"e_1_2_1_18_1","volume-title":"In Proceedings of the National Conference Bases de Donnes Avances. Citeseer.","author":"Abdallah Maha","year":"1997","unstructured":"Maha Abdallah . 1997 . A non-blocking single-phase commit protocol for rigorous participants . In In Proceedings of the National Conference Bases de Donnes Avances. Citeseer. Maha Abdallah. 1997. A non-blocking single-phase commit protocol for rigorous participants. In In Proceedings of the National Conference Bases de Donnes Avances. Citeseer."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPADS.1998.741040"},{"key":"e_1_2_1_20_1","volume-title":"Int. Conf. on Parallel and Distributed Computing Systems (PDCS).","author":"Al-Houmaily Y","year":"1995","unstructured":"Y Al-Houmaily and P Chrysanthis . 1995 . Two-phase commit in gigabit-networked distributed databases . In Int. Conf. on Parallel and Distributed Computing Systems (PDCS). Y Al-Houmaily and P Chrysanthis. 1995. Two-phase commit in gigabit-networked distributed databases. In Int. Conf. on Parallel and Distributed Computing Systems (PDCS)."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3299869.3314047"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.14778\/3415478.3415560"},{"key":"e_1_2_1_23_1","doi-asserted-by":"crossref","unstructured":"Michael Armbrust Reynold S Xin Cheng Lian Yin Huai Davies Liu Joseph K Bradley Xiangrui Meng Tomer Kaftan Michael J Franklin Ali Ghodsi etal 2015. SparkSQL: Relational Data Processing in Spark. In SIGMOD.  Michael Armbrust Reynold S Xin Cheng Lian Yin Huai Davies Liu Joseph K Bradley Xiangrui Meng Tomer Kaftan Michael J Franklin Ali Ghodsi et al. 2015. SparkSQL: Relational Data Processing in Spark. In SIGMOD.","DOI":"10.1145\/2723372.2742797"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.5555\/895300"},{"key":"e_1_2_1_25_1","volume-title":"Concurrency control and recovery in database systems","author":"Bernstein Philip A","unstructured":"Philip A Bernstein , Vassos Hadzilacos , and Nathan Goodman . 1987. Concurrency control and recovery in database systems . Vol. 370 . Addison-wesley New York . Philip A Bernstein, Vassos Hadzilacos, and Nathan Goodman. 1987. Concurrency control and recovery in database systems. Vol. 370. Addison-wesley New York."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1376616.1376645"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043571"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1365815.1365816"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807152"},{"key":"e_1_2_1_30_1","doi-asserted-by":"crossref","unstructured":"Benoit Dageville Thierry Cruanes Marcin Zukowski Vadim Antonov Artin Avanes Jon Bock Jonathan Claybaugh Daniel Engovatov Martin Hentschel Jiansheng Huang etal 2016. The Snowflake Elastic Data Warehouse. In SIGMOD.  Benoit Dageville Thierry Cruanes Marcin Zukowski Vadim Antonov Artin Avanes Jon Bock Jonathan Claybaugh Daniel Engovatov Martin Hentschel Jiansheng Huang et al. 2016. The Snowflake Elastic Data Warehouse. In SIGMOD.","DOI":"10.1145\/2882903.2903741"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1323293.1294281"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815425"},{"key":"e_1_2_1_34_1","volume-title":"Abadi","author":"Faleiro Jose M.","year":"2015","unstructured":"Jose M. Faleiro and Daniel J . Abadi . 2015 . Rethinking Serializable Multiversion Concurrency Control. PVLDB ( 2015), 1190--1201. Jose M. Faleiro and Daniel J. Abadi. 2015. Rethinking Serializable Multiversion Concurrency Control. PVLDB (2015), 1190--1201."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.14778\/3055540.3055553"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.14778\/3342263.3342627"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2465325"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1132863.1132867"},{"key":"e_1_2_1_39_1","volume-title":"Lock Violation for Fault-tolerant Distributed Database System. In 2021 IEEE 37th International Conference on Data Engineering (ICDE). IEEE, 1416--1427","author":"Guo Hua","year":"2021","unstructured":"Hua Guo , Xuan Zhou , and Le Cai . 2021 . Lock Violation for Fault-tolerant Distributed Database System. In 2021 IEEE 37th International Conference on Data Engineering (ICDE). IEEE, 1416--1427 . Hua Guo, Xuan Zhou, and Le Cai. 2021. Lock Violation for Fault-tolerant Distributed Database System. In 2021 IEEE 37th International Conference on Data Engineering (ICDE). IEEE, 1416--1427."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.48550\/ARXIV.2102.10185"},{"key":"e_1_2_1_41_1","unstructured":"Suyash Gupta and Mohammad Sadoghi. 2018. EasyCommit: A Non-blocking Two-phase Commit Protocol.. In EDBT. 157--168.  Suyash Gupta and Mohammad Sadoghi. 2018. EasyCommit: A Non-blocking Two-phase Commit Protocol.. In EDBT. 157--168."},{"key":"e_1_2_1_42_1","volume-title":"Andrew Pavlo, and Michael Stonebraker.","author":"Harding Rachael","year":"2017","unstructured":"Rachael Harding , Dana Van Aken , Andrew Pavlo, and Michael Stonebraker. 2017 . An Evaluation of Distributed Concurrency Control. VLDB ( 2017), 553--564. Rachael Harding, Dana Van Aken, Andrew Pavlo, and Michael Stonebraker. 2017. An Evaluation of Distributed Concurrency Control. VLDB (2017), 553--564."},{"key":"e_1_2_1_43_1","unstructured":"Hideaki Kimura Goetz Graefe and Harumi A Kuno. 2012. Efficient locking techniques for databases on modern hardware.. In ADMS@ VLDB. 1--12.  Hideaki Kimura Goetz Graefe and Harumi A Kuno. 2012. Efficient locking techniques for databases on modern hardware.. In ADMS@ VLDB. 1--12."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2465351.2465363"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/319566.319567"},{"key":"e_1_2_1_46_1","volume-title":"Proceedings 16th International Parallel and Distributed Processing Symposium. IEEE, 8--pp.","author":"Lee Inseon","year":"2002","unstructured":"Inseon Lee and Heon Young Yeom . 2002 . A single phase distributed commit protocol for main memory database systems . In Proceedings 16th International Parallel and Distributed Processing Symposium. IEEE, 8--pp. Inseon Lee and Heon Young Yeom. 2002. A single phase distributed commit protocol for main memory database systems. In Proceedings 16th International Parallel and Distributed Processing Symposium. IEEE, 8--pp."},{"key":"e_1_2_1_47_1","doi-asserted-by":"crossref","unstructured":"Yi Lu Xiangyao Yu Lei Cao and Samuel Madden. 2020. Aria: a fast and practical deterministic OLTP database. (2020).  Yi Lu Xiangyao Yu Lei Cao and Samuel Madden. 2020. Aria: a fast and practical deterministic OLTP database. (2020).","DOI":"10.14778\/3407790.3407808"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.14778\/2536360.2536366"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2527748.2527767"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/7239.7266"},{"key":"e_1_2_1_51_1","unstructured":"Thamir Qadah Suyash Gupta and Mohammad Sadoghi. 2020. Q-Store: Distributed Multi-partition Transactions via Queue-oriented Execution and Communication.. In EDBT. 73--84.  Thamir Qadah Suyash Gupta and Mohammad Sadoghi. 2020. Q-Store: Distributed Multi-partition Transactions via Queue-oriented Execution and Communication.. In EDBT. 73--84."},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.1993.344028"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/582318.582339"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-58907-4_12"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/RELDIS.1990.93952"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01264014"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3386134"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1920855"},{"key":"e_1_2_1_59_1","volume-title":"Abadi","author":"Thomson Alexander","year":"2012","unstructured":"Alexander Thomson , Thaddeus Diamond , Shu-Chun Weng , Kun Ren , Philip Shao , and Daniel J . Abadi . 2012 . Calvin : Fast Distributed Transactions for Partitioned Database Systems. In SIGMOD. 1--12. Alexander Thomson, Thaddeus Diamond, Shu-Chun Weng, Kun Ren, Philip Shao, and Daniel J. Abadi. 2012. Calvin: Fast Distributed Transactions for Partitioned Database Systems. In SIGMOD. 1--12."},{"key":"e_1_2_1_60_1","volume-title":"Namit Jain, Zheng Shao, Prasad Chakka, Ning Zhang, Suresh Antony, Hao Liu, and Raghotham Murthy.","author":"Thusoo Ashish","year":"2010","unstructured":"Ashish Thusoo , Joydeep Sen Sarma , Namit Jain, Zheng Shao, Prasad Chakka, Ning Zhang, Suresh Antony, Hao Liu, and Raghotham Murthy. 2010 . Hive --- A Petabyte Scale Data Warehouse Using Hadoop . In ICDE. Ashish Thusoo, Joydeep Sen Sarma, Namit Jain, Zheng Shao, Prasad Chakka, Ning Zhang, Suresh Antony, Hao Liu, and Raghotham Murthy. 2010. Hive --- A Petabyte Scale Data Warehouse Using Hadoop. In ICDE."},{"key":"e_1_2_1_61_1","volume-title":"Parallel Commits: An Atomic Commit Protocol For Globally Distributed Transactions. https:\/\/www.cockroachlabs.com\/blog\/parallel-commits\/ (visited on 2022\/03\/01).","author":"VanBenschoten Nathan","year":"2019","unstructured":"Nathan VanBenschoten . 2019 . Parallel Commits: An Atomic Commit Protocol For Globally Distributed Transactions. https:\/\/www.cockroachlabs.com\/blog\/parallel-commits\/ (visited on 2022\/03\/01). Nathan VanBenschoten. 2019. Parallel Commits: An Atomic Commit Protocol For Globally Distributed Transactions. https:\/\/www.cockroachlabs.com\/blog\/parallel-commits\/ (visited on 2022\/03\/01)."},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3056101"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183713.3196912"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.14778\/3231751.3231763"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/3269981"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/3448016.3457559"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/3448016.3457559"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3565816.3565837","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T09:39:56Z","timestamp":1672220396000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3565816.3565837"}},"subtitle":["atomic commit for a cloud DBMS with storage disaggregation"],"short-title":[],"issued":{"date-parts":[[2022,10]]},"references-count":66,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2022,10]]}},"alternative-id":["10.14778\/3565816.3565837"],"URL":"https:\/\/doi.org\/10.14778\/3565816.3565837","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2022,10]]},"assertion":[{"value":"2022-11-23","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}