FlatProxy: A DPU-centric Service Mesh Architecture for Hyperscale Cloud-native Application (2312.01297v1)
Abstract: Service mesh is a fundamental technology for building cloud-native applications, which ensures the stable running of a large number of services by an intermediate layer that governs communication between services. However, service mesh is not well suited for high-performance scenarios. The root cause is that the current service mesh is not suitable for the evolution of cloud-native applications. On the one hand, the service mesh built on CPU cannot listen to communication bypassing the CPU. On the other hand, service mesh includes many I/O-intensive and computationally-intensive tasks that can overload CPU cores as traffic grows beyond CPU performance. Therefore, we propose a data-centric service mesh that migrates the proxy of the service mesh to the entrance of the network. Moreover, we also design the DPU-centric FlatProxy, a data-centric service mesh based on DPU. There are three advantages to the DPU-centric service mesh. Firstly, it takes over all traffic flow in and out of the node, which expands the sense scale of the service mesh from container to node. Secondly, it improves communication performance and reduces host resource usage by offloading some functions and optimizing communication. Thirdly, it minimizes performance and security issues through the physical isolation of business services and cloud infrastructure. Compared with Envoy, the current mainstream service mesh implementation, FlatProxy reduces latency by 90\% and improves throughput by 4x in Gbps and 8x in qps, and it only occupies a small amount of CPU resources.
- V. Bushong, A. S. Abdelfattah, A. A. Maruf, D. Das, A. Lehman, E. Jaroszewski, M. Coffey, T. Cerny, K. Frajtak, P. Tisnovsky, and M. Bures, “On microservice analysis and architecture evolution: A systematic mapping study,” Applied Sciences, vol. 11, no. 17, 2021. [Online]. Available: https://www.mdpi.com/2076-3417/11/17/7856
- Envoy, “envoyproxy/envoy:cloud-native high-performance edge/middle/service proxy,” 2022, https://github.com/envoyproxy/envoy.
- N. Niknejad, W. Ismail, I. Ghani, B. Nazari, M. Bahari, and A. R. B. C. Hussin, “Understanding service-oriented architecture (soa): A systematic literature review and directions for further investigation,” Information Systems, vol. 91, p. 101491, 2020. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0306437920300028
- M. Ganguli, S. Ranganath, S. Ravisundar, A. Layek, D. Ilangovan, and E. Verplanke, “Challenges and opportunities in performance benchmarking of service mesh for the edge,” in 2021 IEEE International Conference on Edge Computing (EDGE), 2021, pp. 78–85.
- F. F. K. IV. (2019, June) State of vpp in network service mesh. [Online]. Available: https://www.youtube.com/watch?v=-_-dNMOoCjc
- Alibaba Cloud, “microservices gateway,” 2022, https://www.aliyun.com/product/aliware/mse.
- B. Burres, D. Daly, M. Debbage, E. Louzoun, C. Severns-Williams, N. Sundar, N. Turbovich, B. Wolford, and Y. Li, “Intel’s hyperscale-ready infrastructure processing unit (ipu),” in 2021 IEEE Hot Chips 33 Symposium (HCS), 2021, pp. 1–16.
- “The fungible dpu™: A new category of microprocessor for the data-centric era : Hot chips 2020,” in 2020 IEEE Hot Chips 32 Symposium (HCS). Los Alamitos, CA, USA: IEEE Computer Society, aug 2020, pp. 1–25. [Online]. Available: https://doi.ieeecomputersociety.org/10.1109/HCS49909.2020.9220423
- I. Burstein, “Nvidia data center processing unit (dpu) architecture,” in 2021 IEEE Hot Chips 33 Symposium (HCS), 2021, pp. 1–20.
- M. Galles and F. Matus, “Pensando distributed services architecture,” IEEE Micro, vol. 41, no. 2, pp. 43–49, 2021.
- E. Bugnion, J. Nieh, and D. Tsafrir, “Hardware and software support for virtualization,” Synthesis Lectures on Computer Architecture, vol. 12, no. 1, pp. 1–206, 2017.
- N. C. Mendonça, C. Box, C. Manolache, and L. Ryan, “The monolith strikes back: Why istio migrated from microservices to a monolithic architecture,” IEEE Software, vol. 38, no. 5, pp. 17–22, 2021.
- Google, “istio/community:istio governance material,” 2022, https://github.com/istio/community.
- Cilium, “ebpf-based networking, observability, security,” 2022, https://cilium.io/.
- Y. T. C. Ltd, “The technical white paper of data processing unit” 2021.
- S. Kanev, J. Darago, K. Hazelwood, P. Ranganathan, T. Moseley, G.-Y. Wei, and D. Brooks, “Profiling a warehouse-scale computer,” in ISCA ’15 Proceedings of the 42nd Annual International Symposium on Computer Architecture, 2014, pp. 158–169.
- P. Balaji, S. Narravula, K. Vaidyanathan, S. Krishnamoorthy, J. Wu, and D. Panda, “Sockets direct protocol over infiniband in clusters: is it beneficial?” in IEEE International Symposium on - ISPASS Performance Analysis of Systems and Software, 2004, 2004, pp. 28–35.
- D. Goldenberg, T. Dar, and G. Shainer, “Architecture and implementation of sockets direct protocol in windows,” in 2006 IEEE International Conference on Cluster Computing, 2006, pp. 1–9.
- P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, and D. Walker, “P4: Programming protocol-independent packet processors,” SIGCOMM Comput. Commun. Rev., vol. 44, no. 3, p. 87–95, jul 2014. [Online]. Available: https://doi.org/10.1145/2656877.2656890
- Tetrate. (2022) Tetrate service bridge application connectivity platform. [Online]. Available: https://www.tetrate.io/tetrate-service-bridge/
- A. F. S. Group, “Sofastack,” 2022, https://www.sofastack.tech/projects/.
- Huawei, “Mesher,” 2022, https://github.com/apache/servicecomb-mesher.
- A. W. Service. (2022) Aws nitro system. [Online]. Available: https://aws.amazon.com/ec2/nitro/
- D. Firestone, A. Putnam, S. Mundkur, D. Chiou, A. Dabagh, M. Andrewartha, H. Angepat, V. Bhanu, A. Caulfield, E. Chung, H. K. Chandrappa, S. Chaturmohta, M. Humphrey, J. Lavier, N. Lam, F. Liu, K. Ovtcharov, J. Padhye, G. Popuri, S. Raindel, T. Sapre, M. Shaw, G. Silva, M. Sivakumar, N. Srivastava, A. Verma, Q. Zuhair, D. Bansal, D. Burger, K. Vaid, D. A. Maltz, and A. Greenberg, “Azure accelerated networking: SmartNICs in the public cloud,” in 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI 18). Renton, WA: USENIX Association, Apr. 2018, pp. 51–66. [Online]. Available: https://www.usenix.org/conference/nsdi18/presentation/firestone
- Y. Moon, S. Lee, M. A. Jamshed, and K. Park, “AccelTCP: Accelerating network applications with stateful TCP offloading,” in 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI 20). Santa Clara, CA: USENIX Association, Feb. 2020, pp. 77–92. [Online]. Available: https://www.usenix.org/conference/nsdi20/presentation/moon
- N. Lazarev, S. Xiang, N. Adit, Z. Zhang, and C. Delimitrou, “Dagger: Efficient and fast rpcs in cloud microservices with near-memory reconfigurable nics,” in Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS ’21. New York, NY, USA: Association for Computing Machinery, 2021, p. 36–51. [Online]. Available: https://doi.org/10.1145/3445814.3446696
- S. Arslan, S. Ibanez, A. Mallery, C. Kim, and N. McKeown, “Nanotransport: A low-latency, programmable transport layer for nics,” in Proceedings of the ACM SIGCOMM Symposium on SDN Research (SOSR), ser. SOSR ’21. New York, NY, USA: Association for Computing Machinery, 2021, p. 13–26. [Online]. Available: https://doi.org/10.1145/3482898.3483365
- J. Lin, K. Patel, B. E. Stephens, A. Sivaraman, and A. Akella, “PANIC: A High-Performance programmable NIC for multi-tenant networks,” in 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20). USENIX Association, Nov. 2020, pp. 243–259. [Online]. Available: https://www.usenix.org/conference/osdi20/presentation/lin
- M. T. Arashloo, A. Lavrov, M. Ghobadi, J. Rexford, D. Walker, and D. Wentzlaff, “Enabling programmable transport protocols in High-Speed NICs,” in 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI 20). Santa Clara, CA: USENIX Association, Feb. 2020, pp. 93–109. [Online]. Available: https://www.usenix.org/conference/nsdi20/presentation/arashloo
- M. Yang, A. Baban, V. Kugel, J. Libby, S. Mackie, S. S. R. Kananda, C.-H. Wu, and M. Ghobadi, “Using trio: Juniper networks’ programmable chipset - for emerging in-network applications,” in Proceedings of the ACM SIGCOMM 2022 Conference, ser. SIGCOMM ’22. New York, NY, USA: Association for Computing Machinery, 2022, p. 633–648. [Online]. Available: https://doi.org/10.1145/3544216.3544262
- G. Cloud. (2022) Expanding the tau vm family with arm-based processors. [Online]. Available: https://cloud.google.com/blog/products/compute/tau-t2a-is-first-compute-engine-vm-on-an-arm-chip
- M. Tork, L. Maudlej, and M. Silberstein, “Lynx: A smartnic-driven accelerator-centric architecture for network servers,” in Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS ’20. New York, NY, USA: Association for Computing Machinery, 2020, p. 117–131. [Online]. Available: https://doi.org/10.1145/3373376.3378528
- S. Choi, M. Shahbaz, B. Prabhakar, and M. Rosenblum, “λ𝜆\lambdaitalic_λ-nic: Interactive serverless compute on smartnics,” in Proceedings of the ACM SIGCOMM 2019 Conference Posters and Demos, 2019, pp. 151–152.
- S. Rob Davis, Mellanox Ilker Cebeli. (2018) Accelerating nvme™ over fabrics with hardware offloads at 100gb/s and beyond. [Online]. Available: https://nvmexpress.org/wp-content/uploads/Accelerating-NVMe-over-Fabrics-with-Hardware-Offloads.pdf
- Nvidia. (2023, April) Developing a linux kernel module using gpudirect rdma. [Online]. Available: https://docs.nvidia.com/cuda/gpudirect-rdma/index.html
- J. Zhang, H. Huang, L. Zhu, S. Ma, D. Rong, Y. Hou, M. Sun, C. Gu, P. Cheng, C. Shi et al., “Smartds: Middle-tier-centric smartnic enabling application-aware message split for disaggregated block storage,” 2023.
- X. Zhu, G. She, B. Xue, Y. Zhang, Y. Zhang, X. K. Zou, X. Duan, P. He, A. Krishnamurthy, M. Lentz, D. Zhuo, and R. Mahajan, “Dissecting service mesh overheads,” 2022.
- P.-J. Gootzen, J. Pfefferle, R. Stoica, and A. Trivedi, “Dpfs: Dpu-powered file system virtualization,” 2023.
- D. Du, Q. Liu, X. Jiang, Y. Xia, B. Zang, and H. Chen, “Serverless computing on heterogeneous computers,” in Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS ’22. New York, NY, USA: Association for Computing Machinery, 2022, p. 797–813. [Online]. Available: https://doi.org/10.1145/3503222.3507732
- J. F. K. Scott Ciccone. (2021, Nov.) Nvidia introduces bluefield dpu as a platform for zero trust security with nvidia doca 1.2. [Online]. Available: https://developer.nvidia.com/blog/nvidia-introduces-bluefield-dpu-as-a-platform-for-zero-trust-security-with-doca-1-2/
- P. Bosshart, G. Gibb, H.-S. Kim, G. Varghese, N. McKeown, M. Izzard, F. Mujica, and M. Horowitz, “Forwarding metamorphosis: Fast programmable match-action processing in hardware for sdn,” in Proceedings of the ACM SIGCOMM 2013 Conference on SIGCOMM, ser. SIGCOMM ’13. New York, NY, USA: Association for Computing Machinery, 2013, p. 99–110. [Online]. Available: https://doi.org/10.1145/2486001.2486011
- D. Zhuo, K. Zhang, Y. Zhu, H. H. Liu, M. Rockett, A. Krishnamurthy, and T. Anderson, “Slim: OS kernel support for a Low-Overhead container overlay network,” in 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19). Boston, MA: USENIX Association, Feb. 2019, pp. 331–344. [Online]. Available: https://www.usenix.org/conference/nsdi19/presentation/zhuo
- Google. (2023) Pod. [Online]. Available: https://kubernetes.io/zh-cn/docs/concepts/workloads/pods/