{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,11]],"date-time":"2026-07-11T02:47:50Z","timestamp":1783738070415,"version":"3.55.0"},"reference-count":39,"publisher":"Association for Computing Machinery (ACM)","issue":"12","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2023,8]]},"abstract":"<jats:p>A single-master database has limited update capacity because a single node handles all updates. A multi-master database potentially has higher update capacity because the load is spread across multiple nodes. However, the need to coordinate updates and ensure durability can generate high network traffic. Reducing network load is particularly important in a cloud environment where the network infrastructure is shared among thousands of tenants. In this paper, we present Taurus MM, a shared-storage multi-master database optimized for cloud environments. It implements two novel algorithms aimed at reducing network traffic plus a number of additional optimizations. The first algorithm is a new type of distributed clock that combines the small size of Lamport clocks with the effective support of distributed snapshots of vector clocks. The second algorithm is a new hybrid page and row locking protocol that significantly reduces the number of lock requests sent over the network. Experimental results on a cluster with up to eight masters demonstrate superior performance compared to Aurora multi-master and CockroachDB.<\/jats:p>","DOI":"10.14778\/3611540.3611542","type":"journal-article","created":{"date-parts":[[2023,9,15]],"date-time":"2023-09-15T11:32:37Z","timestamp":1694777557000},"page":"3488-3500","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":15,"title":["Taurus MM: Bringing Multi-Master to the Cloud"],"prefix":"10.14778","volume":"16","author":[{"given":"Alex","family":"Depoutovitch","sequence":"first","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Chong","family":"Chen","sequence":"additional","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Per-Ake","family":"Larson","sequence":"additional","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jack","family":"Ng","sequence":"additional","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Shu","family":"Lin","sequence":"additional","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Guanzhu","family":"Xiong","sequence":"additional","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Paul","family":"Lee","sequence":"additional","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Emad","family":"Boctor","sequence":"additional","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Samiao","family":"Ren","sequence":"additional","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Lengdong","family":"Wu","sequence":"additional","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yuchen","family":"Zhang","sequence":"additional","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Calvin","family":"Sun","sequence":"additional","affiliation":[{"name":"Huawei Research, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2023,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"2020 IEEE 36th International Conference on Data Engineering (ICDE). IEEE","unstructured":"Michael Abebe et al. 2020. DynaMast: Adaptive dynamic mastering for replicated systems. In 2020 IEEE 36th International Conference on Data Engineering (ICDE). IEEE, Texas, USA, 1381--1392."},{"key":"e_1_2_1_2_1","volume-title":"International Conference On Principles Of Distributed Systems. Springer, Luxor, Egypt, 259--274","author":"Almeida P. S.","unstructured":"P. S. Almeida, C. Baquero, and V. Fonte. 2008. Interval tree clocks. In International Conference On Principles Of Distributed Systems. Springer, Luxor, Egypt, 259--274."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3299869.3314047"},{"key":"e_1_2_1_4_1","unstructured":"E. Boutin and S. Abraham. 2019. Amazon Aurora Multi-Master: Scaling out database write performance. Amazon ReInvent."},{"key":"e_1_2_1_5_1","first-page":"18","article-title":"On the use of Clocks to Enforce Consistency in the Cloud","volume":"38","author":"Bravo M.","year":"2015","unstructured":"M. Bravo et al. 2015. On the use of Clocks to Enforce Consistency in the Cloud. IEEE Data Eng. Bull. 38, 1 (2015), 18--31.","journal-title":"IEEE Data Eng. Bull."},{"key":"e_1_2_1_6_1","volume-title":"Proceedings 19th International Conference on Data Engineering (Cat. No. 03CH37405)","author":"Chandrasekaran S.","unstructured":"S. Chandrasekaran and R. Bamford. 2003. Shared cache-the future of parallel databases. In Proceedings 19th International Conference on Data Engineering (Cat. No. 03CH37405). IEEE Computer Society, NY USA, 840--840."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/214451.214456"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491245"},{"key":"e_1_2_1_9_1","unstructured":"C.J. Date and H. Darwen. 1997. A Guide to the SQL Standard: A user's guide to the standard database language SQL. Addison-Wesley San Francisco CA."},{"key":"e_1_2_1_10_1","volume-title":"DeCandia et al","author":"G.","year":"2007","unstructured":"G. DeCandia et al. 2007. Dynamo: Amazon's highly available key-value store. ACM SIGOPS operating systems review 41, 6 (2007), 205--220."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3386129"},{"key":"e_1_2_1_12_1","volume-title":"Proc. 11th Australian Comput. Science Conf. Australian National University. Department of Computer Science","author":"Fidge J.","year":"1988","unstructured":"J. Fidge. 1988. Timestamps in message-passing systems that preserve the partial ordering. In Proc. 11th Australian Comput. Science Conf. Australian National University. Department of Computer Science, Canberra, Australia, 56--66."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806907.1806908"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.14778\/3055540.3055548"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.14778\/3415478.3415535"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","unstructured":"Jesper Wisborg Krogh. 2021. InnoDB Locks. Apress Berkeley CA 123--140. 10.1007\/978-1-4842-6652-6_7","DOI":"10.1007\/978-1-4842-6652-6_7"},{"key":"e_1_2_1_17_1","volume-title":"International Conference on Network-Based Information Systems. Springer","author":"Kshemkalyani A. D.","unstructured":"A. D. Kshemkalyani and A. Misra. 2020. The bloom clock to characterize causality in distributed systems. In International Conference on Network-Based Information Systems. Springer, Victoria, Canada, 269--279."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2020.02.008"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-14472-6_2"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(87)90125-6"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1773912.1773922"},{"key":"e_1_2_1_22_1","volume-title":"Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21 (July","author":"Lamport L.","year":"1978","unstructured":"L. Lamport. July 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21 (July 1978), 558--564."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882923"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.5555\/645919.672802"},{"key":"e_1_2_1_25_1","unstructured":"F. Mattern. 1989. Virtual Time and Global States of Distributed Systems. In Parallel and Distributed Algorithms. North-Holland Netherlands 215--226."},{"key":"e_1_2_1_26_1","volume-title":"2013 USENIX Annual Technical Conference (USENIX ATC 13)","author":"N.","unstructured":"Bronson N. and ohers. 2013. TAO: Facebook's Distributed Data Store for the Social Graph. In 2013 USENIX Annual Technical Conference (USENIX ATC 13). USENIX Association, San Jose, CA, 49--60. https:\/\/www.usenix.org\/conference\/atc13\/technical-sessions\/presentation\/bronson"},{"key":"e_1_2_1_27_1","unstructured":"Oracle. 2020. Oracle Real Application Clusters 19c Technical Architecture. https:\/\/www.oracle.com\/webfolder\/technetwork\/tutorials\/architecture-diagrams\/19\/rac\/pdf\/rac-19c-architecture.pdf"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213844"},{"key":"e_1_2_1_29_1","volume-title":"TPCC-Like Workload for Sysbench 1.0. Percona. Retrieved","year":"2022","unstructured":"Percona. 2018. TPCC-Like Workload for Sysbench 1.0. Percona. Retrieved October 1, 2022 from https:\/\/www.percona.com\/blog\/2018\/03\/05\/tpcc-like-workload-sysbench-1-0\/"},{"key":"e_1_2_1_30_1","unstructured":"Rees S. 2012. DB2 pureScale: Best Practices for Performance and Monitoring. Technical Report. IDUG DB2 Technical Conference Denver CO USA."},{"key":"e_1_2_1_31_1","first-page":"4","article-title":"The case for shared nothing","volume":"9","year":"1986","unstructured":"Michael Stonebraker. 1986. The case for shared nothing. IEEE Database Eng. Bull. 9, 1 (1986), 4--9.","journal-title":"IEEE Database Eng. Bull."},{"key":"e_1_2_1_32_1","volume-title":"Scriptable multi-threaded benchmark tool. Sysbench. Retrieved","year":"2022","unstructured":"Sysbench. 2020. Scriptable multi-threaded benchmark tool. Sysbench. Retrieved October 1, 2022 from https:\/\/github.com\/akopytov\/sysbench"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3386134"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1007\/s004460050065"},{"key":"e_1_2_1_35_1","unstructured":"TPC. 1992. TPC-C. https:\/\/www.tpc.org\/tpcc\/"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/3299869.3314049"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3056101"},{"key":"e_1_2_1_38_1","unstructured":"IBM white paper. 2009. Transparent application scaling with IBM DB2 pureScale."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.14778\/3554821.3554830"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3611540.3611542","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,9,10]],"date-time":"2025-09-10T22:37:38Z","timestamp":1757543858000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3611540.3611542"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,8]]},"references-count":39,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2023,8]]}},"alternative-id":["10.14778\/3611540.3611542"],"URL":"https:\/\/doi.org\/10.14778\/3611540.3611542","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2023,8]]},"assertion":[{"value":"2023-08-01","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}