英特尔携手优快云以 DPDK 有效提升互联网信息监测处置系统工作效能

背景

互联网在带来便利、快捷生活的同时,也为一些不良信息和恶意软件提供了生存空间。来自第四届世界互联网大会“打击网络犯罪国际合作”论坛的数据表明:到 2021 年,全球互联网犯罪造成的经济损失将高达 6 万亿美元。作为国内知名的云计算服务和互联网数据中心(International Data Corporation,IDC)服务商,优快云在为用户提供完备的域名服务、云主机服务等业务的同时,也针对互联网不良信息构建了强大的监测处置系统。

高效的互联网信息监测处置系统需要对海量网络数据进行快速采集、解析、匹配及定位,因此数据平面的处理效率成为系统性能优劣的关键。面对日益增长的业务数据,优快云旧有的监测处置系统在数据采集、解析等多个核心功能上渐有不足之处,亟需引入更有力的产品与技术来提升检测效率。

为实现这一目标,优快云携手英特尔,引入数据平面开发套件(Data Plane Development Kit, DPDK)、英特尔® 至强® 可扩展处理器以及英特尔® 以太网融合网络适配器等一系列先进产品与技术,优化数据平面的核心处理流程,有效提升系统的数据包抓取效率并降低系统负载,进而帮助优快云大幅降低总体拥有成本(Total Cost of Ownership, TCO),提升用户满意度。

优快云互联网监测处置系统面临的挑战

作为西南地区最大的云计算服务和 IDC 提供商,成立于 2003 年的优快云始终致力于为用户提供一流的互联网接入和托管服务,其域名注册保有量超过 500 万,网站备案量超过 20 万,网站数量排名全国第三。但高速增长的业务之下,互联网存在的众多不良信息也为其稳健发展带来隐患。

例如:用户在优快云 IDC 机房中托管的网站,如果被不法分子加挂了木马等危害程序,就有可能导致信息泄露,造成重大经济损失。同时,一些违法违规的信息,也会对用户网站造成不良影响。而互联网信息监测处置系统正是有效杜绝这些不良信息的最佳手段,其就如防火墙一般,通过信息抓取、解析、匹配以及定位等流程,将不良信息一一定位、清除,从而降低各类违法信息的滋生和传播,大大降低用户所面临的经济与法律风险。

作为整个互联网信息监测处置系统的重要一环,数据采集、处理模块的工作效率成为关乎系统整体性能的关键。而优快云庞大的业务量,给这一环节带来了巨大挑战。据统计,优快云 IDC 机房目前最大单网卡流量已达 6.5Gbit 每秒,网络数据包数量达到了 150 万包每秒。而系统需要全天 24 小时不间断地抓取网络数据包,并对其进行实时处理。

优快云的监测系统可以向用户提供各类高可用互联网服务的重要前提,是其构建了一道强有力的信息防火墙,而防火墙的防护力,则有赖于对海量网络数据的高效抓取和处理。如此海量的数据包抓取和处理需求,以传统中断模式进行处理,显然会面临系统瓶颈。因为在传统机制中,数据包到达网络适配器后,网络适配器需要发送中断信息来唤醒处理器,随后驱动程序读写缓冲区,并在内核协议栈对数据包进行处理。这一过程中,系统会出现大量的中断开销,导致数据处理效率降低。

数据平面的利器:DPDK

为打破这一瓶颈,优快云与英特尔开展深入技术合作,利用英特尔开源数据平面处理神器 DPDK,构建全新的数据包抓取模块。借助 DPDK 提供的零拷贝、亲和性独占等技术,系统的数据包抓取、处理能力获得了有效的提升,从而大幅提升互联网信息监测处置系统的整体工作效能。

DPDK开源技术简介

DPDK 是由英特尔发起并开源的数据平面开发工具集,其提供了用户空间的高效数据包处理库函数,通过建立内核旁路机制的方式,有效地提高了数据包处理速度。DPDK 通过轮询、用户态驱动、亲和性独占、软件调优、大页内存、环形缓冲区,缓存对齐,线程绑定,NUMA 感知,内存通道交叉访问,SIMD 指令利用等一系列技术,实现了高性能的报文转发能力。

英特尔于 2010 年启动 DPDK 技术的开源化进程,并通过 BSD 开源许可协议的方式正式发布源代码软件包。现在,通过 www.dpdk.org 上的独立开源社区平台,众多的参与者们正大幅推进 DPDK 的技术创新和快速演进,而今 DPDK 已成为海量数据处理场景中的关键技术之一。

在新的数据包抓取模块中,如图1所示,数据采集服务器的网络适配器通过绑定 DPDK 的 igb_uio 网卡驱动,并设置 10 个网络适配器队列,从而以 DPDK 的 0~9 Icore 线程来捕获相应的网卡队列。

所获取到的网络数据包首先利用 DPDK 提供的 IP 碎片重组库进行IP 碎片重组,然后进行 TCP 数据重组,并将组装完成的 TCP 数据流交由 HTTP 模块进行非法信息扫描,并将非法信息记录到数据库;而动作模块则会自动加载多种 URL 或域名的处置规则,并根据这些处置规则对 URL 或域名进行阻断、页面跳转等进一步操作。

一系列独有技术的加入让 DPDK 在这一工作流程中犹如庖丁解牛,游刃有余。首先是零拷贝技术的加入,众所周知,传统的 I/O过程中的数据传输,往往需要在用户空间和内核空间之间进行多次拷贝操作,这些拷贝操作会极大地降低数据传输的性能。来自优快云的运维日志表明,在使用传统机制时,系统会产生大量处理器软中断,导致大量的处理器资源浪费。当数据流量比较大时,包处理速度就可能跟不上,甚至会影响对不良网页的拦截和跳转的成功率。

 

而工作在用户空间中的 DPDK,通过巧妙的内存池技术,使其与内核空间的内存交换不需要拷贝,仅需完成控制权转移即可,因此可以极大地减少资源消耗,提升数据处理效率。在优快云进行的一项对比性测试中,由传统方式和 DPDK 方式分别处理 7G左右网络流量,从图2可以看出,传统方式有 16 个处理器内核的软中断在 10% 到 23% 之间,而 DPDK 方式几乎没有出现,这意味着使用DPDK的方式可以有效地节省宝贵的处理器资源。

另一项 DPDK 的独有策略:亲和性独占,也为数据抓取模块的性能提升带来强大驱动力。这一策略是让同一个 Icore 线程尽可能在一个处理器核心上长时间运行,从而避免线程迁移带来的额外开销,同时还可提高处理器缓存的命中率,减少内存访问损耗,提高数据处理速度。

除此之外,英特尔团队还根据优快云业务的发展方向,对其可能遇到的性能瓶颈进行了预判,并给出相应的技术方案。例如在方案中,计划使用 DPDK 的 rte_mempool 模块来优化内存池。该模块所采用的大页内存技术,可以让系统在频繁分配/释放内存空间时,节约更多的资源。另外,DPDK 的 rte_ring 无锁环结构也正被引入系统,该结构可以有效减少线程锁的调用,从而节省更多的处理器系统调用。最后,方案中还计划引入DPDK 的电源管理技术,节约更多因轮询网络适配器数据带来的处理器资源消耗。

先进的技术,以及双方团队的紧密协作,让本次技术合作结出了累累硕果。在进行优化升级后,优快云对系统进行了一系列 URL 阻断和跳转测试。测试结果表明,传统方式的阻断成功率为 91%,而 DPDK 的成功率达到了 99%。这一结果表明 DPDK 可以有效地帮助优快云系统提升其不良信息的检测效率。

优快云互联网信息监测处置系统的基础设施支撑

来自英特尔的一系列先进硬件产品也为优快云互联网信息监测处置系统提供了良好的基础设施支撑。一方面,面对数据处理所需的大量计算需求,系统部署的英特尔® 至强® 金牌 5118 处理器承担起了强劲的动力引擎作用。除了全新的微架构以外,这款处理器还配备了 12 核心 24 线程,主频高达 2.3GHz,同时拥有 16.5MB 高速缓存,以及包括英特尔® 高级矢量扩展指令 512(英特尔® AVX - 512)在内的大量硬件增强技术,可以充分满足数据采集、处理所需的繁重计算任务。

同时,英特尔® 以太网融合网络适配器 X520 以及 X710 也为数据采集模块提供了高性能的 IO 硬件支撑能力,其所具备的数据直接I/O(Data  Direct  I/O, DDIO)技术,可令网络适配器直接与处理器缓存进行通信,而无需通过系统内存绕行,从而降低延迟,提高系统 I/O 带宽,有效提升优快云系统的数据处理效率。

总结与展望

通过前一阶段的紧密协作,双方团队对 DPDK 在优快云互联网信息监测处置系统中的应用进行了充分而详实的论证,并在实践部署中帮助优快云系统大幅提升其工作性能。DPDK 及其它一系列英特尔先进产品与技术的引入,优快云的检测系统的数据包抓取、处理效率得到了显著的提高,为更多的用户提供更为健康、可靠、安全的互联网服务。而在性能之外,来自一线的反馈数据也表明,在引入 DPDK 之后,系统的稳定性和可靠性也获得显著提高;同时,对数据包的高性能处理能力,帮助优快云得以大幅节约服务器资源,原先 3-4 台服务器所承载的处理任务,现在仅需一台服务器即可满足 。

在未来,双方还将开展更深层次的技术合作。一方面,优快云正计划引入更多的英特尔产品与技术,例如英特尔® QAT 技术、新一代英特尔® 固态盘产品等来提升优快云的整体基础设施性能;另一方面,优快云更希望能够与英特尔合作,进一步挖掘 DPDK 的潜能,并部署到其网关与负载均衡、高性能分布式存储、容器等产品线上。

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8261;邮箱:jenny@youkuaiyun.com。本站原创内容未经允许不得转载,或转载时需注明出处::优快云资讯门户 » 英特尔携手优快云以 DPDK 有效提升互联网信息监测处置系统工作效能

赞 (0)