Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3458817.3476191acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
research-article
Public Access

HatRPC: hint-accelerated thrift RPC over RDMA

Published: 13 November 2021 Publication History

Abstract

In this paper, we propose a novel hint-accelerated Remote Procedure Call (RPC) framework based on Apache Thrift over Remote Direct Memory Access (RDMA) protocols, called HatRPC. HatRPC proposes a hierarchical hint scheme towards optimizing heterogeneous RPC services and functions. The proposed hint design is composed of service-granularity and function-granularity hints for achieving varied optimization goals and reducing design space for further optimizing the underneath RDMA communication engine. We co-design a key-value store called HatKV with HatRPC and LMDB. The effectiveness and efficiency of HatRPC are validated and evaluated with our proposed Apache Thrift Benchmarks (ATB), YCSB, and TPC-H workloads. Performance evaluations show that the proposed HatRPC approach can deliver up to 55% performance improvement for ATB benchmarks and up to 1.51X speedup for TPC-H queries compared with vanilla Thrift over IPoIB. In addition, the co-designed HatKV can achieve up to 85.5% improvement for YCSB workloads.

Supplementary Material

MP4 File (Networks - HatRPC_ Hint-Accelerated Thrift RPC over RDMA.mp4)
Presentation video

References

[1]
2016. LMDB: Lightning Memory-Mapped Database Manager (LMDB). http://www.lmdb.tech/doc/.
[2]
2021. Bison - GNU Project - Free Software Foundation. https://www.gnu.org/software/bison/.
[3]
2021. EDB Optimizer Hints. https://www.enterprisedb.com/edb-docs/d/edb-postgres-advanced-server/user-guides/database-compatibility-for-oracle-developers-guide/11/Database_Compatibility_for_Oracle_Developers_Guide.1.038.html.
[4]
2021. Hint (SQL). https://en.wikipedia.org/wiki/Hint_(SQL).
[5]
2021. Home - OpenMP. https://www.openmp.org/.
[6]
2021. MySQL :: MySQL 8.0 Reference Manual :: 8.9.3 Optimizer Hints. https://dev.mysql.com/doc/refman/8.0/en/optimizer-hints.html.
[7]
2021. OpenUCX/UCX: Unified Communication X. https://github.com/openucx/ucx.
[8]
2021. The Info Object. https://www.mpi-forum.org/docs/mpi-2.1/mpi21-report-bw/node194.htm.
[9]
2021. Thrift Interface Description Language. https://github.com/apache/thrift/blob/master/doc/specs/idl.md.
[10]
2021. Tool Interfaces (MPI-T), MPICH Parameters and Instrumentation - MPICH.
[11]
2021. UCP Hello World Example. https://github.com/openucx/ucx/blob/master/examples/ucp_hello_world.c.
[12]
2021. Using Optimizer Hints. https://docs.oracle.com/cd/B19306_01/server.102/b14211/hintsref.htm#i8327.
[13]
2021. westes/flex: The Fast Lexical Analyzer - scanner generator for lexing in C and C++. https://github.com/westes/flex.
[14]
N Abu-Ghazaleh and MJ Lewis. 2004. Madhusudhan Govindaraju. Differential Serialization for Optimized SOAP Performance. In Proceedings of the 13th IEEE International Symposium on High Performance. Distributed Computing (HPDC-13), Honolulu, Hawaii, Vol. 55.
[15]
Nayef Abu-Ghazaleh and Michael J Lewis. 2005. Differential Deserialization for Optimized Soap Performance. In SC'05: Proceedings of the 2005 ACM/IEEE conference on Supercomputing. IEEE, 21--21.
[16]
M. Bayatpour, N. Sarkauskas, H. Subramoni, J. Hashmi, and D. K. Panda. 2021. BluesMPI: Efficient MPI Non-blocking Alltoall Offloading Designs on Modern BlueField Smart NICs. In Proceedings of ISC HIGH PERFORMANCE (Frankfurt, Germany).
[17]
Carsten Binnig, Andrew Crotty, Alex Galakatos, Tim Kraska, and Erfan Zamanian. 2016. The End of Slow Networks: It's Time for a Redesign. Proceedings of the VLDB Endowment 9, 7 (2016), 528--539.
[18]
Rajarshi Biswas, Xiaoyi Lu, and Dhabaleswar K Panda. 2018. Accelerating Tensor-flow with Adaptive RDMA-Based gRPC. In 2018 IEEE 25th International Conference on High Performance Computing (HiPC). IEEE, 2--11.
[19]
Nicolas Bruno, Surajit Chaudhuri, and Ravishankar Ramamurthy. 2009. Interactive Plan Hints for Query Optimization. In Proceedings of the 2009 ACM SIGMOD International Conference on Management of Data (Providence, Rhode Island, USA) (SIGMOD '09). Association for Computing Machinery, New York, NY, USA, 1043--1046.
[20]
Nicolas Bruno, Surajit Chaudhuri, and Ravi Ramamurthy. 2009. Power Hints for Query Optimization. In 2009 IEEE 25th International Conference on Data Engineering. 469--480.
[21]
Youmin Chen, Youyou Lu, and Jiwu Shu. 2019. Scalable RDMA RPC on Reliable Connection with Efficient Resource Sharing. In Proceedings of the Fourteenth EuroSys Conference 2019. ACM, 19.
[22]
Brian F Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. Benchmarking Cloud Serving Systems with YCSB. In Proceedings of the 1st ACM symposium on Cloud computing. 143--154.
[23]
Aleksandar Dragojević, Dushyanth Narayanan, Miguel Castro, and Orion Hodson. 2014. FaRM: Fast Remote Memory. In 11th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 14). 401--414.
[24]
Aleksandar Dragojević, Dushyanth Narayanan, Edmund B Nightingale, Matthew Renzelmann, Alex Shamis, Anirudh Badam, and Miguel Castro. 2015. No Compromises: Distributed Transactions with Consistency, Availability, and Performance. In Proceedings of the 25th Symposium on Operating Systems Principles. ACM, 54--70.
[25]
Philipp Fent, Alexander van Renen, Andreas Kipf, Viktor Leis, Thomas Neumann, and Alfons Kemper. 2020. Low-Latency Communication for Fast DBMS Using RDMA and Shared Memory. In 2020 IEEE 36th International Conference on Data Engineering (ICDE). 1477--1488.
[26]
William Fox, Devarshi Ghoshal, Abel Souza, Gonzalo P. Rodrigo, and Lavanya Ramakrishnan. 2017. E-HPC: A Library for Elastic Resource Management in HPC Environments. In Proceedings of the 12th Workshop on Workflows in Support of Large-Scale Science (Denver, Colorado) (WORKS '17). Association for Computing Machinery, New York, NY, USA, Article 1, 11 pages.
[27]
Edgar Gabriel, Graham E Fagg, George Bosilca, Thara Angskun, Jack J Dongarra, Jeffrey M Squyres, Vishal Sahay, Prabhanjan Kambadur, Brian Barrett, Andrew Lumsdaine, et al. 2004. Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation. In European Parallel Virtual Machine/Message Passing Interface Users Group Meeting. Springer, 97--104.
[28]
Google. 2021. grpc/grpc: The C Based gRPC (C++, Python, Ruby, Objective-C, PHP, C). https://github.com/grpc/grpc.
[29]
Shashank Gugnani, Xiaoyi Lu, and Dhabaleswar K Panda. 2017. Swift-X: Accelerating OpenStack Swift with RDMA for Building an Efficient HPC Cloud. In 2017 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID). IEEE, 238--247.
[30]
Chris Harris, Patrick O'Leary, Michael Grauer, Aashish Chaudhary, Chris Kotfila, and Robert O'Bara. 2016. Dynamic Provisioning and Execution of HPC Workflows Using Python. In 2016 6th Workshop on Python for High-Performance and Scientific Computing (PyHPC). IEEE, 1--8.
[31]
Nusrat S Islam, Xiaoyi Lu, Md Wasi-ur Rahman, and Dhabaleswar K Panda. 2014. SOR-HDFS: A SEDA-Based Approach to Maximize Overlapping in RDMA-Enhanced HDFS. In Proceedings of the 23rd international symposium on High-performance parallel and distributed computing. ACM, 261--264.
[32]
Nusrat Sharmin Islam, Xiaoyi Lu, Md Wasi-ur Rahman, Dipti Shankar, and Dhabaleswar K Panda. 2015. Triple-H: A Hybrid Approach to Accelerate HDFS on HPC Clusters with Heterogeneous Storage Architecture. In 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing. IEEE, 101--110.
[33]
J. Zhang and X. Lu and D. K. Panda. 2017. High-Performance Virtual Machine Migration Framework for MPI Applications on SR-IOV Enabled InfiniBand Clusters. In 2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS). Orlando, USA.
[34]
Chengfan Jia, Junnan Liu, Xu Jin, Han Lin, Hong An, Wenting Han, Zheng Wu, and Mengxian Chi. 2018. Improving the Performance of Distributed Tensorflow with RDMA. International Journal of Parallel Programming 46, 4 (2018), 674--685.
[35]
Anuj Kalia, Michael Kaminsky, and David Andersen. 2019. Datacenter RPCs can be General and Fast. In 16th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 19). 1--16.
[36]
Anuj Kalia, Michael Kaminsky, and David G Andersen. 2014. Using RDMA Efficiently for Key-Value Services. In ACM SIGCOMM Computer Communication Review, Vol. 44. ACM, 295--306.
[37]
Anuj Kalia, Michael Kaminsky, and David G. Andersen. 2016. Design Guidelines for High Performance RDMA Systems. In 2016 USENIX Annual Technical Conference (USENIX ATC 16). USENIX Association, Denver, CO, 437--450. https://www.usenix.org/conference/atc16/technical-sessions/presentation/kalia
[38]
Xuhui Li, Ashraf Aboulnaga, Kenneth Salem, Aamer Sachedina, and Shaobo Gao. 2005. Second-Tier Cache Management Using Write Hints. In Proceedings of the 4th Conference on USENIX Conference on File and Storage Technologies - Volume 4 (San Francisco, CA) (FAST'05). USENIX Association, USA, 9.
[39]
Jiuxing Liu, Jiesheng Wu, Sushmitha P. Kini, Pete Wyckoff, and Dhabaleswar K. Panda. 2003. High Performance RDMA-based MPI Implementation over InfiniBand. In Proceedings of the 17th Annual International Conference on Super-computing, ICS 2003, San Francisco, CA, USA, June 23--26, 2003, Utpal Banerjee, Kyle A. Gallivan, and Antonio González (Eds.). ACM, 295--304.
[40]
Xiaoyi Lu, Nusrat S Islam, Md Wasi-Ur-Rahman, Jithin Jose, Hari Subramoni, Hao Wang, and Dhabaleswar K Panda. 2013. High-Performance Design of Hadoop RPC with RDMA over InfiniBand. In 2013 42nd International Conference on Parallel Processing. IEEE, 641--650.
[41]
Xiaoyi Lu, Dipti Shankar, Shashank Gugnani, and Dhabaleswar K Panda. 2016. High-Performance Design of Apache Spark with RDMA and Its Benefits on Various Workloads. In 2016 IEEE International Conference on Big Data (Big Data). IEEE, 253--262.
[42]
Xiaoyi Lu, Haiyang Shi, Rajarshi Biswas, M Haseeb Javed, and Dhabaleswar K Panda. 2018. DLoBD: A Comprehensive Study of Deep Learning over Big Data Stacks on HPC Clusters. IEEE Transactions on Multi-Scale Computing Systems 4, 4 (2018), 635--648.
[43]
Youyou Lu, Jiwu Shu, Youmin Chen, and Tao Li. 2017. Octopus: an rdma-enabled distributed persistent memory file system. In 2017 {USENIX} Annual Technical Conference ({USENIX} {ATC} 17). 773--785.
[44]
Jason Maassen, Rob Van Nieuwpoort, Ronald Veldema, Henri Bal, Thilo Kielmann, Ceriel Jacobs, and Rutger Hofman. 2001. Efficient Java RMI for Parallel Programming. ACM Transactions on Programming Languages and Systems 23, 6 (2001), 747--775.
[45]
Mellanox. 2019. RDMA Aware Networks Programming User Manual. http://www.mellanox.com/related-docs/prod_software/RDMA_Aware_Programming_user_manual.pdf.
[46]
Christopher Mitchell, Yifeng Geng, and Jinyang Li. 2013. Using One-Sided RDMA Reads to Build a Fast, CPU-Efficient Key-Value Store. In Presented as part of the 2013 {USENIX} Annual Technical Conference ({USENIX} {ATC} 13). 103--114.
[47]
MPICH. 2021. MPICH. https://www.mpich.org/.
[48]
Oracle. 2021. Using Optimizer Hints. https://docs.oracle.com/cd/B19306_01/server.102/b14211/hintsref.htm.
[49]
Aarthi Raveendran, Tekin Bicer, and Gagan Agrawal. 2011. A Framework for Elastic Execution of Existing MPI Programs. In 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum. 940--947.
[50]
Yufei Ren, Xingbo Wu, Li Zhang, Yandong Wang, Wei Zhang, Zijun Wang, Michel Hack, and Song Jiang. 2017. iRDMA: Efficient USE of RDMA in Distributed Deep Learning Systems. In 2017 IEEE 19th International Conference on High Performance Computing and Communications; IEEE 15th International Conference on Smart City; IEEE 3rd International Conference on Data Science and Systems (HPCC/SmartCity/DSS). IEEE, 231--238.
[51]
Wolf Rödiger, Tobias Mühlbauer, Alfons Kemper, and Thomas Neumann. 2015. High-Speed Query Processing over High-Speed Networks. Proc. VLDB Endow. 9, 4 (2015), 228--239.
[52]
Microsoft SQL Server. 2021. Hints (Transact-SQL). https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql?view=sql-server-ver15.
[53]
Keith Seymour, Hidemoto Nakada, Satoshi Matsuoka, Jack Dongarra, Craig Lee, and Henri Casanova. 2002. Overview of GridRPC: A Remote Procedure Call API for Grid Computing. In International Workshop on Grid Computing. Springer, 274--278.
[54]
Dipti Shankar, Xiaoyi Lu, Nusrat Islam, Md Wasi-Ur-Rahman, and Dhabaleswar K Panda. 2016. High-Performance Hybrid Key-Value Store on Modern Clusters with RDMA Interconnects and SSDs: Non-Blocking Extensions, Designs, and Benefits. In 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS). IEEE, 393--402.
[55]
Haiyang Shi and Xiaoyi Lu. 2019. TriEC: Tripartite Graph Based Erasure Coding NIC Offload. In The 32nd International Conference for High Performance Computing, Networking, Storage and Analysis (SC).
[56]
Haiyang Shi and Xiaoyi Lu. 2020. INEC: Fast and Coherent In-Network Erasure Coding. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC '20). IEEE Press.
[57]
Haiyang Shi, Xiaoyi Lu, Dipti Shankar, and Dhabaleswar K Panda. 2019. UMR-EC: A Unified and Multi-Rail Erasure Coding Library for High-Performance Distributed Storage Systems. In Proceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing. ACM, 219--230.
[58]
Mark Slee, Aditya Agarwal, and Marc Kwiatkowski. 2007. Thrift: Scalable Cross-Language Services Implementation. Facebook White Paper 5, 8 (2007).
[59]
Maomeng Su, Mingxing Zhang, Kang Chen, Zhenyu Guo, and Yongwei Wu. 2017. RFP: When RPC is Faster than Server-Bypass with RDMA. In Proceedings of the Twelfth European Conference on Computer Systems, EuroSys 2017, Belgrade, Serbia, April 23--26, 2017, Gustavo Alonso, Ricardo Bianchini, and Marko Vukolic (Eds.). ACM, 1--15.
[60]
Sayantan Sur, Hyun-Wook Jin, Lei Chai, and Dhabaleswar K. Panda. 2006. RDMA Read Based Rendezvous Protocol for MPI over InfiniBand: Design Alternatives and Benefits. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 2006, New York, New York, USA, March 29--31, 2006, Josep Torrellas and Siddhartha Chatterjee (Eds.). ACM, 32--39.
[61]
Transaction Processing Performance Council. 2019. TPC-H Benchmark. http://www.tpc.org/tpch/.
[62]
The Ohio State University. 2021. MVAPICH. http://mvapich.cse.ohio-state.edu/.
[63]
VanMSFT. 2021. Hints (Transact-SQL) - SQL Server | Microsoft Docs. https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql?view=sql-server-ver15.
[64]
Rangaswamy Vasudevan and Caveh Jalali. 1999. Remote Procedure Call System and Method for RPC Mechanism Independent Client and Server Interfaces Interoperable with Any of a Plurality of Remote Procedure Call Backends. US Patent 5,887,172.
[65]
Yandong Wang, Xiaoqiao Meng, Li Zhang, and Jian Tan. 2014. C-hint: An Effective and Reliable Cache Management for RDMA-Accelerated Key-Value Stores. In Proceedings of the ACM Symposium on Cloud Computing. ACM, 1--13.
[66]
Yandong Wang, Xiaoqiao Meng, Li Zhang, and Jian Tan. 2014. C-Hint: An Effective and Reliable Cache Management for RDMA-Accelerated Key-Value Stores. In Proceedings of the ACM Symposium on Cloud Computing (Seattle, WA, USA) (SOCC '14). Association for Computing Machinery, New York, NY, USA, 1--13.
[67]
Md Wasi-ur Rahman, Nusrat Sharmin Islam, Xiaoyi Lu, Dipti Shankar, and Dhabaleswar K DK Panda. 2018. MR-Advisor: A Comprehensive Tuning, Profiling, and Prediction Tool for MapReduce Execution Frameworks on HPC Clusters. J. Parallel and Distrib. Comput. 120 (2018), 237--250.
[68]
Erfan Zamanian, Carsten Binnig, Tim Harris, and Tim Kraska. 2017. The End of a Myth: Distributed Transactions can Scale. Proceedings of the VLDB Endowment 10, 6 (2017), 685--696.

Cited By

View all
  • (2024)Beyond JSON: Evaluating Serialization Formats for Space-Efficient CommunicationAdvances in Cyber-Physical Systems10.23939/acps2024.01.0099:1(9-15)Online publication date: 18-Jun-2024
  • (2024)NotNets: Accelerating Microservices by Bypassing the NetworkProceedings of the 15th ACM SIGOPS Asia-Pacific Workshop on Systems10.1145/3678015.3680494(67-73)Online publication date: 4-Sep-2024
  • (2024)RR-Compound: RDMA-Fused gRPC for Low Latency, High Throughput, and Easy InterfaceIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.340439435:8(1488-1505)Online publication date: Aug-2024
  • Show More Cited By

Index Terms

  1. HatRPC: hint-accelerated thrift RPC over RDMA

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      SC '21: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis
      November 2021
      1493 pages
      ISBN:9781450384421
      DOI:10.1145/3458817
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      In-Cooperation

      • IEEE CS

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 13 November 2021

      Permissions

      Request permissions for this article.

      Check for updates

      Badges

      Author Tags

      1. RDMA
      2. RPC
      3. code generation
      4. hint
      5. thrift

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      SC '21
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 1,516 of 6,373 submissions, 24%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)264
      • Downloads (Last 6 weeks)58
      Reflects downloads up to 22 Sep 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Beyond JSON: Evaluating Serialization Formats for Space-Efficient CommunicationAdvances in Cyber-Physical Systems10.23939/acps2024.01.0099:1(9-15)Online publication date: 18-Jun-2024
      • (2024)NotNets: Accelerating Microservices by Bypassing the NetworkProceedings of the 15th ACM SIGOPS Asia-Pacific Workshop on Systems10.1145/3678015.3680494(67-73)Online publication date: 4-Sep-2024
      • (2024)RR-Compound: RDMA-Fused gRPC for Low Latency, High Throughput, and Easy InterfaceIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.340439435:8(1488-1505)Online publication date: Aug-2024
      • (2024) RB 2 : Narrow the Gap between RDMA Abstraction and Performance via a Middle Layer IEEE INFOCOM 2024 - IEEE Conference on Computer Communications10.1109/INFOCOM52122.2024.10621169(1071-1080)Online publication date: 20-May-2024
      • (2023)Efficient I/O Merging Scheme for Distributed File SystemsSymmetry10.3390/sym1502042315:2(423)Online publication date: 5-Feb-2023
      • (2023)Bifrost: Extending RoCE for Long Distance Inter-DC Links2023 IEEE 31st International Conference on Network Protocols (ICNP)10.1109/ICNP59255.2023.10355634(1-12)Online publication date: 10-Oct-2023
      • (2022)An RDMA-enabled In-memory Computing Platform for R-tree on ClustersACM Transactions on Spatial Algorithms and Systems10.1145/35035138:2(1-26)Online publication date: 12-Feb-2022
      • (2022)NVMe-oAFProceedings of the 31st International Symposium on High-Performance Parallel and Distributed Computing10.1145/3502181.3531476(56-70)Online publication date: 27-Jun-2022
      • (2022)A Survey of Storage Systems in the RDMA EraIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2022.318865633:12(4395-4409)Online publication date: 1-Dec-2022
      • (2022)Accelerate State Sharing of Network Function with RDMAGLOBECOM 2022 - 2022 IEEE Global Communications Conference10.1109/GLOBECOM48099.2022.10000945(1-6)Online publication date: 4-Dec-2022
      • Show More Cited By

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media