一种基于XDP的射电天文数据实时采集和处理方法
- 国知局
- 2024-09-11 14:50:17
本发明涉及基于xdp的射电天文数据实时采集和处理方法,属于网络数据包处理领域。
背景技术:
1、射电天文学的发展使得人类可以探测到以往无法观测到的宇宙现象,例如射电星团、脉冲星、射电星系等。这些观测可以揭示宇宙的物理过程、星系的演化、恒星的生命周期等重要信息,对于理解宇宙的结构和演化起着至关重要的作用。射电波长是电磁波谱中的一部分,具有较长的波长,频率较低,与可见光和红外线、紫外线、x射线和γ射线等其他波长相比,具有不同的特性和应用。射电天文学家使用射电望远镜和天线来观测和研究宇宙中的天体,包括恒星、星系、星云、行星、星团等。
2、随着观测技术与仪器的不断革新发展,极大提高了现代射电天文望远镜的观测灵敏度。更高的观测灵敏度需要更宽的观测带宽以及更高的采样精度,导致了射电望远镜产生的数据量呈指数级增长(在采样带宽为1024mhz,采样精度为8bit的情况下,数字基带转换器1s内产生的数据量为8gbit)。鉴于射电望远镜中数字基带转换器所产生的观测数据急剧增多,迫切需要提高数据传输速率。为解决此问题,新一代数据传输系统已采用了10gb/40gb以太网技术作为底层硬件。这一技术升级的同时带来了海量数据在高速以太网下的实时采集、传输、处理的巨大挑战。而这不仅是射电天文学领域所面临的挑战,同时也是许多研究领域中数据处理管线所普遍面临的关键性问题之一。
3、目前,普遍的基于以太网的数据传输、采集技术多数采用基于linux网络协议栈的套接字(socket)技术。传统的socket技术在高速以太网下往往不能达到网络接口卡(nic)的理论带宽的线性速率(linear rate),这需要对操作系统的网络堆栈进行参数调优,如中断合并(interrupt coalescing),调整硬中断亲和性(irq affinities),调整更大的mtu以及调整更大socket receive buffer等。然而,参数调优对网络性能的提升往往有限。
4、基于标准linux网络堆栈的socket技术并不能保证更高的数据包处理速度,因为通用的网络协议栈的架构设计中存在着各种不可避免的开销。由于网络堆栈架构的通用性带来了高昂的性能成本,极大地限制了日益强大的硬件的有效性。为了提高传统linux内核堆栈的网络性能和可拓展性,已发布了许多性能补丁。例如packet_mmap是linux内核标准unix套接字中的一项功能,它使用在内核和用户空间之间共享的数据包缓冲区的内存区域。因此,数据无需在用户态/内核态之间复制。然而,数据包仍然由整个内核堆栈处理,并需要在dma缓冲区和sk_buff之间进行内核复制,仅仅避免了内核与用户空间之间的拷贝。
5、现有的射电天文数据采集系统,例如psrdada、guppi_daq以及hashpipe,这些开源框架在数据传输、采集中基本都采用了传统的socket技术,或者拓展了packet_mmap功能的socket。基于内核协议栈的socket在应对高速天文采样数据包的处理上没有性能优势,面对极高速率的数据采集需求时,在较高的网络i/o环境下会出现频繁的数据包丢失以及较高的系统资源占用等现象,且存在各种额外的开销。在数据采集系统的实际部署和使用中,针对目前射电天文数字处理后端的数据特点,高速网络数据包的实时采集并即时处理仍然是一个巨大的挑战,而直接选择现有的开源的互联网的解决方案不能完全解决问题。近年来涌现了许多用户空间i/o框架致力于高速网络数据包处理,这些框架(如netmap,dpdk,pf_ring等)通过内核旁路(kernel bypass)的方式实现可编程的网络数据包处理过程。实现方式是将网络设备完全交由某个专门的用户空间应用接管,从而避免内核和用户态上下文切换的昂贵性能开销。相对于传统的socket技术,在数据包处理速度上存在显著的优势。但由于设备控制权上移到用户空间程序,操作系统提供的应用隔离和接口管理功能都失效了。
6、因此,需要设计一个射电天文数据采集处理框架,基于xdp可编程的网络数据包处理方案,用于解决高速、海量的天文采样数据,在以太网环境中实时采集和处理的问题。
技术实现思路
1、本发明提供了一种基于xdp的射电天文数据实时采集和处理方法,该方法基于xdp可编程的数据包处理特性,解决高速以太网下海量天文采样数据实时采集和处理问题。
2、本发明的技术方案是:一种基于xdp的射电天文数据实时采集和处理方法,具体步骤为:
3、步骤1:构建xdp程序并编译为ebpf字节码,将xdp程序字节码加载至内核;
4、步骤2:分析内核协议栈数据包的处理路径,基于xdp建立零拷贝、网络协议栈旁路的天文数据实时采集处理机制;
5、步骤3:在用户空间数据实时采集处理程序中,创建af_xdp类型的套接字,并构建umem内存缓冲区实时捕获xdp程序重定向后的udp采样数据报文;
6、步骤4:构造内存池,解析采样数据报文,将udp报文中采样数据部份存入内存池,cuda线程读取内存池并进行实时数据处理,生成可存档的天文数据产品。
7、本发明技术来源于国家自然科学基金地区科学基金项目:云台40米射电望远镜脉冲星后端实时pipeline关键技术研究,基金号,12063003。
8、本发明的有益效果是:
9、本发明基于xdp构建了射电天文数据实时采集、处理的框架,利用xdp重定向功能,将天文采样数据以零拷贝的方式重定向到位于用户空间的af_xdp的套接字中,减少了内存拷贝上的负荷,仅仅绕过了内核网络堆栈,将网络硬件的控制权完全留在内核范围内,仍然保留了操作系统提供的接口管理和安全防护能力,达到了与用户态i/o框架相近的网络数据包处理性能。在面对海量天文数据时,充分利用gpu在并行及浮点运算等方面的处理能力,在多个gpu设备上对接收到的采样数据实时进行计算,极大的加速了天文观测数据在各个关键阶段的处理性能。
技术特征:1.一种基于xdp的射电天文数据实时采集和处理方法,其特征在于,包括:
2.根据权利要求1所述的基于xdp的射电天文数据实时采集和处理方法,其特征在于,所述步骤1包括:
3.根据权利要求1所述的基于xdp的射电天文数据实时采集和处理方法,其特征在于,所述步骤2包括:
4.根据权利要求1所述的基于xdp的射电天文数据实时采集和处理方法,其特征在于,所述步骤3包括:
5.根据权利要求1所述的基于xdp的射电天文数据实时采集和处理方法,其特征在于,所述步骤4包括:
技术总结本发明提出了一种基于XDP的射电天文数据实时采集和处理方法。包括:步骤1:构建XDP程序并编译为eBPF字节码,将XDP程序字节码加载至内核;步骤2:分析内核协议栈数据包的处理路径,基于XDP重定向功能,建立零拷贝、网络协议栈旁路的天文数据实时采集处理机制;步骤3:在用户空间数据实时采集处理程序中,创建AF_XDP类型的套接字,并构建UMEM内存缓冲区实时捕获XDP程序重定向后的UDP采样数据报文;步骤4:构造内存池,解析采样数据报文,将UDP报文中采样数据部份存入内存池,CUDA线程读取内存池并进行实时数据处理。本发明基于XDP构建了射电天文数据实时采集处理的框架,减少了内存拷贝上的负荷,加速了天文观测数据在各关键阶段的处理性能。技术研发人员:戴伟,李诗昊,彭玮受保护的技术使用者:昆明理工大学技术研发日:技术公布日:2024/9/9本文地址:https://www.jishuxx.com/zhuanli/20240911/292276.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表