资讯|滚动| 上海| 社会| 国内| 国际| 经济| 证券| 产经| 消费| 互联| 家电| 硬件| 科学| 明星| 影视| 综艺| 游戏| 信息|生活|旅游

一种基于RDMA的云存储系统设计模式

2019-01-17 23:16 来源:互联网整理 责任编辑:WB001 字体:

摘 要:本论文提出了一种新型的RDMA设计模式,涉及云存储系统的远程数据获取设计模式,通过该设计模式优化云数据中心的服务端,最终加速系统存储系统,提高网络应用程序性能。

关键词:云存储;大数据;RDMA;

Abstract: This paper provides a different approach, called RF-RPC (Remote Fetching RPC Paradigm). Different from server-reply, RF-RPC makes client fetch the results from server using one-sided RDMA instead of waiting the results pushed by server. Different from server-bypass, RF-RPC demands server to process client’s requests for supporting programming paradigm like RPC. Thus, RF-RPC can achieve high performance without abandoning traditional programming models. ?

Keywords: Cloud Storage; Big Data; RDMA;

引言

RDMA是一种直接存取远程内存的技术。RDMA 操作具有旁路特性,允许某台机器的CPU 能够直接读写其他远程机器的内存数据,而不需要该远程机器CPU 以及操作系统的任何参与。同时,RDMA 操作还具有数据零拷贝特性,在发送请求和接收请求的机器上,RDMA 操作能够避免数据在用户态空间和内核态空间之间的显式拷贝。由于具有旁路特性、数据零拷贝特性以及更加简单的协议栈,RDMA 相比软件层面实现的TCP/IP 协议具有更高的性能。

1云数据中心RPC通信机制与观测

1.1RPC

RPC 可以为上层系统隐藏消息通信的复杂性,给系统开发者提供良好的可编程性。几乎所有的RPC 机制都采用同一种架构。具体而言,在RPC 机制中,一个RPC调用包括以下三个步骤(如图5):(1)请求发送:客户端将调用函数以及相关的调用参数发送给服务器;(2)请求处理:客户端发送的请求得到处理,并产生相应的结果;(3)结果返回:请求处理得到的结果通过网络传输到客户端。

目前存在两种将RDMA 应用到云存储系统的设计模式:服务器回复模式和服务器旁路模式。服务器回复模式要求服务器负责处理客户端的请求,并将处理结果发送给客户端。该设计模式用RDMA 替换了传统的TCP/IP,但是不改变对上层系统提供的RPC 接口。因此,服务器回复模式具有很好的可编程性。但是,由于没有充分利用RDMA 的特性,服务器回复模式所能提供的性能是非常有限的。服务器旁路模式要求客户端通过RDMA 远程操作服务器内存的数据,直接完成请求,而服务器不参与请求的处理。由于利用RDMA 的旁路特性降低了服务器CPU 的开销,服务器旁路模式相比服务器回复模式会带来将近一倍的性能提升。但是,服务器旁路模式却损失了可编程性,它必须依赖系统开发者设计特殊的数据结构和算法,并对原有系统进行较大范围的改动。因此,服务器回复模式和服务器旁路模式给云存储系统开发者带来了一个设计难题,让其不得不在可编程性和性能之间做选择。

1.2基于数据中心的三个观测

发现1: RDMA 网卡的性能非对称性。性能非对称性产生的原因是在硬件设计上,RDMA网卡发送RDMA 操作(RDMA 输出操作)产生的开销和接收RDMA 操作(RDMA 输入操作)产生的开销是不一样的,前者要远远大于后者。服务器回复模式依赖服务器通过RDMA 输出写操作将结果返回给客户端,这导致服务器很快就用满了RDMA 输出操作的IOPS,而此时RDMA 输入操作的IOPS 还远远未达到性能瓶颈。

发现2: RDMA 网卡的性能非对称性。服务器旁路模式在期望获得的性能和实际获得的性能之间存在差距。由于服务器的CPU 在处理请求的过程中被旁路了,客户端必须使用更多数目的RDMA 操作来解决数据冲突。这会导致系统实际性能的降低,尤其是在冲突更加严重的写密集数据集中。

发现3: RDMA 网卡的性能相似性。硬件设计原则决定了RDMA 网卡具有性能相似性,而且性能相似性主要体现在RDMA 输入操作上:在某个性能相似区间内,RDMA 网卡的RDMA 输入操作性能不取决于数据的大小,而是呈现出比较稳定的数值。

2系统设计与实现

2.1系统设计概况

本论文提出了远程获取模式。作为一种新型的RDMA 设计模式,其不仅能支持传统的RPC 接口让系统不需要经过大规模修改就能使用,而且可以提供比服务器回复模式和服务器旁路模式更好的性能。

远程获取模式采用了两个关键的设计选择:第一个设计选择是服务器应该负责处理客户端的请求,这样不仅可以提供很好的可编程性,方便上层系统简单地使用,而且可以避免客户端对冲突的处理;第二个设计选择是请求处理结果应该由客户端通过RDMA 读操作来远程获取,而不是由服务器通过RDMA 写操作来发送。

2.2系统运行流程

如图一所示,远程获取模式的工作流程如下:

1. 客户端调用client_send (表1)接口将请求通过RDMA 写操作发送到服务器的内存中

2. 服务器通过调用server_recv (表1)接口从本地内存中获得客户端请求,并处理这些请求。

  • 资讯
  • 财经
  • 科技
  • 娱乐
  • 游戏
  • 生活
  • 汽车
关于本站 | 广告服务 | 免责申明 | 招聘信息 | 联系我们
备案号:沪ICP备13031519号 上海网 版权所有,未经书面授权禁止使用