基于RDMA的高性能单向数据采集技术研究.pdf
《基于RDMA的高性能单向数据采集技术研究.pdf》由会员分享,可在线阅读,更多相关《基于RDMA的高性能单向数据采集技术研究.pdf(10页珍藏版)》请在咨信网上搜索。
1、第 49卷 第 10期2023年 10月Computer Engineering 计算机工程基于 RDMA的高性能单向数据采集技术研究梁嘉诚1,余江2,王洪波2,刘渊1,王晓锋1(1.江南大学 人工智能与计算机学院,江苏 无锡 214122;2.拓尔思天行网安信息技术有限责任公司,北京 100000)摘要:高性能数据采集技术是提高数据分析效率的重要前提。为解决当前数据采集技术中安全性低、传输时延高、CPU 开销大的问题,设计一种基于远程直接内存访问的高性能单向数据采集(ODAR)架构,提高数据采集过程中的安全性和传输性能。针对传输时数据正确性问题,基于可靠性的数据封装策略,设计动态内存优化策略
2、解决内存分配时存在的时延问题,并提出基于优先级的数据传输调度算法解决高吞吐量数据传输中存在的带宽利用率低的问题。实验结果表明,相对于基于 UDP 协议实现的单向数据采集技术,ODAR 架构的吞吐量平均提高了57.01%,传输时延与 CPU 开销平均降低了 61.27%与 68.01%,并且大幅提高了数据传输的准确率,内存分配时的时延平均降低了 80.15%,网卡带宽利用率平均提高了 33.03%。关键词:单向数据采集;远程直接内存访问;消息中间件;动态内存优化;数据传输调度开放科学(资源服务)标志码(OSID):中文引用格式:梁嘉诚,余江,王洪波,等.基于 RDMA 的高性能单向数据采集技术研
3、究 J.计算机工程,2023,49(10):31-40.英文引用格式:LIANG J C,YU J,WANG H B,et al.Research on high-performance one-way data acquisition technology based on RDMA J.Computer Engineering,2023,49(10):31-40.Research on High-Performance One-Way Data Acquisition Technology Based on RDMALIANG Jiacheng1,YU Jiang2,WANG Hongbo
4、2,LIU Yuan1,WANG Xiaofeng1(1.School of Artificial Intelligence and Computer Science,Jiangnan University,Wuxi 214122,Jiangsu,China;2.TRS Topwalk Information Technology Co.,Ltd.,Beijing 100000,China)【Abstract】High-performance data acquisition technology is an important prerequisite to improving data a
5、nalysis efficiency.In this paper,a type of high-performance one-way data acquisition architecture called the One-way Data Acquisition by RDMA(ODAR)based on Remote Direct Memory Access(RDMA)is designed to improve the security and transmission performance in the data acquisition process and solve low
6、security,high transmission delay,and high Computer Processing Unit(CPU)overhead in current data acquisition technology.Furthermore,a data encapsulation strategy based on reliability is designed to solve the data correctness problem during transmission,and a dynamic memory optimization approach is pr
7、oposed to solve the memory allocation delay.A priority-based data transmission-scheduling algorithm is proposed to solve the low bandwidth utilization in high throughput data transmission.The experiment shows that on average,compared with the one-way data acquisition technology based on the User Dat
8、agram Protocol(UDP),the throughput of the ODAR architecture increases by 57.01%,the transmission delay decreases by 61.27%,the CPU overhead decreases by 68.01%,and the data transmission accuracy is significantly improved.On average,the time delay of the memory allocation decreases by 80.15%,and the
9、bandwidth utilization of the network card increases by 33.03%.基金项目:国家自然科学基金(61972182,62172191)。作者简介:梁嘉诚(1997),男,硕士研究生,主研方向为网络安全;余 江、王洪波,工程师;刘 渊(通信作者),教授、博士生导师;王晓锋,教授、博士、博士生导师。收稿日期:2022-09-19 修回日期:2022-12-11 Email:lyuan1800 热点与综述文章编号:1000-3428(2023)10-0031-10 文献标志码:A 中图分类号:TP3092023年 10月 15日Computer
10、Engineering 计算机工程【Key words】one-way data acquisition;Remote Direct Memory Access(RDMA);message middleware;dynamic memory optimization;data transmission schedulingDOI:10.19678/j.issn.1000-3428.00657820概述 随着大数据时代的兴起,众多企事业单位都建立了庞大的数据中心,有效地整合了各类数据资源,以供高效地采集数据1,并通过搭建大数据分析平台,对数据资源进行实时分析和监控等操作2。然而,传统数据采集技术
11、不能满足数据中心海量数据、类型多样化等需求,无法实现数据高效采集,并且内网数据中心、外网大数据平台等非对称安全等级网域之间在直接进行数据交互时,内网存在网络渗透、数据篡改等安全隐患。因此,如何保证数据采集的高 效 性、内 网 数 据 的 安 全 性,成 为 亟 待 解 决 的问题3-4。为解决当前数据采集存在的性能问题,国内外学者进行了广泛的研究。对数据中心海量、实时、异构的数据采集传输场景,传统的内网数据采集技术已经不满足当前需求,而消息中间件 Kafka具有高性能、低时延等特点5-6,并且具备分布式集群部署能力,能够有效提高数据采集传输的效率。针对内网数据中心与外网大数据分析平台直接交互时
12、存在的数据安全问题,为提高网络环境的安全性,研究人员提出了一系列跨网域数据交换的安全措施,其中主要方法是单向数据传输7-8。单向数据传输通过构建不同安全等级的网域,避免内外网直接交互,从而有效防止内网攻击、数据篡改等安全问题9-10。目前,单向传输技术一般都采用硬件光闸和软件协议相结合的形式,从物理和逻辑两个层面保证传输过程中内网数据安全11。文献 12 提出采用单向光网卡进行数据单向传输,通过小反馈技术进行数据的确认,两个方向都不能建立在线连接,可以有效防止网络攻击。单向光网卡两端采用私有协议进行数据传输,保证传输过程中内网数据的安全性。文献 13 设计一个以二维码为信息载体的移动端单向传输
13、系统,完成涉密信息从低密级网络向高密级网络的单向传输,不依赖单向的物理传输设备,信息传输工作只在软件层面进行,降低了对专业设备的要求,从而保证低密级网络的安全性。文献 14 针对不同安全等级网络之间数据单向传输的需求,提出一种单向代理传输协议,该协议运行在计算机网络体系中的网络层,是一种非 IP协议,通过该协议实现了数据单向传输。上述研究对于提升数据采集的安全性具有一定的参考价值,然而这些单向传输系统存在一些性能瓶颈,基于 UDP 协议或相关私有传输协议实现的单向传输系统存在传输时延过高、CPU 开销过大等问题。因此,在对数据时延敏感的业务场景中,传统的单向传输系统不能满足真实需求。本 文 将
14、 远 程 直 接 内 存 访 问(Remote Direct Memory Access,RDMA)技术应用于单向数据采集场景,设计一种基于 RDMA 的高性能单向数据采集(One-way Data Acquisition by RDMA,ODAR)架构。RDMA技术15通过网络将数据直接写入远端主机的内存区域,绕过内核处理,避免用户态和内核态之间的频繁拷贝,降低系统的上下文切换的开销,实现高带 宽 和 低 时 延 的 数 据 传 输16。ODAR 架 构 采 用RDMA 技术的不可靠连接(Unreliable Connect,UC)模式,以及 RDMA 技术所提供的 Write 单边原语进行
15、数据传输,从软件层面保证数据传递的单向性与内网的安全性。此外,ODAR 架构为保证传输数据的完整性和正确性,设计基于可靠性的数据封装策略,保证数据能够正确传输到接收端对应的节点,并针对内存分配存在时延过高的问题,结合 RDMA 技术设计动态内存优化策略,通过对内存的复用以及内存分配和数据封装,发送异步操作降低数据的时延。最后,提出基于优先级的数据传输调度算法,解决数据传输时存在网卡带宽实际利用率过低的问题,以提高网卡带宽的实际传输量。1基于 RDMA的高性能单向数据采集架构 针对当前数据采集技术中存在的数据安全和传输性能问题,本文设计基于 RDMA 的高性能单向数据采集架构,该架构能保障数据传
16、输时内网的安全性,提高网络传输性能。如图 1 所示,ODAR 架构主要分为发送端和接收端,发送端包括初始化模块、数据封装模块、数据传输调度模块、数据发送模块,接收端包括数据初始化模块、数据处理模块、数据接收模块。32第 49卷 第 10期梁嘉诚,余江,王洪波,等:基于 RDMA的高性能单向数据采集技术研究1.1初始化模块发送端初始化模块主要负责消息队列 Kafka 和RDMA 网卡等信息初始化。如图 2 所示,首先构建Kafka集群,将 Kafka的生产者接口与数据中心服务器节点对接进行数据采集,并将消费者接口与发送主机对接,在该发送主机中监听多个 Kafka集群中的Broker17,构成多对
17、一模式。然后根据需求将采集到的数据交由数据封装模块进行处理。类似地,接收端的初始化模块也需要对接收端一侧的消息队列 Kafka和 RDMA 网卡进行初始化操作,将接收主机作为生产者对接 Kafka集群,大数据分析平台作为消费者对接 Kafka集群。1.2数据封装模块数据封装模块对应基于可靠性的数据封装和动态内存优化。首先进行数据分类,根据数据类型将数据区分为普通数据和实时数据,通过原始数据的长度以及封装信息分配内存,为数据包设置相对应的优先级,然后根据数据来源设置标志信息,计算校验码,最后将这些信息封装为一个完整的数据包,用于保证传输数据的安全性和准确性。1.3数据传输调度模块数据传输调度模块
18、对应基于优先级的数据传输调度,主要负责数据的分类处理,并根据当前的数据包长度进行传输调度,提高网卡带宽的实际利用率,在传输时将数据进行序列化处理,提高数据的传输效率。1.4数据发送模块如图 3 所示,在第 1.1 节初始化模块中,用户初始化 RDMA 网卡静态信息,将连接信息存入 RDMA队 列 对(Queue Pair,QP)的 队 列 对 上 下 文(QP Context,QPC)中,QP 由发送队列(Send Queue,SQ)图 2初始化过程Fig.2Initialization process图 1ODAR总体架构Fig.1ODAR overall architecture33202
19、3年 10月 15日Computer Engineering 计算机工程和接收队列(Receive Queue,RQ)组成18-19,ODAR架构使用 RDMA的不可靠连接(UC)20模式,保证传输过程的单向性。在第 1.2节和第 1.3节对数据进行封装和调度之后,可以创建工作任务,按序存入 SQ 中,RDMA 网卡(RDMA NIC)根据 SQ 中的工作任务信息获取内存中的数据,使用 RDMA单边原语 Write21根据配置信息将数据直接写入接收端指定的内存区域,该数据传输过程绕过内核处理,从而降低了 CPU的开销。1.5数据接收模块通过配置信息,数据接收模块与 RDMA 发送方建立连接,当
20、 RDMA 发送端使用 RDMA 原语 Write将数据写入接收端内存之后,响应 RQ 中的接收请求,产生工作完成(Work Completion,WC)信息告知上层22-23,因此根据发送数据包携带的数据信息,接收端对指定接收内存区域进行轮询,获取写入的数据,然后将接收到的数据交由接收方的数据处理模块进行处理。1.6数据处理模块接收端的数据处理模块对应发送端的数据封装模块,申请了与发送端相同大小的内存空间,首先将接收内存中的数据包解封装处理,对处理完成后的内存空间进行回收复用。其次将数据包排序,根据封装信息将数据包还原为原始数据,存入对应的Kafka集群中。2基于可靠性的数据封装 ODAR
21、架构从物理和逻辑两个层面来保证数据传输的单向性,数据只能由内网发送到外网,没有数据回路,从而保证了内网的安全性。由于发送端监听了多个服务器节点进行数据采集,如果直接传输原始数据,接收端无法根据数据信息将接收到的数据准确分发到对应的节点。针对上述问题,本节设计了基于可靠性的数据封装策略,保证了传输数据的准确性,接收端能够根据封装的数据信息将数据分发到对应的节点。封装过程如图 4所示。封装过程如下:1)解析原始数据信息进行数据分类,采集到的数据可以划分为实时数据和普通数据。实时数据对时延敏感,而普通数据允许一定的时延,因此需要将它们分类处理。数据包封装时需要分配内存空间,本文结合 RDMA技术设计
22、动态内存优化策略。2)根据数据的来源对数据做标识,保证接收端能够根据封装信息将数据准确地分发到对应的节点中。3)设定数据长度阈值,当数据长度超过阈值时,将数据分片压缩,如果数据过小未达到阈值,则无须分片,并根据数据的优先级选用不同的加密算法,保证数据的安全性。计算数据的校验码,附加在数据包的尾部,在接收端能够通过校验码来进行判别该数据是否完整。对于分片的数据增加片段编码,避免数据重新组装时出现问题。增加数据的头部和尾部信息以及数据包编号等内容,组成一个完整的发送数据包,在数据发送前,对数据做序列化处理,提高传输效率。3动态内存优化 在 ODAR 架 构 中,由 于 RDMA 具 有 Kerne
23、l Bypass 特性24,因此需要在数据发送前锁定申请的发送内存,防止 Swap机制导致虚拟内存和物理内存之间的映射产生变化。由于在发送主机中开启了多个消费者线程监听 Kafka集群中的多个节点,在数据传输过程中,需要对采集到的原始数据进行封装,图 4基于可靠性的数据封装过程Fig.4Reliability-based data encapsulation process图 3数据发送流程Fig.3Data sending procedure34第 49卷 第 10期梁嘉诚,余江,王洪波,等:基于 RDMA的高性能单向数据采集技术研究避免数据传输到接收端之后无法存放到对应节点。在高并发环境中
24、,为了避免同时操作相同内存区域导致数据出错,因此多个线程之间需要保持互斥性,等待 RDMA 发送内存中数据发送完成,再由其他线程继续写入数据,上述同步操作会导致数据产生过高的时延。针对该问题,提出动态内存优化策略,将RDMA 发送内存构建成一个环形缓冲区,使内存分配、数据封装和数据发送可以异步执行,从而降低数据时延。动态内存优化流程如图 5所示。动态内存优化流程如下:1)初次申请内存:系统会对内存进行初始化操作,申请大块的连续 RDMA 发送内存,用于内存再分配。2)内存申请:后续所申请的空间都是由该内存再分配,并返回申请内存区域的地址信息。3)回收内存:根据该区域的状态信息,启动一个线程不断
25、回收可复用的内存空间,用于后续再分配过程。4)数据封装:按照封装格式将数据写入申请的内存区域中。5)请求发送:将内存中封装好的数据发送到接收端。在数据封装和数据发送过程中,其他线程可以继续申请内存,达到异步处理的效果。由于采集的数据包长度不可预估,为保证能够充分利用内存空间,根据原始数据信息和数据封装信息在初始化的 RDMA 发送内存上动态申请对应长度的空间,并保证申请过程中各个线程之间的互斥性。首先将 RDMA 发送内存的首尾地址、长度、使用状态等信息作为一个链表节点存入记录当前内存信息的链表 List_Cur 中。在申请内存时,需要遍历链表 List_Cur,判断当前 RDMA 内存剩余容
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 RDMA 性能 单向 数据 采集 技术研究
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。