[发明专利]一种应用于远程过程调用系统的零拷贝序列化方法在审
| 申请号: | 202111396667.4 | 申请日: | 2021-11-23 |
| 公开(公告)号: | CN114077507A | 公开(公告)日: | 2022-02-22 |
| 发明(设计)人: | 田臣;张天凡;周华平;王怿 | 申请(专利权)人: | 南京大学 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/50;G06F15/173 |
| 代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 王路 |
| 地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 应用于 远程 过程 调用 系统 拷贝 序列 方法 | ||
本发明公开了一种应用于远程过程调用系统的零拷贝序列化方法,包括:步骤1:客户端应用程序调用序列化库,对应用程序的数据进行序列化;步骤2:序列化库将应用程序数据转换成字节流,随后根据内存分配策略申请内存,并根据内存批量注册策略将内存注册,再将转换后的字节流写入到分配的内存空间中,生成序列化后的消息;步骤3:客户端应用程序使用基于RDMA的RPC系统通过网络传输序列化后的消息,将序列化后的消息交由服务端的程序处理;步骤4:服务端的程序完成客户端的请求后,将运行结果按照上述步骤反向发回给客户端程序。本发明消除了现有序列化库中的多次拷贝,并有效减少了内存分配次数和内存分配总量,显著提升了RPC系统的吞吐量。
技术领域
本发明属于分布式计算系统技术领域,具体涉及一种应用于远程过程调用系统的零拷贝序列化方法。
背景技术
远程过程调用(Remote Procedure Call,RPC)是分布式系统通信的主要方式,它使得客户端可以像调用本地过程一样调用远程服务端的过程。RPC往往涉及到序列化,序列化一般是指将数据结构转换成适合存储或者传输的字节流。这里的序列化是指将客户请求转换成易于网络传输的格式。RPC的客户端将调用请求序列化后通过网络发送到服务端,服务器在收到网络消息后,对消息进行反序列化得到用户的请求,从而进行相应处理。服务器在相应的计算完成后,也会将返回值序列化后发送给客户端,客户端在反序列化后得到所需的计算结果。大量的研究表明,序列化在当前的数据中心中占据非常大的开销。
远程直接内存访问(Remote Direct Memory Access,RDMA)是为高性能计算设计的高速网络。随着基于以太网的RDMA网络(RDMA over Converged Ethernet,RoCE)的普及,RDMA逐渐在数据中心大规模部署,从而数据中心的网络传输性能有了大幅提升。RDMA与传统网络的Socket编程方式有较大的不同,这会为上层应用的程序员带来编程的困难。而RPC可以提供编程的透明性,因此在RDMA网络的基础上搭建高效的RPC系统成为学术界和工业界的研究热点。
RDMA的传输模式可以分为不可靠的数据报传输(Unreliable Datagram,UD)、不可靠的连接传输(Unreliable Connection,UC)和可靠的连接传输(Reliable Connection,RC)三类。其中UD和RC的应用较广,UD类似于传统网络中的用户数据报协议(User DatagramProtocol,UDP),RC类似于传统网络中的传输控制协议(Transmission Control Protocol,TCP)。
诸多基于RDMA UD和RDMA RC的RPC系统被提出并应用在数据中心里,这加速了网络中的数据交换,也使得序列化的开销问题日益突出,成为数据中心的瓶颈,针对序列化的优化迫在眉睫。
序列化一般由程序调用第三方序列化库来完成。在序列化库对消息进行序列化的过程中,由于序列化后生成的消息大小无法提前预知,所以序列化库会存在多次内存的重新分配和拷贝操作,这是序列化的一个重大开销来源。具体来说,序列化库会先分配一块内存缓冲区(例如1024字节),随后将序列化后的消息写入这块缓冲区中。如果序列化后的消息大小超过了此前分配的缓冲区大小,那么序列化库会重新分配一块更大的缓冲区(上次分配的1.5或者2倍大小),然后将原缓冲区的数据悉数拷贝到新缓冲区里,而后释放掉原缓冲区。如果新缓冲区大小也不够,便一直重复此过程直到序列化完成。
序列化过程中的多次内存拷贝严重影响了序列化的性能,因此结合基于RDMA的RPC系统,消除序列化过程中的内存拷贝,实现一个零拷贝的序列化方法可以有效提升系统性能,具有很大的价值。
发明内容
本发明针对现有序列化库在序列化过程中的多次内存拷贝问题,旨在实现一个零拷贝的序列化库,并能够和数据中心的RPC系统结合使用,以提高系统的整体性能。
为实现上述目的,本发明采用以下技术方案:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111396667.4/2.html,转载请声明来源钻瓜专利网。





