{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,17]],"date-time":"2026-07-17T15:55:21Z","timestamp":1784303721282,"version":"3.55.0"},"reference-count":70,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2017,2,28]],"date-time":"2017-02-28T00:00:00Z","timestamp":1488240000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Top-Notch Youth Talents Program of China, Shanghai Science and Technology Development Fund","award":["14511100902"],"award-info":[{"award-number":["14511100902"]}]},{"name":"Zhangjiang Hi-Tech Program","award":["201501-YP-B108-012"],"award-info":[{"award-number":["201501-YP-B108-012"]}]},{"name":"National Key Research 8 Development Program of China","award":["2016YFB1000104"],"award-info":[{"award-number":["2016YFB1000104"]}]},{"DOI":"10.13039\/501100001809","name":"China National Natural Science Foundation","doi-asserted-by":"crossref","award":["61572314, 61525204 and 61672345"],"award-info":[{"award-number":["61572314, 61525204 and 61672345"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Syst."],"published-print":{"date-parts":[[2017,2,28]]},"abstract":"<jats:p>DrTM is a fast in-memory transaction processing system that exploits advanced hardware features such as remote direct memory access (RDMA) and hardware transactional memory (HTM). To achieve high efficiency, it mostly offloads concurrency control such as tracking read\/write accesses and conflict detection into HTM in a local machine and leverages the strong consistency between RDMA and HTM to ensure serializability among concurrent transactions across machines. To mitigate the high probability of HTM aborts for large transactions, we design and implement an optimized transaction chopping algorithm to decompose a set of large transactions into smaller pieces such that HTM is only required to protect each piece. We further build an efficient hash table for DrTM by leveraging HTM and RDMA to simplify the design and notably improve the performance. We describe how DrTM supports common database features like read-only transactions and logging for durability. Evaluation using typical OLTP workloads including TPC-C and SmallBank shows that DrTM has better single-node efficiency and scales well on a six-node cluster; it achieves greater than 1.51, 34 and 5.24, 138 million transactions per second for TPC-C and SmallBank on a single node and the cluster, respectively. Such numbers outperform a state-of-the-art single-node system (i.e., Silo) and a distributed transaction system (i.e., Calvin) by at least 1.9X and 29.6X for TPC-C.<\/jats:p>","DOI":"10.1145\/3092701","type":"journal-article","created":{"date-parts":[[2017,7,13]],"date-time":"2017-07-13T13:44:03Z","timestamp":1499953443000},"page":"1-37","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":35,"title":["Fast In-Memory Transaction Processing Using RDMA and HTM"],"prefix":"10.1145","volume":"35","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9720-0361","authenticated-orcid":false,"given":"Haibo","family":"Chen","sequence":"first","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Rong","family":"Chen","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Xingda","family":"Wei","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jiaxin","family":"Shi","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yanzhe","family":"Chen","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Zhaoguo","family":"Wang","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Binyu","family":"Zang","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Haibing","family":"Guan","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2017,7,13]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815413"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294261.1294278"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2008.4497466"},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the 5th Biennial Conference on Innovative Data Systems Research (CIDR\u201911)","author":"Baker J."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.9057"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/337919.337922"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/356842.356846"},{"key":"e_1_2_1_8_1","volume-title":"Concurrency Control and Recovery in Database Systems","author":"Bernstein Philip A."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/320128.320133"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/L-CA.2006.18"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1345206.1345242"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/2023718.2023744"},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI\u201999)","author":"Castro Miguel","year":"1999"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1281100.1281103"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094852"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065944.1065950"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807152"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201912)","author":"Corbett J. C.","year":"2012"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 2012 USENIX Annual Technical Conference (USENIX ATC\u201912)","author":"Cowling James","year":"2012"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2463710"},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation (NSDI\u201914)","author":"Dragojevi\u0107 Aleksandar","year":"2014"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815425"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/319983.319985"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/74850.74870"},{"key":"e_1_2_1_25_1","volume-title":"Transaction Processing: Concepts and Techniques. Morgan Kaufmann.","author":"Gray Jim","year":"1993"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/165123.165164"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-87779-0_24"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/11561927_24"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the 2010 USENIX Annual Technical Conference (USENIX ATC\u201910)","author":"Hunt Patrick","year":"2010"},{"key":"e_1_2_1_30_1","volume-title":"IEEE 1588 Precision Time Protocol (PTP). Retrieved","author":"IEEE.","year":"2017"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2619239.2626299"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294261.1294267"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/319566.319567"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815416"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2014.6816683"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation (NSDI\u201914)","author":"Lim Hyeontaek","year":"2014"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/38713.38739"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2349896.2349911"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629590"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1122971.1123002"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168855"},{"key":"e_1_2_1_42_1","volume-title":"RDMA Aware Networks Programming User Manual. Retrieved","author":"Technologies Mellanox","year":"2017"},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the 2013 USENIX Annual Technical Conference (USENIX ATC\u201913)","author":"Mitchell Christopher","year":"2013"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2670979.2671001"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685086"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522738"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151018"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685088"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jalgor.2003.12.002"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/211414.211427"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/224964.224987"},{"key":"e_1_2_1_53_1","volume-title":"Articles Benchmark Schema. Retrieved","author":"Store Team The","year":"2017"},{"key":"e_1_2_1_54_1","volume-title":"The SEATS Airline Ticketing Systems Benchmark. Retrieved","author":"Store Team The","year":"2017"},{"key":"e_1_2_1_55_1","unstructured":"The H-Store Team. 2015b. SmallBank Benchmark. Retrieved June 5 2017 from http:\/\/hstore.cs.brown.edu\/documentation\/deployment\/benchmarks\/smallbank\/.  The H-Store Team. 2015b. SmallBank Benchmark. Retrieved June 5 2017 from http:\/\/hstore.cs.brown.edu\/documentation\/deployment\/benchmarks\/smallbank\/."},{"key":"e_1_2_1_56_1","volume-title":"NVDIMM Special Interest Group. Retrieved","author":"The Storage Networking Industry Association (SNIA). 2015.","year":"2017"},{"key":"e_1_2_1_57_1","volume-title":"TPC-C Benchmark V5. Retrieved","author":"The Transaction Processing Council","year":"2017"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213838"},{"key":"e_1_2_1_59_1","volume-title":"Proceedings of the International Workshop on Accelerating Data Management Systems Using Modern Processor and Storage Architectures (ADMS\u201910)","author":"Tran Khai Q.","year":"2010"},{"key":"e_1_2_1_60_1","volume-title":"Systems Programming: Coping with Parallelism. Number RJ 5118","author":"Treiber R Kent","year":"1986"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522713"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/2670979.2671002"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882934"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/2500727.2500745"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592815"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815419"},{"key":"e_1_2_1_67_1","volume-title":"Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201914)","author":"Xie Chao","year":"2014"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815430"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815404"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522729"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685085"}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3092701","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3092701","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:37:26Z","timestamp":1750217846000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3092701"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,2,28]]},"references-count":70,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2017,2,28]]}},"alternative-id":["10.1145\/3092701"],"URL":"https:\/\/doi.org\/10.1145\/3092701","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"value":"0734-2071","type":"print"},{"value":"1557-7333","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,2,28]]},"assertion":[{"value":"2015-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-07-13","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}