{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,24]],"date-time":"2026-04-24T18:29:45Z","timestamp":1777055385661,"version":"3.51.4"},"reference-count":64,"publisher":"Association for Computing Machinery (ACM)","issue":"3","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2023,11]]},"abstract":"<jats:p>Modern database engines must well use multicore CPUs, large main memory and fast storage devices to achieve high performance. A common theme is hiding latencies such that more CPU cycles can be dedicated to \"real\" work, improving overall throughput. Yet existing systems are only able to mitigate the impact of individual latencies, e.g., by interleaving memory accesses with computation to hide CPU cache misses. They still lack the joint optimization of hiding the impact of multiple latency sources.<\/jats:p>\n          <jats:p>This paper presents MosaicDB, a set of latency-hiding techniques to solve this problem. With stackless coroutines and carefully crafted scheduling policies, we explore how I\/O and synchronization latencies can be hidden in a well-crafted OLTP engine that already hides memory access latency, without hurting the performance of memory-resident workloads. MosaicDB also avoids oversubscription and reduces contention using the coroutine-to-transaction paradigm. Our evaluation shows MosaicDB can achieve these goals and up to 33x speedup over prior state-of-the-art.<\/jats:p>","DOI":"10.14778\/3632093.3632117","type":"journal-article","created":{"date-parts":[[2024,1,20]],"date-time":"2024-01-20T11:26:31Z","timestamp":1705749991000},"page":"577-590","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":20,"title":["The Art of Latency Hiding in Modern Database Engines"],"prefix":"10.14778","volume":"17","author":[{"given":"Kaisong","family":"Huang","sequence":"first","affiliation":[{"name":"Simon Fraser University"}]},{"given":"Tianzheng","family":"Wang","sequence":"additional","affiliation":[{"name":"Simon Fraser University"}]},{"given":"Qingqing","family":"Zhou","sequence":"additional","affiliation":[{"name":"DB365000"}]},{"given":"Qingzhong","family":"Meng","sequence":"additional","affiliation":[{"name":"Tencent Inc."}]}],"member":"320","published-online":{"date-parts":[[2024,1,20]]},"reference":[{"key":"e_1_2_1_1_1","first-page":"6","article-title":"The Full Story of 1000 Cores: An Examination of Concurrency Control on Real(Ly) Large Multi-Socket Hardware","volume":"31","author":"Bang Tiemo","year":"2022","unstructured":"Tiemo Bang, Norman May, Ilia Petrov, and Carsten Binnig. 2022. The Full Story of 1000 Cores: An Examination of Concurrency Control on Real(Ly) Large Multi-Socket Hardware. The VLDB Journal 31, 6 (apr 2022), 1185--1213.","journal-title":"The VLDB Journal"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151017"},{"key":"e_1_2_1_3_1","first-page":"6","article-title":"Blink-Hash: An Adaptive Hybrid Index for In-Memory Time-Series Databases","volume":"16","author":"Cha Hokeun","year":"2023","unstructured":"Hokeun Cha, Xiangpeng Hao, Tianzheng Wang, Huanchen Zhang, Aditya Akella, and Xiangyao Yu. 2023. Blink-Hash: An Adaptive Hybrid Index for In-Memory Time-Series Databases. Proc. VLDB Endow. 16, 6 (apr 2023), 1235--1248.","journal-title":"Proc. VLDB Endow."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1978542.1978562"},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the 20th International Conference on Data Engineering (ICDE '04)","author":"Chen Shimin","unstructured":"Shimin Chen, Anastassia Ailamaki, Phillip B. Gibbons, and Todd C. Mowry. 2004. Improving Hash Join Performance through Prefetching. In Proceedings of the 20th International Conference on Data Engineering (ICDE '04). 116."},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 2001 ACM SIGMOD International Conference on Management of Data (SIGMOD '01)","author":"Chen Shimin","unstructured":"Shimin Chen, Phillip B. Gibbons, and Todd C. Mowry. 2001. Improving Index Performance through Prefetching. In Proceedings of the 2001 ACM SIGMOD International Conference on Management of Data (SIGMOD '01). 235--246."},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the 2002 ACM SIGMOD International Conference on Management of Data (SIGMOD '02)","author":"Chen Shimin","year":"2002","unstructured":"Shimin Chen, Phillip B. Gibbons, Todd C. Mowry, and Gary Valentin. 2002. Fractal Prefetching B+-Trees: Optimizing Both Cache and Disk Performance. In Proceedings of the 2002 ACM SIGMOD International Conference on Management of Data (SIGMOD '02). 157--168."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629589"},{"key":"e_1_2_1_9_1","unstructured":"Jonathan Corbet. 2019. Ringing in a new asynchronous I\/O API. https:\/\/lwn.net\/Articles\/776703\/ Linux Weekly Newsletter."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.14778\/2556549.2556575"},{"key":"e_1_2_1_11_1","unstructured":"K. Delaney and C. Freeman. 2013. Microsoft SQL Server 2012 Internals. Pearson Education."},{"key":"e_1_2_1_12_1","unstructured":"Dell. 2023. Dell 480GB SSD SATA Mixed Use 6Gbps 512e 2.5in Hot-Plug. (2023). https:\/\/www.dell.com\/en-ca\/shop\/dell-480gb-ssd-sata-mixed-use-6gbps-512e-25in-hot-plug\/apd\/345-befn\/"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2463710"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732967.2732968"},{"key":"e_1_2_1_15_1","first-page":"3","article-title":"Interleaved Multi-Vectorizing","volume":"13","author":"Fang Zhuhe","year":"2019","unstructured":"Zhuhe Fang, Beilei Zheng, and Chuliang Weng. 2019. Interleaved Multi-Vectorizing. Proc. VLDB Endow. 13, 3 (Nov. 2019), 226--238.","journal-title":"Proc. VLDB Endow."},{"key":"e_1_2_1_16_1","first-page":"11","article-title":"Compacting Transactional Data in Hybrid OLTP&OLAP Databases","volume":"5","author":"Funke Florian","year":"2012","unstructured":"Florian Funke, Alfons Kemper, and Thomas Neumann. 2012. Compacting Transactional Data in Hybrid OLTP&OLAP Databases. Proc. VLDB Endow. 5, 11 (jul 2012), 1424--1435.","journal-title":"Proc. VLDB Endow."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2109196.2109197"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735461.2735465"},{"key":"e_1_2_1_19_1","unstructured":"Gabriel Haas Michael Haubenschild and Viktor Leis. 2020. Exploiting Directly-Attached NVMe Arrays in DBMS.. In CIDR (Conference on Innovative Data Systems Research)."},{"key":"e_1_2_1_20_1","first-page":"9","article-title":"What Modern NVMe Storage Can Do, and How to Exploit It: High-Performance I\/O for High-Performance Storage Engines","volume":"16","author":"Haas Gabriel","year":"2023","unstructured":"Gabriel Haas and Viktor Leis. 2023. What Modern NVMe Storage Can Do, and How to Exploit It: High-Performance I\/O for High-Performance Storage Engines. Proc. VLDB Endow. 16, 9 (may 2023), 2090--2102.","journal-title":"Proc. VLDB Endow."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.14778\/3430915.3430932"},{"key":"e_1_2_1_22_1","volume-title":"12th Conference on Innovative Data Systems Research, CIDR 2022","author":"Huang Kaisong","year":"2022","unstructured":"Kaisong Huang, Darien Imai, Tianzheng Wang, and Dong Xie. 2022. SSDs Striking Back: The Storage Jungle and Its Implications to Persistent Indexes. In 12th Conference on Innovative Data Systems Research, CIDR 2022, Chaminade, CA, USA, January 9--12, 2022."},{"key":"e_1_2_1_23_1","unstructured":"Intel. 2023. Intel\u00ae Optane\u2122 SSD DC P4800X Series. (2023). https:\/\/www.intel.com\/content\/www\/us\/en\/products\/sku\/97161\/intel-optane-ssd-dc-p4800x-series-375gb-2-5in-pcie-x4--3d-xpoint\/specifications.html"},{"key":"e_1_2_1_24_1","volume-title":"Intel 64 and IA-32 Architectures Software Developer Manuals. (Oct","author":"Intel Corporation","year":"2016","unstructured":"Intel Corporation. 2016. Intel 64 and IA-32 Architectures Software Developer Manuals. (Oct. 2016)."},{"key":"e_1_2_1_25_1","unstructured":"ISO\/IEC. 2017. Technical Specification --- C++ Extensions for Coroutines. https:\/\/www.iso.org\/standard\/73008.html."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1920928"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.14778\/3236187.3236216"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01231646"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the 2011 IEEE 27th International Conference on Data Engineering (ICDE'11)","author":"Kemper Alfons","year":"2011","unstructured":"Alfons Kemper and Thomas Neumann. 2011. HyPer: A Hybrid OLTP&OLAP Main Memory Database System Based on Virtual Memory Snapshots. In Proceedings of the 2011 IEEE 27th International Conference on Data Engineering (ICDE'11). 195--206."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882905"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2746480"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.14778\/2856318.2856321"},{"key":"e_1_2_1_33_1","doi-asserted-by":"crossref","unstructured":"Sridhar K.T. and M.A. Sakkeer. 2014. Optimizing Database Load and Extract for Big Data Era. 8422 (04 2014) 503--512.","DOI":"10.1007\/978-3-319-05813-9_34"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/319566.319567"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882925"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.14778\/2095686.2095689"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2018.00026"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2933349.2933352"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.14778\/2536206.2536215"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2013.6544834"},{"key":"e_1_2_1_41_1","volume-title":"Proceedings of the 2017 ACM International Conference on Management of Data (SIGMOD '17)","author":"Lim Hyeontaek","unstructured":"Hyeontaek Lim, Michael Kaminsky, and David G. Andersen. 2017. Cicada: Dependably Fast Multi-Core In-Memory Transactions. In Proceedings of the 2017 ACM International Conference on Management of Data (SIGMOD '17). 21--35."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168855"},{"key":"e_1_2_1_43_1","unstructured":"Microsoft. 2018. Windows Technical Documentation. https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/procthread\/fibers?redirectedfrom=MSDN"},{"key":"e_1_2_1_44_1","volume-title":"Proceedings of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS V). 62--73","author":"Mowry Todd C.","year":"1992","unstructured":"Todd C. Mowry, Monica S. Lam, and Anoop Gupta. 1992. Design and Evaluation of a Compiler Algorithm for Prefetching. In Proceedings of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS V). 62--73."},{"key":"e_1_2_1_45_1","unstructured":"MySQL 8.0 Reference Manual. 2023. Using Asynchronous I\/O on Linux. https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/innodb-linux-native-aio.html"},{"key":"e_1_2_1_46_1","volume-title":"Umbra: A Disk-Based System with In-Memory Performance. In 10th Conference on Innovative Data Systems Research, CIDR 2020, Amsterdam, The Netherlands, January 12--15, 2020, Online Proceedings.","author":"Neumann Thomas","year":"2020","unstructured":"Thomas Neumann and Michael J Freitag. 2020. Umbra: A Disk-Based System with In-Memory Performance. In 10th Conference on Innovative Data Systems Research, CIDR 2020, Amsterdam, The Netherlands, January 12--15, 2020, Online Proceedings."},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2749436"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-018-0533-6"},{"key":"e_1_2_1_49_1","unstructured":"Raghu Ramakrishnan and Johannes Gehrke. 2003. Database Management Systems (3 ed.)."},{"key":"e_1_2_1_50_1","volume-title":"Making Updates Disk-I\/O Friendly Using SSDs. PVLDB6, 11","author":"Sadoghi Mohammad","year":"2013","unstructured":"Mohammad Sadoghi, Kenneth A. Ross, Mustafa Canim, and Bishwaranjan Bhattacharjee. 2013. Making Updates Disk-I\/O Friendly Using SSDs. PVLDB6, 11 (2013), 997--1008."},{"key":"e_1_2_1_51_1","volume-title":"https:\/\/www.samsung.com\/us\/computing\/memory-storage\/solid-state-drives\/980--pro-pcie-4--0--nvme-ssd-500gb-mz-v8p500b-am\/","author":"PRO","year":"2023","unstructured":"Samsung. 2023. 980 PRO PCIe 4.0 NVMe SSD 500GB. (2023). https:\/\/www.samsung.com\/us\/computing\/memory-storage\/solid-state-drives\/980--pro-pcie-4--0--nvme-ssd-500gb-mz-v8p500b-am\/"},{"key":"e_1_2_1_52_1","doi-asserted-by":"crossref","unstructured":"Boris Schling. 2011. The Boost C++ Libraries.","DOI":"10.1002\/wilm.10057"},{"key":"e_1_2_1_53_1","unstructured":"Michael Lee Scott. 2013. Shared-memory synchronization."},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882916"},{"key":"e_1_2_1_55_1","unstructured":"Michael Stonebraker Samuel Madden Daniel J. Abadi Stavros Harizopoulos Nabil Hachem and Pat Helland. 2007. The End of an Architectural Era: (It's Time for a Complete Rewrite). (2007) 1150--1160."},{"key":"e_1_2_1_56_1","unstructured":"TPC. 2010. TPC Benchmark C (OLTP) Standard Specification revision 5.11. http:\/\/www.tpc.org\/tpcc"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522713"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.14778\/3611479.3611529"},{"key":"e_1_2_1_59_1","volume-title":"International Workshop on Accelerating Analytics and Data Management Systems Using Modern Processor and Storage Architectures, ADMS@VLDB","author":"von Merzljak Leonard","year":"2022","unstructured":"Leonard von Merzljak, Philipp Fent, Thomas Neumann, and Jana Giceva. 2022. What Are You Waiting For? Use Coroutines for Asynchronous I\/O to Hide I\/O Latencies and Maximize the Read Bandwidth!. In International Workshop on Accelerating Analytics and Data Management Systems Using Modern Processor and Storage Architectures, ADMS@VLDB 2022."},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732951.2732960"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-017-0463-8"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.14778\/3067421.3067427"},{"key":"e_1_2_1_63_1","first-page":"2","article-title":"Taurus: Lightweight Parallel Logging for in-Memory Database Management Systems","volume":"14","author":"Xia Yu","year":"2020","unstructured":"Yu Xia, Xiangyao Yu, Andrew Pavlo, and Srinivas Devadas. 2020. Taurus: Lightweight Parallel Logging for in-Memory Database Management Systems. PVLDB 14, 2 (Oct. 2020), 189--201.","journal-title":"PVLDB"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/3514221.3526171"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3632093.3632117","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,1,20]],"date-time":"2024-01-20T11:27:57Z","timestamp":1705750077000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3632093.3632117"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,11]]},"references-count":64,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2023,11]]}},"alternative-id":["10.14778\/3632093.3632117"],"URL":"https:\/\/doi.org\/10.14778\/3632093.3632117","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2023,11]]},"assertion":[{"value":"2024-01-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}