王厚天,陈清霞,刘乃金
(中国空间技术研究院 钱学森空间技术实验室, 北京 100094)
航天器发展和航天任务概念的格局正处于巨大的范式转变之中,这源于技术方面的新颖进步以及小型航天器任务的成功。一方面,以低轨通信卫星星座(low earth orbit,LEO)为代表的巨型星座是当前世界航天产业发展的一大热点,对空间网络体系构建带来巨大变革[1]。2020年4月,国家发改委首次将卫星互联网明确写入“新基建”范畴[2],与5G[3]、物联网、工业互联网等共同列入网络基础设施,标志着卫星互联网建设已上升为国家战略工程。2020年5月,美国联邦通信委员会(federal communications commission,FCC)新一轮准入申报截止日申请的非静止轨道星座卫星总数达到81195颗,其中新型星座普遍支持星间链路,提供数据传输低时延服务。
另一方面,新型技术如人工智能、5G/6G、区块链等产业的快速兴起与发展正在引起新的技术变革,为未来空间信息系统的发展提供了技术牵引。人类生产力的发展已经进入算力时期,计算能力成为这个时期最强大的新型生产力[4]。未来大量碎片化、分散化的算力、存储等IT资源分布在空间信息网络中,需要网络进行整合拉通后作为基础设施,为业务提供便捷的按需使用。另外,随着计算资源的泛在化,AI随着算力全网渗透,极大促进了信息技术与人工智能在应用、平台、技术层面的结合。
目前空间信息网络多种应用的计算资源需求通常依赖于远程共享数据中心,导致回传高成本和应用无法实时响应。比如现有的卫星“弯管”架构,当数据量随星座大小和传感器数量不断增长时,弯管模式无法扩展[5]。因为具有高数据速率摄像机的卫星星座受到了集中式地面处理的限制,地面站的位置和轨道参数限制了链路的可用性,从而阻碍了有效的数据速率可扩展性。间歇性下行链路会增加数据收集和处理之间的延迟,这需要使用在轨数据缓冲区。随着巨型星座的兴起和计算技术的发展,计算将成为空间信息网络的一项重要资源,空间会形成新的计算生态。未来雷达、高光谱相机等载荷会产生海量空间数据,如果这些数据要实时和近实时高效处理的话,需要嵌入复杂的算法,而这些算法复杂度需要高性能算力来支持。空间分散计算为实现该目的提供了一种解决思路。
文章首先分析了国内外关于分散计算在项目和框架方面的研究现状。在此基础上,阐述了空间分散计算的体系结构,并给出了原型系统的构建方法和试验验证结果。
1) 黑杰克
2018年,DARPA提出了“黑杰克”项目,目标在于实现星座的自主管理,任务的自主执行,并且将在4个方面提升美军的战斗力和战略威慑能力,包括智能侦察、导航定位和授时、导弹防御和军事通信[6]。DARPA认为管理跨多个卫星任务的技术和概念包括:即使在地面站控制链路不可用的情况下,卫星也可以在多个地面站或多个远程(战术)用户的多轨道平面中自主运行;跨多个卫星的在轨数据云以及动态分布式数据存储和处理功能的自主管理;如果一些卫星发生故障或任务发生变化,星座能够自主重新配置;计算机随机模拟方法外的自主系统性能与鲁棒性验证,如基于分析技术或组合技术。黑杰克项目的卫星概念图如图1所示。
图1 黑杰克项目卫星概念图Fig.1 The satellite structure of Blackjack project
2) 在轨边缘计算
卡内基梅隆大学的有关学者于2020年提出了一种轨道边缘计算OEC架构[5]。OEC支持在每个配备了摄像机的纳米卫星上进行边缘计算,以便在下行链路不可用时可以在本地处理感知数据。为了解决边缘处理延迟问题,OEC系统将卫星星座组织成计算管道。这些管道基于地理位置并行数据采集和数据处理,无需交叉连接协调。OEC卫星针对物理环境的约束进行显式建模。这项服务使用轨道参数、物理模型和地面站位置来触发数据收集、预测能源可用性和预备通信。同时证明了OEC架构可以比传统弯管架构减少24倍以上的地面基础设施,其运行模式图如图2所示。
图2 OEC运行模式图Fig.2 The operation mode of OEC
Loft Orbital公司于2021年5月5日宣布,它赢得了美国太空部队的一份小型企业创新研究(SBIR)合同,以支持开发可以分析太空数据的边缘计算机处理器,该处理器将作为Loft Orbital航天器的“大脑”[7]。该公司希望在其卫星上提供边缘计算作为其服务的一部分。与必须将数据传输到地面服务器相比,星载计算机允许卫星处理它们收集的数据并执行自主决策和任务。Loft Orbital的边缘计算技术类似于美国DARPA正在为其黑杰克星座开发的用于自主卫星操作的“Pit Boss”。
对地面系统而言,DARPA于2016年7月发布DCOMP项目,该项目旨在研究利用普遍存在且物理分散的计算平台将应用程序和网络性能提升数个量级[8]。DCOMP的目标首先定位于空间战场之上,用来让作战人员在通信不稳定,无法连接远程数据中心的情况下,利用邻近节点资源进行收集、传输和处理信息。
同时,近几年围绕边缘计算也涌现出了一系列的框架构型。如表1所列,对国外几种典型的边缘计算框架进行了梳理。
表1 国外典型边缘计算框架Tab.1 The typical edge computing framework abroad
对国内而言,中国科学院于2014年提出了云海计算系统[12]。在云海计算系统中,“云”是指数据中心,“海”是指终端侧。项目的设计可以从3个层次上进行描述:整体系统架构层次,数据中心服务器和存储系统层次以及处理器芯片层次。云海计算模型的提出是为了将云计算功能迁移到海侧,它更侧重于“海”侧的设备和“云”侧的数据。
纵观国内外的研究现状可以得出:
1)针对地面信息网络涌现出了网络和计算融合的多种技术手段,但对移动性和安全支持有限,且尚处于研究阶段,并未形成统一标准;
2)针对空间信息网络,在轨边缘计算已受到国外相关研究机构的关注,但尚处于萌芽阶段。
本文从模拟验证的角度,提出一种空间分散计算模拟验证系统,旨在为空间信息网络领域中的新型分布式应用以及为关键技术提供地面验证的基础。
本文作者于2019年提出一种空间分散计算体系结构[13]。该体系结构分为3个层次:第1层次为可重构智能单节点实体,也即利用本地节点的网络、计算和存储资源,借助虚拟机和容器等不同颗粒度的虚拟化手段,探测感知基础环境,并实现功能快速重构;第2层次为可重构灵活网络组网,也即综合态势感知,实现快速灵活组网,保障系统的顽存性,同时对网络、计算和存储资源进行管理;第3层次为可定制自适应弹性策略,也即根据不同业务场景,按需制定弹性策略。
以此体系结构为设计指导,本节阐述模拟验证系统的构建方法,该模拟验证系统的构建框架如图3所示。
图3 空间分散计算模拟验证系统构建框架Fig.3 The construction framework of space dispersed computing simulation verification system
空间分散计算模拟验证系统包含了云和边两个层次,“云”主要指代远端指控中心,“边”主要指代卫星以及地面终端等边缘计算设备。
空间分散计算模拟验证系统基于OpenStack开源框架实现,并且包含了其中的Nova组件(负责计算服务)、KeyStone组件(负责认证服务)、Glance组件(负责镜像服务)、Neutron组件(负责网络服务)以及Cinder组件(负责块存储服务)。在OpenStack云环境中,应用部署在动态虚拟机上,需要根据动态云资源需求部署、管理和停止。其次,云中的虚拟机基于Intel处理器架构。所有在云环境中部署服务所需的Docker映像都必须在部署请求之前推送到Docker Hub映像存储库。云环境中的虚拟机基于一个轻量级的CoreOS操作系统,默认情况下运行一个Docker环境来进行服务部署。当虚拟机运行时,它将被Docker容器填充,直到达到所定义的最大容器数量。如果没有其他容器的空闲空间,则创建一个新的虚拟机。
云-边中间件可以部署在云中,也可以部署在边控制节点,充当云和边环境之间的中间件。中间件处理云环境中的资源配置、任务请求放置和任务执行。在云环境中处理的任务请求很可能是时延不敏感的作业,这些作业是从底层区域请求的。这些任务通常是资源密集型的,例如大数据分析或图像处理,因此需要在云环境中利用充足的资源执行。
边环境中有一个运行在分散设备上的软件组件,具体包含边控制节点、普通边节点以及节点的附属载荷,例如传感器和执行器。这些边节点的职责包括监视连接的设备、监视专有资源、执行接收到的任务请求以及将服务数据传播到上层拓扑层。每个边节点都具有特定的组件。其组件结构如图4所示。
图4 边环境组件结构Fig.4 The structure of edge environment component
执行控制组件从共享存储中提取服务映像,并将该服务部署到计算单元中,以便从设备中读取、处理和传播数据。此外,通信和完整的数据处理是在计算单元中完成的。因此,计算单元是边节点的实际任务处理部分。服务的部署是根据由边控制节点的推理组件计算的资源配置计划完成的。已部署服务的执行和相应资源由监视器监视。收集到的监视信息存储在本地数据库中,以便进一步处理。
边控制节点中的核心组件是调度管理模块,包括共享存储、任务协调组件,看门狗和调度分析。共享存储包含具体任务应用的映像和下属协同节点的参数信息。看门狗监视各协同计算节点指标,并相应地触发事件,如过载(CPU>80%)。调度分析是处理分散计算节点的资源配置和任务放置的关键组件。任务协调组件的作用是将任务请求和服务数据传播到更高的级别。
空间分散计算模拟验证平台基于低轨卫星网络开展设计与分析,其星间链路包含两类:同一轨道面内卫星间的星间链路和不同轨道面卫星间的星间链路。在不同轨道平面的卫星之间,受卫星运动方向、天线指向及天线跟踪能力等因素的限制,不同轨道面的卫星间链路存在周期性链路通断的问题。
常见的卫星移动性数据获取方法有:1)一次性导出所有的节点移动性数据;2)在仿真过程中按时间读取当前节点数据。方法一:可以不依赖于仿真软件与轨迹模拟软件的协同,但轨迹数据的读取时间较长。方法二:需要仿真软件与轨迹模拟软件同步,但不依赖于固定的场景。在使用过程中要根据模拟场景对于效率与灵活性的需求进行取舍。
本平台采用方法一,即由STK一次性推导出所有节点的移动性数据。包括轨道数据和链路数据,可以通过利用STK与Matlab联合调试的方法得到。在得到移动性数据后,该模拟验证平台的节点之间通过Ad hoc组网形式模拟无线链路之间的时延和通断,节点之间的路由方式通过修改Linux转发内核来实现。
空间分散计算模拟验证系统采取容器虚拟化封装技术,支持多种任务类型,可快速部署、迁移以及执行任务。该模拟验证系统目前能够实现虚拟化计算单元在云和边之间的动态调配以及智能遥感图像的分散化处理,为后续空间分散计算研究领域关键技术的验证提供前期支撑保障,平台的运行界面如图5所示。
图5 空间分散计算模拟验证系统平台运行界面Fig.5 The operation interface of space dispersed computing simulation verification system platform
1)虚拟化计算单元的动态部署与迁移
空间分散计算模拟验证系统所参考的体系结构中,卫星节点是重要的计算单元,多颗卫星间构成临时任务计算网对终端提供计算服务。由于卫星的高速运动,存在卫星加入算网、卫星退出算网等情况。虚拟化计算单元是任务的执行单元,而虚拟化计算单元在网络拓扑结构动态变化的情况下能够在不同计算节点上进行灵活的迁移,这是空间分散计算系统需具备的一项重要能力,围绕虚拟化计算单元动态部署与迁移的具体验证结果如图6所示。
图6 虚拟化计算单元的动态部署与迁移Fig.6 Dynamic deployment and migration of virtualized computing units
由图6可以看出,初始时刻虚拟化计算单元的部署数量为40个。t1时刻,当2号卫星加入算网后,其余的计算节点会将一部分计算任务分配给2号卫星。t2时刻,当5号卫星退出算网后,5号卫星当前执行的计算任务会全部迁移至其它卫星上,从而实现了虚拟化计算单元在不同计算节点之间的灵活迁移与调配。
2)在轨协同计算实现舰船目标检测
在实现虚拟化计算单元动态部署与迁移的基础上,本验证场景将舰船目标检测算法封装在虚拟化计算单元中,利用5颗卫星组成临时任务计算网对舰船目标进行检测。由于星间激光通信已是未来的发展趋势[14],本场景假设星间通过激光进行链路建立。具体测试结果如图7所示,左上是原始图,右上是切分后的各个子图,右下是各子图的识别结果,左下是结果汇聚图。
图7 测试结果Fig.7 The test result
其中识别到的舰船用绿框显示,每个绿框对应一个识别目标。同时,针对国外典型海港区域图像,本节对单星做目标检测所需的时间和多星协同进行检测所需的时间进行了比较,比较结果如图8所示。经统计可得,单星做目标检测所需的时间大约为多星协同检测所需时间的4.5倍。
图8 目标检测所需时间比较Fig.8 The execution time comparison of target detection task
下一代科学任务中,航天器需提供先进的处理能力,以支持计算密集型任务,计算将成为下一代空间信息网络的一项重要能力。本文首先从空间信息网络和地面信息网络两个维度对国内外典型的边缘计算项目和框架进行了系统阐述,同时从云环境构建、云-边中间件、边环境构建以及空间特性模拟4个方面阐述了空间分散计算模拟验证系统的实现思路,并验证了模拟系统在虚拟化计算单元的动态部署与迁移以及多星协同进行舰船目标检测等方面的能力。验证结果表明,本文所提出的空间分散计算模拟验证系统能够实现虚拟化计算单元在不同计算节点间灵活的动态部署和迁移,同时相比单星目标检测,多星协同能够显著提升检测的效率。
同时,空间分散计算的部署实施需要以底层通信网络基础设施作为支撑,理清网络和分散计算之间的边界,也即理清组网本身对分散计算的要求以及分散计算对组网的要求,这是下一步工作的重点。