RDMA技术分析.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RDMA技术分析

RDMA技术分析 ?1 什么是RDMA ??1.1 传统意义上的DMA ?? -- -直接内存访问(DMA)方式,是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过 CPU,而直接在内存和I/O设备之间进行。DMA工作时,由DMA控制器向内存发出地址和控制信号;进行地址修改;对传送字的个数计数;并且以中断方式 向CPU报告传送操作的结束。DMA方式一般用于高速传送成组的数据。 ??---使用DMA方式目的: 减少大批量数据传输时CPU的开销;方法:采用专用DMA控制器(DMAC)生成访存地址并控制访存过程;优点:操作均由硬件电路实现,传输速度快;CPU基本不干预,仅在初始化和结束时参与,CPU与外设并行工作,效率高。 ---DMA的数据块传送过程可分为三个阶段:传送前预处理;正式传送;传送后处理。  DMA控制流程:1. 预处理:由CPU执行I/O指令对DMAC进行初始化与启动。2. 数据传送:由DMAC控制总线进行数传。3. 后处理:传送结束,DMAC向CPU发中断请求,报告DMA操作的结束。CPU响应,转入中断服务程序,完成DMA结束处理工作。 ??1.2 RDMA ?? -- -RDMA(Remote Direct Memory Access)是通过网络把资料直接传入某台计算机的一块存储区域,不需用到多少计算机的处理功能。普通网卡集成了支持硬件校验和的功能,并对软件进行了 改进,从而减少了发送数据的拷贝量,但无法减少接收数据的拷贝量,而这部分拷贝量要占用处理器的大量计算周期。普通网卡的工作过程如下:先把收到的数据包 缓存到系统上,数据包经过处理后,相应数据被分配到一个TCP连接。下一步,接收系统再把主动提供的TCP数据同相应的应用程序联系起来,并将数据从系统 缓冲区拷贝到目标存储地址。以太网已能满足高性能应用对网络吞吐率的要求,具备高吞吐率和成本优势,以太网技术要跟高性能网络应用挂钩,主要解决的问题是 应用吞吐率。通常情况下,系统持续在主机CPU中处理以太网通信需要占用CPU资源。CPU速率会制约网络数据率;持续处理这类通信会导致CPU性能降 级;对多端口千兆位或单端口10千兆位以太网,这类问题会变得更为严重。 ---制约网络速率的因素主要在两方面:应用通信强度和主机CPU在内核与应用存储器间处理数据的效率。要达到特定的性能级别,需要追加主机CPU资源, 配置高效的软件并增强系统负荷管理。传统的TCP/IP技术在处理数据传输的过程中需要占用大量的服务器资源。这样以太网的低投入、低运营成本优势就难以 体现。为充分发挥万兆位以太网的性能优势,必须解决应用性能问题。系统不能以软件方式持续处理以太网通信;主机CPU资源必须释放专注于应用处理。解决这 类问题的关键,是要消除主机CPU中不必要的频繁数据传输,减少系统间的信息延迟。总的来说,需要从协议、软件和硬件三方面入手。 ---RDMA全名是“远程直接数据存取”,如图 2 所示,RDMA是通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多 少计算机的处理功能。它消除了外部存储器复制和文本交换操作,因而能腾出总线空间和CPU周期用于改进应用系统性能。目前通用的做法需由系统先对传入的信 息进行分析,然后再存储到正确的区域。 ?? -- -当一个应用执行RDMA读或写请求时,不执行任何数据复制。在不需要任何内核内存参与的条件下,RDMA请求从运行在用户空间中的应用中发送到本地 NIC(网卡),然后经过网络传送到远程NIC。请求完成既可以完全在用户空间中处理(通过轮询用户级完成排列),或者在应用一直睡眠到请求完成时的情况 下通过内核内存处理。RDMA操作使应用可以从一个远程应用的内存中读数据或向这个内存写数据。用于操作的远程虚拟内存地址包含在RDMA信息中。远程应 用除了为其本地NIC注册相关内存缓冲区外,不需要做其他任何事情。远程节点中的CPU完全不参与输入的RDMA操作,这些对CPU没有任何负担。 ---RDMA让计算机可以直接存取其它计算机的内存,而不需要经过处理器耗时的传输,因为通常这样的数据要求还要经过操作系统及其他软件层。内存瓶颈随 着连接速度超过服务器的处理能力和内存带宽而变得更加严重。 远程直接内存存取(RDMA)使一台计算机可以直接将信息传送到另一台计算机内存中。这项技术通过减少对带宽和处理器开销的需要降低了时延。这种效果是通 过在NIC的硬件中部署一项可靠的传输协议以及支持零复制网络技术和内核内存旁路实现的。零复制网络技术使NIC可以直接与应用内存相互传输数据,从而消 除了在应用内存与内核内存之间复制数据的需要。内核内存旁

您可能关注的文档

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档