计算机科学 ›› 2023, Vol. 50 ›› Issue (10): 239-247.doi: 10.11896/jsjkx.220800048

• 计算机网络 • 上一篇    下一篇

vsocket:一种基于RDMA的兼容标准套接字加速方法

陈云芳, 茆昊天, 张伟   

  1. 南京邮电大学计算机学院 南京210000
  • 收稿日期:2022-08-05 修回日期:2022-12-09 出版日期:2023-10-10 发布日期:2023-10-10
  • 通讯作者: 张伟(zhangw@njupt.edu.cn)
  • 作者简介:(chenyf@njupt.edu.cn)

vsocket:an RDMA-based Acceleration Method Compatible with Standard Socket

CHEN Yunfang, MAO Haotian, ZHANG Wei   

  1. School of Computer Science,Nanjing University of Posts and Telecommunications,Nanjing 210000,China
  • Received:2022-08-05 Revised:2022-12-09 Online:2023-10-10 Published:2023-10-10
  • About author:CHEN Yunfang,born in 1976,Ph.D,master supervisor.His main research interests include artificial intelligence algorithms,functional analysis of specific application areas,and application development using intelligent systems.ZHANG Wei,born in 1973,Ph.D,Ph.D supervisor.His main research interests include intelligent perception and cognition under UAV platform,privacy protection and artificial intelligence security.

摘要: 为了兼容Linux标准套接字,同时利用RDMA提高使用套接字的程序的性能,提出在上层应用与底层RDMA之间搭建一个中间件——Viscore Socket adaptor(简称vsocket);通过拦截socket API,将上层应用通过套接字收发的数据流无缝转接到RDMA承载上。vsocket绕过管理收发缓冲区的内核,针对TCP和UDP分别实现了用户空间的内存管理机制,使用RC类型的RDMA网络支持TCP加速,使用UD类型的RDMA网络支持UDP加速,并重用Linux UDP来辅助其路由。实验结果表明vsocket能够保证Linux标准套接字接口的兼容性,提升网络性能,摆脱Linux内核网络协议栈的限制,改善收发数据的延迟与带宽。

关键词: 套接字, 远程内存直接访问, 协议加速

Abstract: In order to be compatible with Linux standard sockets and utilize RDMA to improve the performance of programs using sockets,this paper proposes to construct a middleware Viscore Socket adaptor,referred to as vsocket between the upper-la-yer application and the underlying RDMA.By intercepting the socket API,we seamlessly transfer the data stream sent and received by the upper-layer application through the Linux socket to the RDMA bearer.The vsocket bypasses kernel and implements memory management mechanism in user space for TCP and UDP.It utilizes RC type RDMA network to support TCP acceleration,uses UD type RDMA network to support UDP acceleration,and reuses Linux UDP to assist routing.Experimental results show that vsocket can ensure the compatibility of the Linux standard socket interface,get rid of the limitation of the Linux kernel network protocol stack,and improve the network performance.

Key words: Socket, Remote-direct memory access, Protocol acceleration

中图分类号: 

  • TP393
[1]2020 Ethernet Alliance Roadmap [EB/OL].https://ethernetalliance.org/blog/2020/05/06/2020-ethernet-alliance-roadmap.
[2]HOEFLER T,GIROLAMO S D,TARANOV K,et al.sPIN:High-performance streaming Processing in the Network[C]//Proceedings of the International Conference for High Perfor-mance Computing,Networking,Storage and Analysis.2017:1-16.
[3]MA X X,LU G,FU B Z,et al.Implementation method and performance analysis of non-contiguous data communication in network[J].Chinese Journal of Computers,2020,43(6):1123-1138.
[4]LIN X,YU C,LI X,et al.Scalable Kernel TCP Design and Implementation for Short-Lived Connections[J].ACM SIGARCH Computer Architecture News,2016,44(2):339-352.
[5]HAN S,MARSHALL S,CHUN B G,et al.MegaPipe:a newprogramming interface for scalable network I/O[C]//Procee-dings of the 10th USENIX Conference on Operating Systems Design and Implementation.USENIX Association,2012:135-148.
[6]YASUKATA K,HONDA M,SANTRY D,et al.StackMap:Low-Latency Networking with the OS Stack and Dedicated NICs[C]//Usenix Technical Conference.2016:43-56.
[7]Seastar:High-performance server-side application framework[EB/OL].http://seastar.io/.
[8]High-performance network framework based on dpdk[EB/OL].http://f-stack.org/.
[9]MELLANOX.Messaging accelerator(vma)[EB/OL].https://github.com/mellanox/libvma.
[10]CORPORATION M.Information about the tcp chimney offload[EB/OL].https://support.microsoft.com/en-us/help/951037/information-about-the-tcp-chimney-offload-receive-side-sca-ling-and-net.
[11]InfiniBand Trade Association.InfiniBand Architecture specification,volume 1,release 1.0[EB/OL].http://www.infinibandta.org
[12]Rsocket[EB/OL].https://linux.die.net/man/7/.
[13]LI B,CUI T,WANG Z,et al.Socksdirect:datacenter sockets can be fast and compatible[C]//Proceedings of the ACM Special Interest Group on Data Communication.2019.
[14]JOSE J,LI M,LU X,et al.SR-IOV Support for Virtualization on InfiniBand Clusters:Early Experience[C]//IEEE/ACM International Symposium on Cluster.ACM,2013.
[15]MUSLEH M.Bridging the Virtualization Performance Gap for HPC Using SR-IOV for InfiniBand[C]//IEEE International Conference on Cloud Computing.IEEE,2014.
[16]RANADIVE A,DAVDA B.Toward a Paravirtual vRDMA Device for VMware ESXi Guests[J].VMware Technical Journal,Winter,2012,1(2):2012.
[17]WANG D,FU B,LU G,et al.vSocket:virtual socket interface for RDMA in public clouds[C]//the 15th ACM SIGPLAN/SIGOPS International Conference.ACM,2019.
[18]PFEFFERLE J,STUEDI P,TRIVEDI A,et al.A Hybrid I/O Virtualization Framework for RDMA-capable Network Interfaces[J].ACM Sigplan Notices,2015:17-30.
[19]PFEFFERLE J.vVerbs,a paravirtual subsystem for RDMA-capable network interfaces[J/OL].https://www.research-collection.ethz.ch/handle/20.500.11850/154568.
[20]FAN S,CHEN F,RAUCHFUSS H,et al.Towardsa Light-weight RDMAPara-Virtualization for HPC[C]//COSH/VisorHPC@ HiPEAC.2017.
[21]MOUZAKITIS A,PINTO C,NIKOLAEV N,et al.Lightweight and Generic RDMA Engine Para-Virtualization for the KVM Hypervisor[C]//International Conference on High Performance Computing & Simulation.IEEE,2017.
[22]KIM D,YU T,LIU H H,et al.Freeflow:software-based virtual RDMA networking for containerized clouds[C]//Networked Systems Design and Implementation.2019.
[23]SoftRoCE:Software RDMA over Converged Ethernet[EB/OL].https://github.com/SoftRoCE.
[24]MA T,MA T,SONG Z,et al.X-RDMA:Effective RDMA Middleware in Large-scale Production Environments[C]//IEEE International Conference on Cluster Computing(CLUSTER),2019.
[25]REESE W.Nginx:The high-performance webserver and reverse proxy[J].Linux Journal,2008,2008(173):2.
[26]NGINX Plus Sizing Guide:How We Tested.[EB/OL].https://www.nginx.com/blog/nginx-plus-sizing-guide-how-we-tested/#tests.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!