APP下载

基于国产化云平台的航天数据混合组播应用技术

2023-11-10靳书云刘凯房志奇康卫武宇鹏韩春昊

电子技术应用 2023年10期
关键词:网卡测控虚拟化

靳书云,刘凯,房志奇,康卫,武宇鹏,韩春昊

(中国电子信息产业集团有限公司第六研究所,北京 100083)

0 引言

近年来,云计算平台因其能提供快速、按需、弹性的资源构建方式,按照用户需求快速地构建计算资源和开发环境,已逐渐被应用于航天测控领域[1-2]。云计算平台的引入改变了航天任务测控中心传统的“单星单系统”发展模式,解决了传统测控系统柔性不足,硬件系统与业务应用紧耦合,各业务系统自成体系,软硬件资源分配和重组不灵活、资源共享不充分,系统互联互通能力差,适应新业务可扩展能力有限等问题[3-4]。

但是,云计算平台的引入也出现了新的问题。在基于国产化云计算平台的航天任务中心系统更新换代过程中,数据的强实时性、高吞吐性还达不到实际应用程度,比较突出的问题就是,网网络资源虚拟化对数据组播的限制,数据丢包严重且数据极限带宽不高。本文构建基于国产化云平台计算机系统,设计基于云平台用户态的航天数据混合组播应用技术,解决了国产操作系统及云平台网络资源虚拟化对数据组播的性能瓶颈问题,极大地提升了云平台数据组播的性能,使基于国产化云平台计算机系统在航天任务领域得到实际应用和验证[5]。

1 系统设计

1.1 系统架构

紧密围绕我国航天装备发展应用需求,充分利用新的信息技术,构建面向服务、按需定制的一体化云架构计算机系统[6],如图1 所示,其主要由资源层、服务层和应用层三层组成。

图1 一体化云架构计算机系统体系架构图

资源层提供一个功能完整、标准开放、方便集成的基础设施和平台服务,是服务的核心支撑层,主要由计算、存储、网络、显示等硬件资源组成,通过云平台虚拟化技术将硬件资源以服务的方式提供给用户,实现智能化的资源性能、容量和配置管理。

服务层提供各类基础服务和业务服务,支持服务动态注册,满足横向业务扩展需求,不同任务可根据各自需求获取不同的接口和服务,实现信息收发、数据处理、计算分析等系统功能的服务化、组件化,为应用层与资源层交互提供服务。

应用层直接面向各任务和用户。各任务和用户以服务层的软件服务为基础,按需定制任务的服务模型和服务流程,并根据计算和数据存储需求,分配计算和存储资源以及网络服务[7-8]。

1.2 硬件拓扑

依托一体化云架构计算机系统体系架构,构建系统硬件拓扑连接,如图2 所示,系统为均选用国产化品牌。系统由网络资源、计算资源、存储资源、辅助资源、显示资源及配套设施组成,通过云平台虚拟化技术将底层物理设备的硬件资源以服务的方式提供给服务层和应用层相关软件子系统适应,并通过运管平台实现对物理资源和虚拟资源的有效监。实现资源虚拟化、功能服务化、运行智能化、任务实战化,形成系统动态重组、数据灵活共享、全域调度指挥、智能任务决策的航天测控中心,在体系架构转型、系统资源共享、任务能力生成、运行模式优化等方面取得显著的建设效益[9]。

图2 一体化云架构计算机系统硬件拓扑图

网络资源:采用层次化设计,包括核心层、汇聚层、接入层,每层功能清晰、架构稳定、易于扩展和维护。核心层选用两台万兆数据中心级交换机,汇聚层选用两台万兆交换机,核心层与汇聚层均做两两堆叠,组成高可用交换网络,满足各系统或资源互联传输性能要求,确保网络通信的稳定性。

计算资源:选用若干台高性能服务器作为计算资源池,云平台部署于各计算节点上,通过虚拟化技术,将传统的物理服务器进行虚拟化复用,提高服务器的资源利用率,从而高效地为业务平台提供各类应用云服务资源,能够实现某中心接收外部数据,进行相关计算处理,为完成任务指令、数据注入等应用提供计算能力保障。

存储资源:选用数据库、服务器、光纤交换机、磁盘阵列构建集中式存储系统,配置主备双活模式,用于结构化数据存储;选用分布式存储系统,构建多副本存储模式,用于非结构化数据的存储。两种存储方式相辅相成实现各种实时数据、事后处理数据的存放,满足中心数据存储的高可靠高稳定要求。

显示资源:主要由LED 显示屏、信号处理设备、集中控制设备等组成。主要将指挥人员、分析人员及技术人员在任务中所需要的指挥、分析、决策和监控工作的测控数据及图表进行可视化显示。

辅助资源:由多台操作终端组成,用于指挥人员操作控制,实时监控任务中相关参数、信息。

基础软件:包含麒麟操作系统、麒麟平台下的软双工管理软件和时间服务软件等。

2 航天测控通信网络传输机制

航天测控通信网络主要承载数据、图像、话音等业务,大部分业务需要单点发送、多点接收,如果采用单播方式进行传输,则需要在源端进行多次单播传输,重复的数据包会占用大量网络带宽,增减源主机负载,如果涉及跨区跨域的业务,则会占用区域间有限的链路带宽。而组播的优势在于当需要将大量相同的数据传输给不同用户时,能节省发送数据主机的系统资源和带宽,可以通过支持组播路协议的路由器或交换机有选择地将数据复制给有要求的用户,并且可以节省骨干网的传输带宽。同时,组播也更易于管理,方便了解组播成员的应用情况,使发送者和路由器的处理耗费以及发送延迟降低到了最低的程度[10],因此组播通信方式被用在航天业务应用测控通信中,从而有效节约网络带宽,降低网络负载。

2.1 组播基本架构介绍

组播基本架构如图3 所示,按照协议层从下往上划分,组播基本架构包括寻址机制、主机接入、组播路由、组播应用四部分[11]。

其中寻址机制指使用组播地址,实现组播源发送信息到一组接收者;主机接入指基于组播成员关系协议,允许组播接收者动态加入和离开某组播组,实现对组播成员的管理;组播路由指基于组播路由协议构建报文分发树,从组播源传输报文到接收者;组播应用指组播源与接收者须安装组播应用软件,进行组播信息的发送和接收。

2.2 云平台虚拟网络环境通信模式

传统网络环境中,一台物理机包含一个或多个网卡,要实现与其他物理主机之间的通信,需要通过自身的网卡(Network Interface Card,NIC)连接到外部的网络设施(如交换机(Switch))上,如图4 所示。这种模式下,往往将一个应用部署在一台物理设备上,从而实现应用隔离。

图4 传统网络环境数据通信模式

通过云平台虚拟化层的虚拟机监控程序Hypervisor的调度技术,将资源从空闲的应用上调度到繁忙的应用上,实现对现有资源的灵活控制和调度[12]。通过虚拟化技术,将1 台实体物理机虚拟为n个虚拟机,将1 张物理网卡虚拟成多张虚拟网卡(Virtualised Network Interface Card,vNIC),不同的虚拟机运行不同的应用业务,实现应用隔离。利用支持多层数据转发的高质量虚拟交换机 (Open vSwitch,OVS)创建分布式虚拟交换机,实现跨主机虚拟机之间的通信。在虚拟化环境中,以两台物理机为例,网络传输模式如图5 所示。

图5 云平台虚拟化网络环境数据通信模式

2.3 云平台数据组播性能瓶颈

随着航天测控领域技术的不断发展,航天任务不断增加,航天器跟踪测量数据、飞行控制参数、飞行轨道姿态等各类遥测数据越来越多,对网络通信的实时性、稳定性和可靠性提出了更高要求,测控中心网络环境已升级至10 Gb/s 带宽。为满足航天通信要求,在丢包率小于10-7前提下,极限带宽值不低于7 000 Mb/s。

2.3.1 测试环境

按照图2 系统架构图进行测试环境搭建,网络数据收发关系如图6 所示。

图6 网络收发数据关系图

选取系统中部分虚拟机、操作终端和数据库服务器进行网络数据收发测试,图中箭头方向为测试数据流向。

2.3.2 测试工具及方法

(1)测试工具

在虚拟机、数据库服务器、操作终端上分别部署用户数据包协议(User Datagram Protocol,UDP)丢包测试软件,如图7 所示。分别对同一物理机虚拟机间、不同物理机虚拟机间、虚拟机与数据库服务器、虚拟机与操作终端的网络通信进行测试。

图7 测试软件界面

(2)测试方法

以4 KB、8 KB、64 KB 3 种字节长度进行组播性能测试,测试方法步骤如下:

(1)启动各测试端,运行网络测试工具。

(2)进行组播发送配置。目的地址为组播地址IP,绑定地址为本机IP,设置包长、发送间隔、包数等信息。

(3)进行组播接收地址配置。接收地址为组播地址IP,绑定地址为本机IP,指定源地址为发送端IP。

(4)根据需求重复步骤(3)配置多个接收地址。

(5)记录30 min 后接收端的丢包数,计算丢包率(测试过程中丢包数除以总的收包数,得出测试过程的丢包率)。

(6)测试出不同包长下的丢包率为10-7情况下的极限带宽值。

2.3.3 测试结果

针对图6 中网络数据收发关系,针对4KB、8KB、64KB 不同包长分别进行12 组测试,记录丢包率为10-7情况下的极限带宽值,测试结果如表1 所示。

表1 组播极限带宽值 (Mb/s)

经测试,相同包长下,极限带宽分两种情况:

(1)通信双方无虚拟机时,4 KB、8 KB、64 KB 极限带宽分别为5 126.0 Mb/s、6 278.3 Mb/s、6 377.8 Mb/s;

(2)通信双方有虚拟机时,4 KB、8 KB、64 KB 极限带宽分别为3 982.0 Mb/s、5 278.3 Mb/s、5 335.7 Mb/s。

测试结果无法满足通信要求。

2.3.4 原因分析

通信双方无虚拟机时,数据通信不通过虚拟网络,带宽仍不足7 000 Mb/s,与其他项目做比较,不同之处在于设备上运行国产操作系统,分析原因为国产操作系统造成的数据带宽受限。

通信双方有虚拟机时,带宽更低,除操作系统影响外,云平台底层网卡设置方式及虚拟机CPU 资源分配也会影响数据收发处理速度。

3 解决方案

分别从操作系统、云平台、虚拟机CPU 三个层面进行优化设计,提出航天数据云组播技术,对网络带宽性能进行提升。

3.1 操作系统优化

操作系统内核套接字缓存、网卡收发缓存及网卡最大传输单元(Maximum Transmission Unit,MTU)都会影响数据收发效率。首先将Linux 系统套接字上的缓冲区默认值和最大值进行调整,套接字是操作系统中用于网络通信的重要结构,它是建立在网络体系结构的传输层,用于主机之间数据的发送和接收,避免因为内核缓冲区太小造成数据丢包;其次,设置网卡收发缓存,在网卡硬件参数满足情况下,通过设置网卡缓存容量改变缓存大小,提高网卡性能;最后,设置MTU 大小:如果不对该值进行设置,会造成长报文无法可靠地传输,丢失后重传会占用大量网络资源,通过改变MTU 大小,提高报文传输效率,从而降低丢包。

3.2 云平台优化

设置网卡全轮询驱动模式,使用无中断方式直接操作网卡的接收和发送队列。全轮询方式的驱动从网卡上接收到数据包后,会直接通过直接内存访问(Direct Memory Access,DMA)方式传输到预分配的内存中,同时更新无锁环形队列中的数据包指针,不断轮询的应用程序很快就能感知收到数据包,并在预分配的内存地址上直接处理数据包,从而提升了网络数据包的处理性能。

使用大页内存提高内存访问效率。转换后备缓冲器(Translation Lookaside Buffer,TLB)是CPU 中单独的一块髙速缓存,为了实现虚拟地址到物理地址的转换,首先要查找TLB 来进行快速映射。如果在查找时TLB没有命中就会触发一次缺页中断,CPU 就需要到内存中去访问多级页表,才能最终得到物理地址,从而导致极大的CPU 开销。Linux 默认大页内存大小为4 KB,在程序使用大内存时,需要大量的页表表项才能保证TLB 命中,通过设置大页内存为1 GB 提高检索效率,确保TLB命中,提高网络数据包的处理性能,降低丢包率,提高极限带宽。

3.3 虚拟机CPU 资源优化

利用CPU 亲和技术,避免线程在不同核间的切换造成的资源浪费,从而降低对网络数据组播性能的影响。在单个CPU 核上,多线程可以提髙各应用的并发运行程度,从而提高CPU 的整体利用率,但线程的创建和销毁都有开销,还会引入上下文切换、访存冲突、缓存Cache失效等诸多消耗性能的因素。通过仔细规划线程在CPU 不同核上的分布,达到既保持应用的高速并发运行,又减少线程切换开销的目的。利用Linux 系统下的CPU 亲和性,将特定任务绑定到只在某个CPU 核上运行,从而避免线程在不同核间的频繁切换,减少性能损失。另外作为更进一步的优化手段,可限定某些核不参与Linux 系统调度的技术手段,使特定的任务线程(如网络收发包线程)可以独占CPU核,从而提升网络数据组播性能。具体实现示意如图8 所示。

4 测试验证

通过以上3 种技术方式的结合优化设计,极大地提升了云平台数据组播的性能。优化后,测试结果如表2所示。

表2 优化后组播极限带宽值

经过实际测试结果表明:满足组播丢包率优于10-7,能够使万兆网络中虚拟化层包长4 KB 报文的组播带宽稳定提升到7.6 Gb/s,包长64 KB 报文的组播极限带宽能够达到9.6 Gb/s,优化后相同包长情况下实现带宽80%~90%的提升,最优情况能够将带宽提升到万兆网络的96%,充分满足了航天任务中心业务使用需求。具体测试数据如表3 所示。

表3 组播极限带宽对比

5 结论

本文构建一种基于国产化云架构的一体化计算机系统,系统设备国产化率100%,提出了基于国产化云平台的航天数据混合组播应用技术,实现了操作系统、云平台、虚拟机CPU 资源三个层面技术优化,解决了国产操作系统及云平台网络资源虚拟化对数据组播的性能瓶颈问题,提升了云平台数据组播的性能,经过实际测试,提升后性能可满足航天任务中心业务使用需求。

猜你喜欢

网卡测控虚拟化
在DDS 中间件上实现双冗余网卡切换的方法
基于OpenStack虚拟化网络管理平台的设计与实现
Server 2016网卡组合模式
《测控电路》实践教学改革探讨
对基于Docker的虚拟化技术的几点探讨
虚拟化技术在计算机技术创造中的应用
基于现代测控技术及其应用分析
向着新航程进发——远望7号测控船首航记录
存储虚拟化还有优势吗?
挑战Killer网卡Realtek网游专用Dragon网卡