当前位置: 首页 > 专利查询>南京大学专利>正文

一种应用于远程过程调用系统的零拷贝序列化方法技术方案

技术编号:32435464 阅读:43 留言:0更新日期:2022-02-24 19:08
本发明专利技术公开了一种应用于远程过程调用系统的零拷贝序列化方法,包括:步骤1:客户端应用程序调用序列化库,对应用程序的数据进行序列化;步骤2:序列化库将应用程序数据转换成字节流,随后根据内存分配策略申请内存,并根据内存批量注册策略将内存注册,再将转换后的字节流写入到分配的内存空间中,生成序列化后的消息;步骤3:客户端应用程序使用基于RDMA的RPC系统通过网络传输序列化后的消息,将序列化后的消息交由服务端的程序处理;步骤4:服务端的程序完成客户端的请求后,将运行结果按照上述步骤反向发回给客户端程序。本发明专利技术消除了现有序列化库中的多次拷贝,并有效减少了内存分配次数和内存分配总量,显著提升了RPC系统的吞吐量。的吞吐量。的吞吐量。

【技术实现步骤摘要】
一种应用于远程过程调用系统的零拷贝序列化方法


[0001]本专利技术属于分布式计算系统
,具体涉及一种应用于远程过程调用系统的零拷贝序列化方法。

技术介绍

[0002]远程过程调用(Remote Procedure Call,RPC)是分布式系统通信的主要方式,它使得客户端可以像调用本地过程一样调用远程服务端的过程。RPC往往涉及到序列化,序列化一般是指将数据结构转换成适合存储或者传输的字节流。这里的序列化是指将客户请求转换成易于网络传输的格式。RPC的客户端将调用请求序列化后通过网络发送到服务端,服务器在收到网络消息后,对消息进行反序列化得到用户的请求,从而进行相应处理。服务器在相应的计算完成后,也会将返回值序列化后发送给客户端,客户端在反序列化后得到所需的计算结果。大量的研究表明,序列化在当前的数据中心中占据非常大的开销。
[0003]远程直接内存访问(Remote Direct Memory Access,RDMA)是为高性能计算设计的高速网络。随着基于以太网的RDMA网络(RDMA over Converged Ether本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种应用于远程过程调用系统的零拷贝序列化方法,其特征在于,包括如下步骤:步骤1:客户端应用程序调用序列化库,对应用程序的数据进行序列化;步骤2:序列化库将应用程序数据转换成字节流,随后内存分配注册器,即具有注册功能的内存分配器,根据内存分配策略申请内存,并根据内存批量注册策略将内存注册,再将转换后的字节流写入到分配的内存空间中,生成序列化后的消息;步骤3:客户端应用程序使用基于RDMA的RPC系统通过网络传输序列化后的消息,将网络传输的序列化后的消息交由服务端的程序处理。步骤4:服务端的程序完成客户端的请求后,将运行结果按照上述步骤反向发回给客户端程序。2.根据权利要求1所述的一种应用于远程过程调用系统的零拷贝序列化方法,其特征在于,步骤2的内存分配策略为:序列化库会先分配一块内存缓冲区,随后将序列化后的消息写入这块缓冲区中,序列化后的消息大小超过了此前分配的缓冲区大小,序列化库分配一块新的缓冲区,将后续的序列化数据写入新分配的缓冲区中,而原缓冲区的数据依旧保留在原缓冲区中不做更改,也不会释放原缓冲区,如果新分配的缓冲区的剩余空间也不够,那么就继续重复此过程直至序列化完成。3.根据权利要求1所述的一种应用于远程过程调用系统的零拷贝序列化方法,其特征在于,步骤2的内存批量注册策略为:内存分配注册器向操作系统申请一整块内存并将其放入自己的缓冲区池时,会对这一整块的内存进行批量的注册以均摊注册开销;同样地,当内存分配注册器向操作系统归还缓冲区池的内存时,会批量撤销内存的注册。4.根据权利要求2所述的一种应用于远程过程调用系统的零拷贝序列化方法,其特征在于,序列化的内存分配策略通过内存层次实现:内存层次从下往上依次是块、切片和消息缓冲区;块是内存分配注册器直接返回...

【专利技术属性】
技术研发人员:田臣张天凡周华平王怿
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1