Skip to main content
Log in

RCBench: an RDMA-enabled transaction framework for analyzing concurrency control algorithms

  • Regular Paper
  • Published:
The VLDB Journal Aims and scope Submit manuscript

Abstract

Distributed transaction processing over the TCP/IP network suffers from the weak transaction scalability problem, i.e., its performance drops significantly when the number of involved data nodes per transaction increases. Although quite a few of works over the high-performance RDMA-capable network are proposed, they mainly focus on accelerating distributed transaction processing, rather than solving the weak transaction scalability problem. In this paper, we propose RCBench, an RDMA-enabled transaction framework, which serves as a unified evaluation tool for assessing the transaction scalability of various concurrency control algorithms. The usability and advancement of RCBench primarily come from the proposed concurrency control primitives , which facilitate the convenient implementation of RDMA-enabled concurrency control algorithms. Various optimization principles are proposed to ensure that concurrency control algorithms in RCBench can fully benefit from the advantages offered by RDMA-capable networks. We conduct extensive experiments to evaluate the scalability of mainstream concurrency control algorithms. The results show that by exploiting the capabilities of RDMA, concurrency control algorithms in RCBench can obtain 42X performance improvement, and transaction scalability can be achieved in RCBench.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Algorithm 1
Algorithm 2
Algorithm 3
Algorithm 4
Algorithm 5
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Notes

  1. https://github.com/dbiir/RCBench.

  2. https://github.com/dbiir/RCBench/blob/master/RCBench.pdf.

  3. Specifically, for any read of T, we abort T if \(T^l.bts < X^m.wts\), and for any write of T, we abort T if \(T^l.bts < X^m.rts\) or \(T^l.bts < X^m.wts\).

References

  1. Abebe, M., Glasbergen, B., Daudjee, K.: Dynamast: adaptive dynamic mastering for replicated systems. In: 36th IEEE international conference on data engineering, ICDE 2020, Dallas, TX, USA, April 20–24, 2020, pp. 1381–1392. IEEE (2020). https://doi.org/10.1109/ICDE48307.2020.00123

  2. Abebe, M., Glasbergen, B., Daudjee, K.: Morphosys: automatic physical design metamorphosis for distributed database systems. Proc. VLDB Endow. 13(13):3573-3587 (2020). https://doi.org/10.14778/3424573.3424578

  3. Agrawal, R., Carey, M.J., Livny, M.: Concurrency control performance modeling: alternatives and implications. ACM Trans. Database Syst. 12(4), 609–654 (1987)

    Article  Google Scholar 

  4. Agrawal, S., Narasayya, V.R., Yang, B.: Integrating vertical and horizontal partitioning into automated physical database design. In: SIGMOD Conference, pp. 359–370. ACM (2004)

  5. Barthels, C., Müller, I., Taranov, K., Alonso, G., Hoefler, T.: Strong consistency is not hard to get: two-phase locking and two-phase commit on thousands of cores. Proc. VLDB Endow. 12(13), 2325–2338 (2019)

    Article  Google Scholar 

  6. Bernstein, P.A., Goodman, N.: Timestamp-based algorithms for concurrency control in distributed database systems. In: VLDB, pp. 285–300. IEEE Computer Society (1980)

  7. Bernstein, P.A., Goodman, N.: Concurrency control in distributed database systems. ACM Comput. Surv. 13(2), 185–221 (1981)

    Article  MathSciNet  Google Scholar 

  8. Bhide, A., Stonebraker, M.: A performance comparison of two architectures for fast transaction processing. In: International Conference on Data Engineering (1988)

  9. Binnig, C., Crotty, A., Galakatos, A., Kraska, T., Zamanian, E.: The end of slow networks: it’s time for a redesign. Proc. VLDB Endow. 9(7), 528–539 (2016)

    Article  Google Scholar 

  10. Carey, M.J.: An abstract model of database concurrency control algorithms. In: SIGMOD Conference, pp. 97–107. ACM Press (1983)

  11. Carey, M.J., Livny, M.: Distributed concurrency control performance: a study of algorithms, distribution, and replication. In: 14th International Conference on Very Large Data Bases (1988)

  12. Carey, M.J., Livny, M.: Parallelism and concurrency control performance in distributed database machines. In: SIGMOD Conference, pp. 122–133. ACM Press (1989)

  13. Carey, M.J., Muhanna, W.A.: The performance of multiversion concurrency control algorithms. ACM Trans. Comput. Syst. 4(4), 338–378 (1986)

    Article  Google Scholar 

  14. Chen, Y., Wei, X., Shi, J., Chen, R., Chen, H.: Fast and general distributed transactions using RDMA and HTM. In: EuroSys, pp. 26:1–26:17. ACM (2016)

  15. Cooper, B.F., Silberstein, A., Tam, E., Ramakrishnan, R., Sears, R.: Benchmarking cloud serving systems with YCSB. In: SoCC, pp. 143–154. ACM (2010)

  16. Curino, C., Zhang, Y., Jones, E.P.C., Madden, S.: Schism: a workload-driven approach to database replication and partitioning. Proc. VLDB Endow. 3(1), 48–57 (2010)

    Article  Google Scholar 

  17. Das, S., Nishimura, S., Agrawal, D., Abbadi, A.E.: Albatross: lightweight elasticity in shared storage databases for the cloud using live data migration. Proc. VLDB Endow. 4(8), 494–505 (2011)

    Article  Google Scholar 

  18. Dashti, M., John, S.B., Shaikhha, A., Koch, C.: Transaction repair for multi-version concurrency control. In: SIGMOD Conference, pp. 235–250. ACM (2017)

  19. Dragojevic, A., Narayanan, D., Castro, M., Hodson, O.: Farm: fast remote memory. In: NSDI, pp. 401–414. USENIX Association (2014)

  20. Dragojevic, A., Narayanan, D., Nightingale, E.B., Renzelmann, M., Shamis, A., Badam, A., Castro, M.: No compromises: distributed transactions with consistency, availability, and performance. In: SOSP, pp. 54–70. ACM (2015)

  21. Elmore, A.J., Arora, V., Taft, R., Pavlo, A., Agrawal, D., Abbadi, A.E.: Squall: Fine-grained live reconfiguration for partitioned main memory databases. In: SIGMOD Conference, pp. 299–313. ACM (2015)

  22. Elmore, A.J., Das, S., Agrawal, D., Abbadi, A.E.: Zephyr: live migration in shared nothing databases for elastic cloud platforms. In: SIGMOD Conference, pp. 301–312. ACM (2011)

  23. Elmore, A.J., Das, S., Agrawal, D., El Abbadi, A.: Towards an elastic and autonomic multitenant database. In: Proc. of NetDB Workshop. sn (2011)

  24. Faleiro, J.M., Abadi, D.J.: Rethinking serializable multiversion concurrency control. Proc. VLDB Endow. 8(11), 1190–1201 (2015)

    Article  Google Scholar 

  25. Faleiro, J.M., Abadi, D.J., Hellerstein, J.M.: High performance transactions via early write visibility. Proc. VLDB Endow. 10(5), 613–624 (2017). https://doi.org/10.14778/3055540.3055553

  26. Faleiro, J.M., Thomson, A., Abadi, D.J.: Lazy evaluation of transactions in database systems. In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, SIGMOD ’14, p. 15-26. Association for Computing Machinery, New York (2014). https://doi.org/10.1145/2588555.2610529

  27. Gray, J., Lorie, R.A., Putzolu, G.R., Traiger, I.L.: Granularity of locks and degrees of consistency in a shared data base. In: Readings in database systems (3rd ed.) (1976)

  28. Härder, T.: Observations on optimistic concurrency control schemes. Inf. Syst. 9(2), 111–120 (1984)

    Article  Google Scholar 

  29. Harding, R., Aken, D.V., Pavlo, A., Stonebraker, M.: An evaluation of distributed concurrency control. PVLDB 10(5), 553–564 (2017)

    Google Scholar 

  30. Higuchi, K., Tsuji, T.: A linear hashing enabling efficient retrieval for range queries. In: 2009 IEEE International Conference on Systems, Man and Cybernetics, pp. 4557–4562 (2009). https://doi.org/10.1109/ICSMC.2009.5346783

  31. Huang, J., Stankovic, J.A., Ramamritham, K., Towsley, D.F.: Experimental evaluation of real-time optimistic concurrency control schemes. In: VLDB, pp. 35–46. Morgan Kaufmann (1991)

  32. Huang, Y., Qian, W., Kohler, E., Liskov, B., Shrira, L.: Opportunities for optimism in contended main-memory multicore transactions. Proc. VLDB Endow. 13(5), 629–642 (2020)

    Article  Google Scholar 

  33. Jipping, M.J., Ford, R.: Predicting performance of concurrency control designs. In: SIGMETRICS, pp. 132–142. ACM (1987)

  34. Jones, E.P.C.: Fault-tolerant distributed transactions for partitioned OLTP databases. Ph.D. thesis, Massachusetts Institute of Technology, Cambridge, MA, USA (2012)

  35. Lim, H., Kaminsky, M., Andersen, D.G.: Cicada: dependably fast multi-core in-memory transactions. In: SIGMOD Conference, pp. 21–35. ACM (2017)

  36. Lin, Y.S., Tsai, C., Lin, T.Y., Chang, Y.S., Wu, S.H.: Don’t look back, look into the future: prescient data partitioning and migration for deterministic database systems. In: Proceedings of the 2021 International Conference on Management of Data, SIGMOD’21, pp. 1156–1168. Association for Computing Machinery, New York (2021). https://doi.org/10.1145/3448016.3452827

  37. Lu, Y., Yu, X., Cao, L., Madden, S.: Aria: A fast and practical deterministic oltp database. Proc. VLDB Endow. 13(12), 2047-2060 (2020). https://doi.org/10.14778/3407790.3407808

  38. Mitchell, C., Geng, Y., Li, J.: Using one-sided RDMA reads to build a fast, cpu-efficient key-value store. In: USENIX Annual Technical Conference, pp. 103–114. USENIX Association (2013)

  39. Pavlo, A., Curino, C., Zdonik, S.B.: Skew-aware automatic database partitioning in shared-nothing, parallel OLTP systems. In: SIGMOD Conference, pp. 61–72. ACM (2012)

  40. Peng, D., Dabek, F.: Large-scale incremental processing using distributed transactions and notifications. In: OSDI, pp. 251–264. USENIX Association (2010)

  41. Qadah, T., Gupta, S., Sadoghi, M.: Q-store: Distributed, multi-partition transactions via queue-oriented execution and communication. In: EDBT, pp. 73–84. OpenProceedings.org (2020)

  42. Qadah, T.M., Sadoghi, M.: Quecc: a queue-oriented, control-free concurrency architecture. In: Middleware, pp. 13–25. ACM (2018)

  43. Qin, D., Brown, A.D., Goel, A.: Caracal: contention management with deterministic concurrency control. In: Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles, SOSP’21, pp. 180–194. Association for Computing Machinery, New York (2021). https://doi.org/10.1145/3477132.3483591

  44. Quamar, A., Kumar, K.A., Deshpande, A.: SWORD: scalable workload-aware data placement for transactional workloads. In: EDBT, pp. 430–441. ACM (2013)

  45. Rosenkrantz, D.J., Stearns, R.E., II, P.M.L.: System level concurrency control for distributed database systems. ACM Trans. Database Syst. 3(2), 178–198 (1978)

  46. Schiller, O., Cipriani, N., Mitschang, B.: Prorea: live database migration for multi-tenant RDBMS with snapshot isolation. In: EDBT, pp. 53–64. ACM (2013)

  47. Serafini, M., Taft, R., Elmore, A.J., Pavlo, A., Aboulnaga, A., Stonebraker, M.: Clay: Fine-grained adaptive partitioning for general database schemas. Proc. VLDB Endow. 10(4), 445-456 (2016). https://doi.org/10.14778/3025111.3025125

  48. Shute, J., Vingralek, R., Samwel, B., Handy, B., Whipkey, C., Rollins, E., Oancea, M., Littlefield, K., Menestrina, D., Ellner, S., Cieslewicz, J., Rae, I., Stancescu, T., Apte, H.: F1: a distributed SQL database that scales. Proc. VLDB Endow. 6(11), 1068–1079 (2013)

    Article  Google Scholar 

  49. Stamos, J., Cristian, F.: A low-cost atomic commit protocol. In: Proceedings 9th Symposium on Reliable Distributed Systems, pp. 66–75 (1990). https://doi.org/10.1109/RELDIS.1990.93952

  50. Taft, R., Mansour, E., Serafini, M., Duggan, J., Elmore, A.J., Aboulnaga, A., Pavlo, A., Stonebraker, M.: E-store: Fine-grained elastic partitioning for distributed transaction processing systems. Proc. VLDB Endow. 8(3), 245-256 (2014). https://doi.org/10.14778/2735508.2735514

  51. Tanabe, T., Hoshino, T., Kawashima, H., Tatebe, O.: An analysis of concurrency control protocols for in-memory databases with ccbench. Proc. VLDB Endow. 13, 3531–3544 (2020)

    Article  Google Scholar 

  52. Thomasian, A.: Concurrency control: methods, performance, and analysis. ACM Comput. Surv. 30(1), 70–119 (1998)

    Article  Google Scholar 

  53. Thomson, A., Diamond, T., Weng, S., Ren, K., Shao, P., Abadi, D.J.: Calvin: fast distributed transactions for partitioned database systems. In: SIGMOD Conference, pp. 1–12. ACM (2012)

  54. Thuraisingham, B., Ko, H.: Concurrency control in trusted database management systems: a survey. SIGMOD Rec. 22(4), 52–59 (1993)

    Article  Google Scholar 

  55. TPC-C: http://www.tpc.org/tpcc/ (1988)

  56. Tran, K.Q., Naughton, J.F., Sundarmurthy, B., Tsirogiannis, D.: Jecb: a join-extension, code-based approach to oltp data partitioning. In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, SIGMOD’14, pp. 39–50. Association for Computing Machinery, New York (2014). https://doi.org/10.1145/2588555.2610532

  57. Tu, S., Zheng, W., Kohler, E., Liskov, B., Madden, S.: Speedy transactions in multicore in-memory databases. In: SOSP, pp. 18–32. ACM (2013)

  58. Wang, C., Qian, X.: Rdma-enabled concurrency control protocols for transactions in the cloud era. IEEE Trans. Cloud Comput. PP, 1–1 (2021)

  59. Wang, T., Kimura, H.: Mostly-optimistic concurrency control for highly contended dynamic workloads on a thousand cores. Proc. VLDB Endow. 10(2), 49–60 (2016)

    Article  Google Scholar 

  60. Wei, X., Dong, Z., Chen, R., Chen, H.: Deconstructing rdma-enabled distributed transactions: hybrid is better! In: OSDI, pp. 233–251. USENIX Association (2018)

  61. Wei, X., Shi, J., Chen, Y., Chen, R., Chen, H.: Fast in-memory transaction processing using RDMA and HTM. In: SOSP, pp. 87–104. ACM (2015)

  62. Wu, Y., Arulraj, J., Lin, J., Xian, R., Pavlo, A.: An empirical evaluation of in-memory multi-version concurrency control. Proc. VLDB Endow. 10(7), 781–792 (2017)

    Article  Google Scholar 

  63. Yao, C., Agrawal, D., Chen, G., Lin, Q., Ooi, B.C., Wong, W., Zhang, M.: Exploiting single-threaded model in multi-core in-memory systems. IEEE Trans. Knowl. Data Eng. 28(10), 2635–2650 (2016)

    Article  Google Scholar 

  64. Yoon, D.Y., Chowdhury, M., Mozafari, B.: Distributed lock management with RDMA: decentralization without starvation. In: SIGMOD Conference, pp. 1571–1586. ACM (2018)

  65. Yu, X., Bezerra, G., Pavlo, A., Devadas, S., Stonebraker, M.: Staring into the abyss: an evaluation of concurrency control with one thousand cores. Proc. VLDB Endow. 8(3) (2014)

  66. Zamanian, E., Binnig, C., Harris, T., Kraska, T.: The end of a myth: Distributed transactions can scale. Proc. VLDB Endow. 10(6), 685-696 (2017). https://doi.org/10.14778/3055330.3055335

  67. Zamanian, E., Binnig, C., Salama, A.: Locality-aware partitioning in parallel database systems. In: SIGMOD Conference, pp. 17–30. ACM (2015)

  68. Zhao, Z.: Efficiently supporting adaptive multi-level serializability models in distributed database systems. In: SIGMOD Conference, pp. 2908–2910. ACM (2021)

Download references

Acknowledgements

The paper is supported by the National Natural Science Foundation of China under Grant No. 61972403, and the paper is supported by Public Computing Cloud, Renmin University of China.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wei Lu.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhao, H., Li, J., Lu, W. et al. RCBench: an RDMA-enabled transaction framework for analyzing concurrency control algorithms. The VLDB Journal 33, 543–567 (2024). https://doi.org/10.1007/s00778-023-00821-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00778-023-00821-0

Keywords

Navigation