谈到网络,我们常见的网络有:以太网、光纤网络等。但谈到高速、低延网络,我们第一时间会想到infiniband。这就不得不提到RDMA技术。RDMA的全称是:Remote Direct Memory Access,远程直接数据存取。它是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把数据直接传入计算机的内存区,将数据从一个系统快速移动到远程系统内存中,这样做一来速度开,二来降低CPU开销。
传统RDMA传输介质通过infiniband网络实现,这没有问题,但它的缺点价格高、部署不灵活。在HPC领域中,由于计算节点很多,实用传统的infiband将不利于节点的灵活扩展。而红帽操作系统支持ROCE技术(远程内存访问):Remote direct memory access over converged Ethernet (RoCE),可以解决这一问题。依赖于万兆以太网络,ROCE用低成本方式实现了RDMA。
从技术上讲,ROCE越过系统和内核调用,直接调用TCP(iWARP:internet Wide Area RDMA Protocol)或者infiniband(传统的RDMA),将数据放在远端系统的内存里。这样做可以大幅降低CPU开销。ROCE对于那些高速数据交易系统,或者经常需要做分布式扩展的应用是非常有用的。