一种可重构的星载高性能智能异构计算系统
2022-11-02王元乐杨玉辰方火能邵应昭李晓博
王元乐,杨玉辰,方火能,邵应昭,张 朗,李晓博,梁 峰
1.西安交通大学微电子学院,西安 710049
2.西安空间无线电技术研究所,西安 710000
0 引 言
经典计算机体系结构中,中央处理器(central processing unit,CPU)作为计算机的控制和运算核心,软件层操作通过CPU指令集映射,映射后按照编译完成的CPU指令集队列,硬件层依次执行相应CPU指令集队列.随着微电子技术不断发展,微处理器内部集成单元增多,微处理器架构从单核到多核、从同构到异构、从异构走向超异构,芯片架构不断创新,典型的微处理器包括CPU、FPGA、DSP、GPU、TPU、特定领域架构(domain specific architecture,DSA)、ASIC等;其中,FPGA相比于CPU更接近于IO,优势在于计算效率更高;DSP常用来作为信号处理操作;GPU常用于图像处理操作;TPU适用于深度学习计算领域;DSA、ASIC定制化过程漫长,底层硬件编程等功能定制化,灵活性较差.各种类型微处理器为计算系统提供多种类型算力,适用于各自特定应用场景.
针对传统星载计算系统,一般选用FPGA或CPU高等级器件,程序存储器选用对单粒子免疫的反熔丝型器件,数据存储器一般选用抗单粒子阈值高的器件,通过提高单个元器件可靠性的方式来提高整个计算机系统的可靠性[1].CPU适合应用于逻辑密集的控制型任务,针对计算密集型任务有所欠缺,摩尔定律失效带来CPU性能瓶颈,以CPU为核心的计算系统越来越难以满足海量高性能计算需求;随着航天技术发展,星载计算系统的复杂度和性能需求不断提升,依然采用传统CPU星载计算系统已无法满足星载计算可重构、智能化和高性能等需求,通过可重构技术实现芯片功能重构以及计算系统模块重新配置实现系统功能重构;通过异构计算技术实现计算加速.
异构计算技术是一种特殊的并行计算方式,包括在系统中使用不同体系架构处理器的联合计算方式,可支持芯片级异构、板级集成异构、系统级异构,芯片级异构和板级集成异构解决了不同芯片间的互联互通,系统级异构考虑各个单元或各个模块间选择性配置和互联互通.通过异构计算技术,可通过通用计算资源(如CPU)、多用计算资源(如FPGA)、专用计算资源(如GPU)以及存储资源(主存、外存)、互联资源(内部互联、外部接口)等构成多维异构硬件资源集合,为实现复杂高性能异构计算系统提供选择和支撑.
可重构技术可实现航天器在轨可重构功能,包括芯片功能重构以及系统功能重构;芯片功能重构体现在各种FPGA、DSP、CPU、GPU、AI芯片的程序功能重构,包括全局重构和部分重构等各种技术,已有大量研究体现[2-3];系统功能重构体现在模块化、组件化可扩展机制和技术,得益于模组间具有松耦合特性以及统一定义接口,不需要修改基础功能组件,后续可根据需要方便接入新的功能组件,通过模组可重构控制方法将基础功能组件与新的功能组件组成完整系统[4-6].
随着5G/6G通信技术蓬勃发展,各种人工智能应用需求不断增长,针对现有星载计算系统架构能够实现高速多源数据在轨实时处理、信息快速服务能力弱、新型通信体制等系统架构和算力难题.本文提出一种可重构高性能智能异构计算系统,开展了面向星载典型遥感影像处理的软硬件实现,达到了预定效果.本文提出的异构计算系统支持系统架构持续可演进需求,通过软硬件单元灵活配置,适配更高性能处理器资源,可满足未来更高性能星载计算系统功能和性能需求.
1 现状与需求
1.1 典型微处理器
微处理器性能衡量标准通常包含三个因素:“指令”复杂度、运行频率、并行度.“指令”是软件和硬件的媒介,其复杂度决定了系统的软硬件解耦程度;指令越简单,编程灵活性越高,指令越复杂,性能越高;频率可通过多级流水、工艺提升的等方法进行提;并行度提升包括超线程、指令多发射、多核异构等方式.
随着航天技术和集成电路设计生产能力的不断发展,各类型高性能芯片处理能力越来越强大;国内外微小卫星研制中均有大量的商用现货(commercial off-the-shelf,COTS)器件成功在轨应用[7-9].在商业航天应用上,COTS器件具备低成本、高密度、高性能等优点,通过开展针对COTS器件的选型、采购、质量保证和应用等各个阶段工作,完成外观检查、结构分析、破坏性物理分析(destructive physical analysis,DPA)、常温电性能测试、高低温性能测试、总剂量和单粒子摸底试验等升级筛选工作,使COTS器件的性能、质量、可靠性、进度及成本等可满足低成本短周期航天器的要求.
1.2 遥感影像在轨处理需求
随着遥感卫星分辨率不断提升,卫星影像数据量呈现几何级增长,星载传感器的原始数据率可达几十Gbps,与卫星有限的传输、存储资源产生巨大矛盾,遥感影像预处理、智能处理等图像在轨处理技术成为研究热点之一.
针对敏捷小卫星平台的遥感影像在轨处理需求,需要开展更高效的计算系统软硬件架构设计和实现,具备辐射校正、云检测等图像预处理功能,具备基于地理位置的感兴趣区域(region of interest,ROI)提取、基于目标检测的ROI提取、几何校正等智能处理功能[10-13];同时支持软件定义功能,具备程序和参数在轨上注更新,灵活支持在轨处理等功能.
1.3 未来天基信息服务需求
随着卫星结合人工智能、云计算、大数据、互联网、新型通信体制等技术的在轨应用需求不断增长,国内外在航天技术领域不断应用实践新技术,在全球范围内极大扩展了卫星数据应用,拓展星载数据的供给面与需求面,结合新技术创新为用户提供高质量定量化实时天基信息服务能力.
针对支持面向各类突发事件及多用户并发应用场景,解决多编队组网航天器协同任务规划、资源动态调度、多源载荷数据/信号分布式协同处理、情报信息综合生成与态势更新等需求[14-16],面向天基信息服务新需求,可重构星载高性能智能异构计算系统需要支持可演进架构功能,通过系统灵活配置可支持未来天基信息服务新需求.
2 星载计算系统架构
2.1 高可靠最小系统
星载计算系统长期工作在宇宙空间辐射环境中,各种辐射效应是导致星载计算机在运行期间发生故障的主要原因,采用COTS器件可以降低系统成本,但是系统可靠性不能完全保证,需要采取抗辐照加固措施保证系统可靠性提升.本文通过高可靠抗辐照元器件+软件容错技术+定时刷新技术,软件上采用三模冗余技术、定时刷新技术、纠错编码机制,具备EDAC纠错能力,构建一种高可靠最小系统.
高可靠最小系统具备在轨维护功能,其存储的配置数据可预先在地面写入,实现预置型在轨维护,或由在轨后通过整星遥控上注写入,如图1所示.
图1 高可靠最小系统Fig.1 High reliability minimum system
2.2 基于最小系统的可重构计算单元
本文基于高可靠最小系统,采用高可靠抗辐照元器件+高性能低等级元器件结合的设计方法,通过器件级备份冗余、设备级备份冗余、多种软件容错技术等措施提高计算单元中高性能低等级元器件的可靠性.通过高可靠最小系统可保证正确读取高性能模组的加载程序,完成高性能模组中FPGA重构和刷新功能,完成DSP、CPU、GPU、AI芯片等功能加载.采用该设计方法完成的计算单元的可靠性几乎与传统的宇航计算机的相当,成本有效降低,兼顾实现了星载计算单元低成本与高可靠特性.
如图2所示,高性能模组1~N可根据计算单元需求进行选择性配置,其选用高可靠NorFlash,用于存储重要程序和参数;通过高可靠最小系统接收到的控制A/B命令,并通过PGA控制通信接口转发至高性能FPGA,通过DSP/CPU等配置接口,配置其他高性能模组中DSP、CPU等程序加载,并具备上注重构等能力;同时,各个高性能模组间支持模组间支持高速数据接口进行通信,高性能模组支持DSP/CPU等控制通信接口,进一步发挥最小系统和各个模组间联合计算能力.
图2 基于最小系统的异构计算单元Fig.2 Heterogeneous computing unit based on minimal system
2.3 可重构的星载高性能计算系统架构
面向卫星在轨处理以及未来天基信息服务等软件可定义功能需求,基于各种DSP、CPU、GPU、AI芯片等高性能器件,按照基于最小系统的异构计算单元架构,可构建多种类型异构计算单元,包括FPGA-DSP异构计算单元、FPGA-CPU异构计算单元、FPGA-GPU异构计算单元、FPGA-AI芯片异构计算单元等,形成多种标准异构计算单元型谱.通过配置异构计算单元型谱及配置数量,同时通过星载计算系统内部的冗余加固、系统故障自诊断技、系统健康状态管理等技术提高系统的可靠性,保证卫星系统稳定运行.
该系统框图如图3所示,路由单元等其他部分均保持不变,仅需要根据任务特点和更高性能元器件选型,进行异构计算单元的型谱选用和升级,支持系统可演进.同时,控制单元通过智能化软件功能实现,具备计算系统自主任务执行的功能;卫星平台仅需要发送任务时间、类型、数量等要求,不需要发送单条任务指令序列,即可开展计算系统自主任务执行;更进一步,随着智能化软件功能扩展,可支持开展卫星在轨自主任务规划、多源信息在轨融合、态势生成与更新、新型通信等更强算力和智能化要求更高的业务.
图3 天基信息服务异构计算系统Fig.3 Heterogeneous computing system for space-based information services
3 一种遥感影像在轨计算系统
3.1 可重构高可靠最小系统
针对高性能FPGA、DSP模块,构建的高可靠最小系统如图4所示,支持FPGA1、FPGA2重构和刷新功能;支持通过RS485 A/B双冗余总线的遥控遥测功能,可传输遥控指令、取遥测指令、GNSS定位广播参数、姿控广播参数、星务时间基准广播参数、FPGA上注指令、DSP上注指令、参数上注指令等.
图4 基于高可靠最小系统的异构计算单元Fig.4 Heterogeneous computing unit based on highly reliable minimum system
通过高可靠重构刷新控制器构建的最小系统,可保证正确读取高可靠NorFlash,完成FPGA1、FPGA2重构和刷新功能;重构功能:FPGA1、FPGA2默认加载FPGA上注1区位流,若加载不成功,最多可加载FPGA上注1区位流三次并返回相应遥测,有效保证FPGA1、FPGA2加载成功;可根据指令要求加载FPGA上注2、3、4区,完成不同功能调用;刷新功能:FPGA1、FPGA2默认刷新功能开,支持通过RS485 AB总线发送刷新关指令、取遥测等其它相关指令.
为满足DSP处理器的灵活配置需求,合理选择高性能 FPGA与DSP 间适配接口,通过最小系统指令+FPGA1共同完成DSP重构和图像处理参数重构;其中DSP上注区用于存储 DSP应用程序,参数上注区用于存储图像处理等参数,可通过FPGA1灵活进行DSP上注区和参数注区逻辑划分,可支持6个DSP应用程序.
3.2 基于最小系统的FPGA-DSP计算单元
针对敏捷小卫星平台的遥感影像在轨处理需求,满足高功能密度比、高可靠性指标、小型化需求[17],选用高性能FPGA、DSP模块,支持环备份及总线冗余等,具备2×4X GTH高速IO接口和RS485双总线接口,其中DSP采用高性能8核心处理器,与FPGA具备灵活的高速适配接口.FPGA的程序通过单机上注校验模式保证NorFlash数据正确性,判断程序是否有效,否则重新上注程序,提高了FLASH存储程序的可靠性,FLASH采用宇航级,通过软件提高可靠性,降低系统成本.
3.3 基于计算单元的遥感影像在轨计算系统
针对敏捷小卫星平台的遥感影像在轨处理需求,开展基于最小系统的FPGA-DSP计算单元构建星载计算系统,该系统可以作为一种面向星载遥感影像在轨处理的异构计算系统[18-19].典型的星载遥感影像计算系统一般可包含路由单元、计算单元、固存单元、控制单元、通道适配单元等;其中,路由单元接收卫星平台传感器数据,以及星载计算系统内部数据的路由管理等功能,固存单元具备数据记录、回放功能,控制单元作为控制中枢完成与卫星其他系统的控制通信功能,通道适配单元用来完成与数据传输通道的接口适配;如5图所示,计算单元用于完成遥感影像的在轨密集型计算任务,配置3块FPGA-DSP计算单元,并支持计算单元2备1的环备份设计,用于完成图像压缩、预处理、智能处理等功能.
图5 遥感影像在轨计算系统Fig.5 Remote sensing image on orbit computing system
通过计算单元构建的遥感影像在轨计算系统主要功能如下:
(1)图像压缩功能:通过GTH高速总线接收图像数据,利用FPGA1、FPGA2完成图像压缩功能,具备18 Gbps实时JPEG-LS 图像压缩能力,具备9Gbps实时JPEG-2000 图像压缩能力.
(2)图像预处理功能:通过GTH高速总线接收图像数据,利用FPGA1、FPGA2完成图像预处理功能,包括18Gbps实时相对辐射校正、实时云检测处理能力.
(3)基于深度学习的目标检测功能:通过固存单元回放遥感影像数据,利用FPGA1、FPGA2完成目标检测,通过DSP完成目标经纬度信息计算,可根据算法性能灵活调整处理能力.
(4)基于地理位置的ROI提取功能:通过固存单元回放遥感影像数据,利用FPGA1、FPGA2完成图像分块及辅助数据分离,通过DSP完成辅助数据经纬度计算,针对辅助数据解析的行列号信息,按照上注提取的热点经纬度进行判别并提取有效热点区域图像.
(5)用户自定义功能:通过ROI提取后切片图像可按照用户要求进行其它处理,开展第三方应用程序支持,包括伪彩色图像处理、水体检测、快速几何校正等.
4 试验验证
4.1 FPGA-DSP计算单元物理实现
FPGA-DSP计算单元结构设计方面,单板采用VPX行业标准设计,单元机械尺寸为6U标准结构设计,模块外形尺寸为233.35×160 mm,重量<1.5 kg(含散热结构)[20];主要由主盒体,前盖板,后盖板等组成.结构设计上在考虑满足工艺性、连接可靠性等方面要求下,达到结构紧凑、重量小、质心低,即达到轻而刚,且强度满足要求的目的,结构采用了重量轻、刚度高、精度好的盒体式结构型式.FPGA-DSP计算单元实物照片如图6所示,满足标准化单元设计,可按照系统要求配置不同数量.
图6 FPGA-DSP计算单元实物照片Fig.6 FPGA-DSP computing unit physical photos
4.2 最小系统加载测试
(a)最小系统下FPGA加载测试
基于最小系统的FPGA-DSP计算单元完成相关设计后,开展了完备的功能覆盖性测试和强度测试:开展FPGA1、FPGA2加载强度测试,计算单元上电后,默认加载上注1区的FPGA位流,加载时长6 s,进行了上百次测试,均满足要求,可证明基于最小系统的FPGA1、FPGA2加载工作正常.同时对上注2、3、4区也进行了同样方法的测试,加载时长均为6 s,可满足要求.
(b)最小系统下FPGA/DSP加载测试
基于最小系统的FPGA-DSP计算单元设计,针对24种组合关系开展测试,进行了24种组合的互联互通测试,结果表明:(1)系统上电后,FPGA1、FPGA2可根据指令完成FPGA上注区选择性实现FPGA加载,最小系统支持FPGA上注1、2、3、4区;(2)FPGA1程序合理设计,包括FPGA1程序加载成功能后默认启动DSP复位,复位后FPGA1按照命令,通过EMIF接口选择性实现DSP加载,实现DSP上注1、2、3、4、5、6区;(3)最小系统指令+FPGA1可根据指令完成选择性加载FPGA程序、DSP程序等,最多可支持24种组合关系.
(c)最小系统下参数加载测试
图像处理等参数的上注加载功能需要最小系统联合FPGA1、DSP共同实现,利用地面上注设备产生所需的各类参数(DEM参数、网络参数等)数据,将参数通过RS485总线送给计算单元,计算单元按照协议将其解析后写入FPGA1挂载的Norflash相应位置;后续可通过控制指令操作加载图像处理等参数.
4.3 遥感影像在轨计算系统测试
针对图像压缩功能、图像预处理功能不需要DSP配合工作,计算单元利用FPGA资源进行操作,图像压缩功能程序存储在FPGA上注1区,图像预处理功能程序存储在FPGA上注2区.遥感影像在轨计算系统的计算单元按照相应功能加载上注区FPGA位流;外部图像发送设备模拟卫星相机载荷数据;通过路由单元按照约定协议处理后传输给计算单元,计算单元接收后完成相应功能处理,再通过路由单元存入固存单元中,路由单元从固存单元读取后传输给通道适配单元;地面图像接收设备模拟采集通道适配单元下传数据,地面快视设备实时解析后,获得计算系统处理后的压缩或预处理图像.经过地面和在轨大量测试,地面解压缩图像无花块;预处理图像中云检测功能正常,检出率高于93%,虚警率小于1%,达到了预定效果.
针对基于深度学习的目标检测功能、基于地理位置的ROI提取功能、用户自定义等功能,需要FPGA+DSP配合工作,选择24种组合关系中的2种存储FPGA、DSP程序;其中,基于深度学习的目标检测功能存储在FPGA上注3区和DSP上注1区,基于地理位置的ROI提取功能、用户自定义存储在FPGA上注4区和DSP上注2区.遥感影像在轨计算系统的计算单元按照相应功能加载上注区FPGA位流和DSP程序,通过固存单元回放提前记录好的数据,进行相应功能处理后再记入固存单元中;最后通过计算系统的回放模式将在轨处理数据下传至地面进行统计.经过地面和在轨大量测试,目标检测率优于95%,虚警率优于6%,达到了预定效果.如图7所示为基于深度学习的目标检测结果,完成了飞机检测和舰船检测.如图8所示为基于地理位置的ROI提取功能、用户自定义功能,完成了区域提取切片图像,并基于切片图像开展了快速几何处理和地物提取.
图7 基于深度学习的目标检测结果Fig.7 Based on target detection results based on deep learning
图8 基于地理位置的ROI提取功能、用户自定义功能结果Fig.8 ROI extraction function based on geographic location,user-defined function results
5 结束语
本文针对星载计算系统能力不足,基于高可靠最小系统和基于最小系统异构计算单元,提出了一种可重构高性能智能异构计算系统架构,该异构计算系统可支持系统架构持续可演进需求.针对敏捷小卫星平台的遥感影像在轨处理需求,开展基于最小系统FPGA-DSP计算单元设计,实现了一种星载遥感影像在轨计算系统,完成了地面测试和在轨测试,达到了预定效果.未来,基于该异构计算系统架构,通过配置更高性能FPGA逻辑、DSP多核、AI处理、存储等资源,形成更高性能计算单元,灵活配置各种类计算单元数量和类型,满足更高性能星载计算系统功能和性能需求,可为未来卫星高性能计算系统提供有益参考.