通用平台下突破时延短板 XSKY利用DPDK增强Ceph网络效能

简介:

业界共识,网络层是分布式存储 "性能木桶的最短板"。在存储领域的概念中,一般有两张网络--用户应用与存储对接的"接入网络"和存储系统内部交换数据的"数据分布网络"。传统存储的"数据分布网络"通常用SAS总线或Infiniband网络实现,牺牲的是水平扩展能力和通用硬件特性,换来较低的时延和相对较少的中央处理器负担。而在主流的分布式存储系统中,为了整个集群的硬件通用一致性,和接入部分一样,通常采用基于TCP/IP的以太网进行数据分布工作。基于Linux内核的通用TCP/IP协议栈在10Ge以上的高带宽条件下,面对大量的数据交换工作,性能和资源利用率两方面都难令人满意。

另一方面,TCP/IP网络协议本身是一个复杂庞大的标准,通用的TCP/IP实现通常是一个"谦逊"的方式进行包收发,使得不管在手机,终端,WAN下都有较好表现,但是在目前数据中心网络越来越快的背景下,特别是存储后端速度飞速提高下,通用TCP/IP栈已经很难满足需求。那么是不是意味着在兼容性和性能两方面一定要进行取舍?

DPDK是Intel、6WIND、Calsoft Labs、Tieto等公司应对这一问题的解决方案[1]。在x86架构下,处理数据包的传统方式是CPU中断方式,即网卡驱动接收到数据包后通过中断通知CPU处理,然后由CPU拷贝数据并交给协议栈。在数据量大时,这种方式会产生大量CPU中断,导致CPU无法运行其他程序。而DPDK则采用轮询方式实现数据包处理过程:DPDK重载了网卡驱动,该驱动在收到数据包后不中断通知CPU,而是将数据包通过零拷贝技术存入内存,这时应用层程序就可以通过DPDK提供的接口,直接从内存读取数据包。这种处理方式节省了CPU中断时间、内存拷贝时间,并向应用层提供了简单易行且高效的数据包处理机制,使得网络应用的开发更加方便[2]。

通用平台下突破时延短板 XSKY利用DPDK增强Ceph网络效能

DPDK技术最初为Intel公司贡献,于2013年开源。DPDK可与Intel、Mellanox等厂商的高速以太网卡协同运行,使得在x86平台上构建和ASIC效能相当的网络模块成为可能,因此,在SDN/NFV领域,DPDK被认为是关键的开源技术之一。

通用平台下突破时延短板 XSKY利用DPDK增强Ceph网络效能

为了推进Ceph存储系统中两个网络的融合化,发挥通用硬件潜力,XSKY[3]自从去年底开始尝试利用DPDK实现数据客户端与OSD之间的网络通信,以及OSD之间数据复制的网络通信,充分利用DPDK的缓存管理、无锁队列与用户态轮询式网卡驱动,在x86通用平台和标准IP交换网络下将数据分布网络的时延降到可与传统存储系统相匹敌的水平。

通用平台下突破时延短板 XSKY利用DPDK增强Ceph网络效能

在 Ceph Jewel版启用的 AsyncMessenger 新网络框架中会支持插件式网络后端,如默认的Kernel TCP/IP,DPDK Userspace TCP/IP[5] 和未来的Infiniband/RDMA网络。AsyncMessenger实现同一个网络会话处理层面向不同的网络设备和后端。新的Userspace TCP/IP[4]栈会最小化TCP的损耗,实现对CPU核的负载分区。结合运行于SPDK NVMe驱动BlueStore,最大化DPDK的资源调配优势,实现端到端的无锁调度和内存零拷贝。

根据最近使用ceph_perf_msgr_server/ceph_perf_msgr_client在原型代码上的测试[5](相当于Linux中的iperf 工具,进行在Ceph网络框架上的消息传输压测),如果采用标准的Linux内核TCP/IP栈,IO发起者和远端OSD组件间的PingPong时延大概在100μs左右;使用DPDK优化的网络协议栈,这个数值降至25~30μs,更加接近IB-RDMA协议栈下5~8 μs的水平。可以预见,这一优化必将使通用硬件上的Ceph分布式存储系统的网络层瓶颈得到又一次突破,以便适应更加普遍的OLTP应用场景。

下图中的时延测试数据包括Message Encode/Decode,Fast Dispatch和整个Messenger会话逻辑,这部分固有延迟时间占据1/3左右。

通用平台下突破时延短板 XSKY利用DPDK增强Ceph网络效能

测试环境在两个物理机之间使用Intel 82599ES芯片的万兆网卡,开启了以下硬件Offload 技术:

1. RX/TX TCP Checksum Offload

2. RX/TX IP Checksum Offload

3. TX TCP Segmentation Offload

4. TX VLAN Tag Insert

5. RX RSS

6. RX VLAN Stripping

7. HW CRC Stripping

8. RX TCP Large Receive Offload

9. Hardware Flow Control

该测试同样适用用于Mellanox MT27710 ConnectX-4 Lx。

在业界利用专用硬件设备如高速网卡,高速SSD和FPGA优化方案层出不穷的背景下,用通用和开放架构解决分布式存储性能问题仍然是一个值得尝试的方向。软件定义存储不仅仅是在API,控制面提供灵活性,更应该在数据面提供开放、通用且统一的存储服务。网络与硬盘性能一直是制约存储软件化的关键因素。而现在,借助于开放的DPDK、SPDK对于硬件能力和丰富特性的抽象,我们希望在兼容性和性能上完成一个平衡,让硬件提供机制,软件实现策略,来真正提供软件定义数据面的能力,给用户提供的是一个开放而又高性能的存储服务。

DPDK网络是构建全用户态软件定义存储的关键一步,XSKY会在下个月的Ceph Off-site会议上贡献DPDK部分代码并开始发起对于主线的合并,并在即将到来的4月7日的产品发布会上将揭示这一技术的全景,敬请期待。


原文发布时间为: 2016年03月31日

本文作者:刘新萍

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

相关文章
|
运维 监控 安全
VMware NSX 9.0 正式版发布 - 下一代网络安全虚拟化平台
VMware NSX 9.0 正式版发布 - 下一代网络安全虚拟化平台
897 3
VMware NSX 9.0 正式版发布 - 下一代网络安全虚拟化平台
|
11月前
|
网络协议 API 网络安全
VMware NSX 9.0.1.0 发布 - 下一代网络安全虚拟化平台
VMware NSX 9.0.1.0 发布 - 下一代网络安全虚拟化平台
1168 3
VMware NSX 9.0.1.0 发布 - 下一代网络安全虚拟化平台
|
12月前
|
人工智能 运维 安全
从被动防御到主动免疫进化!迈格网络 “天机” AI 安全防护平台,助推全端防护性能提升
迈格网络推出“天机”新版本,以AI自学习、全端防护、主动安全三大核心能力,重构网络安全防线。融合AI引擎与DeepSeek-R1模型,实现威胁预测、零日防御、自动化响应,覆盖Web、APP、小程序全场景,助力企业从被动防御迈向主动免疫,护航数字化转型。
从被动防御到主动免疫进化!迈格网络 “天机” AI 安全防护平台,助推全端防护性能提升
|
安全 物联网 物联网安全
量子通信网络:安全信息交换的新平台
【10月更文挑战第6天】量子通信网络作为一种全新的安全信息交换平台,正逐步展现出其独特的优势和巨大的潜力。通过深入研究和不断探索,我们有理由相信,量子通信网络将成为未来信息安全领域的重要支柱,为构建更加安全、高效、可靠的信息社会贡献力量。让我们共同期待量子通信网络在未来的广泛应用和美好前景!
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
684 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
运维 安全 网络安全
VMware NSX 4.2.3 - 网络安全虚拟化平台
VMware NSX 4.2.3 - 网络安全虚拟化平台
504 0
|
算法 安全 大数据
【算法合规新时代】企业如何把握“清朗·网络平台算法典型问题治理”专项行动?
在数字化时代,算法推动社会发展,但也带来了信息茧房、大数据杀熟等问题。中央网信办发布《关于开展“清朗·网络平台算法典型问题治理”专项行动的通知》,针对六大算法问题进行整治,明确企业需落实算法安全主体责任,建立健全审核与管理制度,并对算法进行全面审查和备案。企业应积极自查自纠,确保算法合规透明,防范风险,迎接新机遇。
|
运维 安全 网络安全
VMware NSX 4.2.1.3 下载 - 网络安全虚拟化平台
VMware NSX 4.2.1.3 下载 - 网络安全虚拟化平台
778 0
VMware NSX 4.2.1.3 下载 - 网络安全虚拟化平台
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
711 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台

热门文章

最新文章