-
0 引言
-
随着航空电子技术的飞速发展,综合模块化航空电子系统(Integrated Modular Avionics,以下简称IMA)在民用飞机上的应用越来越广泛,C919、A380等民用飞机已普遍采用集成性高、可靠性强的IMA系统。但是,随着IMA系统的集成度越来越高,系统综合者和应用开发者难以直观了解软件运行时的行为和性能,给IMA系统的综合验证工作[1-2]带来了很大挑战。针对此问题,本文对应用性能进行分析评估,从时间资源和系统行为方面对系统资源状态监控技术进行了研究。
-
1 背景
-
IMA系统采用了满足ARINC653规范[3-4]的嵌入式实时分区操作系统。在IMA系统中,分区是软件运行的逻辑单元,一个分区是一个独立的应用环境,由分区操作系统、上下文、配置数据[5]、应用程序等组成。根据DO-178B对于分区的定义,分区是一种隔离机制,它能够隔离功能上互相独立的软件组件和故障,减少软件验证工作。分区按照以下原则进行调度:分区是调度的基本单元,分区调度算法是预先确定的,按照固定周期重复执行,相互之间没有优先级,在每个周期中至少要给每个分区分配一个时间窗口。
-
如图1所示,IMA系统的核心特征是多个子系统应用程序以分区的形式运行在同一个处理器上,并且实现时间和空间的隔离[6]。时间隔离是通过采用严格的时间片轮转调度机制,完成分区的时间调度[7];空间隔离是通过每个分区都具有独立的分区操作系统,并独享分区资源。
-
在IMA系统中,多个实时应用以时间和空间分区的形式在平台上同时运行[8]。分区操作系统在运行过程中会产生大量的事件信息,在分区环境下,系统的运行行为和运行逻辑很难了解,对一些系统级行为和逻辑错误的定位和调试就变得非常困难。对系统资源状态进行有效监控和分析,为系统资源配置优化提供数据支撑,提高IMA系统的整体效能,保证驻留应用高效、稳定、可靠运行,是IMA系统集成和综合验证的关键所在。
-
图1 IMA系统结构图
-
2 监控数据采集技术
-
资源状态监控主要是在IMA系统应用软件开发和集成过程中,在对应用软件进行监控的基础上,对采集到的监控数据进行综合分析,向系统综合者展现IMA系统的资源和状态。
-
监控数据的采集主要是从行为、时间等方面对IMA应用软件进行监控和分析评估,使应用开发者、系统综合者能够直观获取分区环境下应用软件的运行状态、时间性能等数据。这些数据能够反映应用的运行状态和性能指标,是IMA应用软件、综合化资源配置进行调整优化的重要反馈,帮助应用开发者、系统综合者最大限度地对应用和资源配置进行优化。监控数据采集架构如图2所示。
-
资源状态监控的数据采集通过在目标机端向每个被监控分区中插入监视探针,以采集应用事件、时间等数据信息。采集到的信息由监视代理服务统一管理,并传输至宿主机端的通信层。通信层对数据进行初步解析,数据处理层通过通信层API获取相应的监视数据,再根据用户不同的监视命令,将数据分发到系统行为监视器和时间资源监视器中,不同的监视器分别显示相应的监视内容。
-
资源状态监控的数据采集通过动态二进制插桩技术[9]实现。动态二进制插桩技术无侵入性,使用时既不需要重新编译生成目标码,也不会改变目标码的执行时序和逻辑。采用探针模式,主要的性能开销在于探针代码自身运行导致的时间和空间的开销,以及探针代码与被监控分区的切换开销。通过在操作系统内核层运行探针程序来获取分区应用运行过程中的特征数据,特征数据包括函数执行时间、函数调用次数、函数执行时序、函数的最大最小执行时间、数据采集的可配置性、数据采集的可控性等。本文采用源代码插桩与目标码插桩相结合的方式实现数据的采集。通过直接在程序源代码中插入必要的监控和处理语句,获取源代码执行结果;同时通过在程序目标码中插入特殊指令并跟踪程序的运行状态,以获取程序运行状态及数据信息。
-
图2 监控数据采集架构图
-
3 资源状态监视器的设计
-
资源状态监视器用于应用的动态交互过程[10],支持对应用软件运行时信息的记录和上传,帮助用户监控分析应用程序的行为。本文采用一种针对分区和目标机的系统监视方法,通过在系统中插入探针程序,在系统运行过程中记录各个事件发生的时间及相关参数。
-
资源状态监视器由宿主机端和目标机端两部分组成,其中宿主机端具备监视控制和监视数据查看功能,架构如图3所示。
-
监视控制模块负责处理用户的请求,并通过图形界面显示用户操作结果。当用户需要进行目标机进行监视控制时,监视控制模块向目标机端发出监视命令数据包,由监视器目标机端软件响应监视命令数据包并对应用性能进行监视,然后向宿主机端监视控制模块回复监视控制指令的执行结果。目标机端采用源码插桩的方式,对应用性能进行监视和记录,通过探针将收集到的应用运行信息收集到环形缓冲区中,然后通过监视器将监视记录数据包传送到主机端,用户可通过监视数据查看器对监视数据进行查看和分析。
-
图3 资源状态监视器架构图
-
3.1 系统行为监视器
-
系统行为监视器通过记录系统运行过程中各个事件的发生时间及参数,包括事件的状态信息、上下文切换、应用状态信息、分区信号量和分区进程操作等信息,直观地展现系统的运行行为和运行逻辑,对中断事件、异常事件等事件进行有效监控,并保存数据用作事后分析,便于应用开发者、系统综合者查看分区应用中的事件信息。此类数据也可以用于应用失效后的分析。
-
3.2 时间资源监视器
-
时间资源监视器通过实时监控应用程序的调用关系、CPU利用率、函数执行时间、调用次数、平均执行时间等信息,对各个分区的运行时间、分区时间余量、系统时间余量进行分析和评估,帮助应用开发者、系统综合者分析应用负载和时间性能瓶颈。
-
4 资源状态监控技术的实现
-
资源状态监控器的设计,分为目标机端和宿主机端两个部分,其中宿主机端由监视控制软件和监视数据查看软件组成。
-
4.1 目标机端软件
-
目标机端软件的功能包括:系统行为监控和时间资源监控。
-
系统行为监控支持记录事件的状态信息,支持进程以及切换的上下文状态信息,支持时间段的切换记录等,可以用于检测系统紊乱、死锁、CPU空闲及其他任务、进程交互相关的问题,主要监控以下事件类型发生时间及参数如下:
-
(1) 中断事件;
-
(2) 异常事件;
-
(3) 状态转换事件;
-
(4) 控制事件;
-
(5) 对象操作事件;
-
(6) 核心操作事件;
-
(7) 分区操作事件。
-
时间资源监控是对系统中分区和分区内任务对于时间资源的占用情况进行监控,具体如下:
-
(1) 监控分区和分区内任务的有效运行时间;
-
(2) 基于分区调度表分析各个分区运行的时间余量;
-
(3) 记录分区及分区内各个任务的调度情况和分区运行时间余量的时间信息。
-
4.2 宿主机端监视控制软件
-
宿主机端监视控制软件负责处理用户的监视控制操作,同时接收来自目标机端的监视数据并保存到文件中,具体功能如下:
-
(1) 采用满足可扩展、可配置的高性能开放式通信协议规范;
-
(2) 支持监视配置控制和系统状态控制;
-
(3) 数据仓库,收集监控数据信息加以记录存储;
-
(4) 数据接口,提供静态数据和实时数据的接口。
-
4.3 宿主机端监视数据查看软件
-
宿主机端监视数据查看软件负责监控数据的呈现,以图形方式显示从目标机端接收的数据。用户可通过宿主机端监视数据查看软件观测详细数据,如图4所示。
-
图4显示的是分区模块监控界面。顶部显示当前时间和系统时间余量;左侧显示一段时间内各个分区的轮转情况和用户选择的分区中模块的轮转情况;右侧绿灯代表当前时间片轮转到的分区和模块。在上图中,当前时间片轮转至分区1中的模块1,系统时间余量为3ms。分区号对应关系如图5所示,模块号对应关系如图6所示。
-
图4 分区模块监控界面
-
图5 轮转分区号对应关系
-
图6 轮转模块号对应关系
-
用户可通过点击图4界面中右侧的分区号进入函数监控界面,如图7所示。顶部显示当前时间和当前分区;上半部分任务监控图中右侧红色曲线为任务调度表中设置的任务运行周期(预分值),蓝色曲线为任务当前执行周期内的实际执行时间(当前值),左侧显示任务在运行过程中最短一次的执行时间(最小值)、最长一次的执行时间(最大值)和任务执行一次的平均时间(平均值);下半部分函数监控图中,用户可在下拉菜单中选择关注的函数,左侧黄色曲线显示当前函数的实际执行时间(当前值)和被调用的次数(调用次数),右侧显示函数在运行过程中最短一次的执行时间(最小值)、最长一次的执行时间(最大值)和函数执行一次的平均时间(平均值)。
-
图7 函数监控界面
-
5 结论
-
本文首先介绍了IMA系统的分区特性,其次根据插桩技术提出了一种资源状态监控数据采集技术,并设计了实现方案,可以指导系统综合者和应用开发者不断优化系统应用的部署策略,达到系统的计算资源的负载均衡。
-
参考文献
-
[1] RTCA.DO-297 Integrated Modular Avionics(IMA)Development Guidance and Certification Consideration[S].Washington,DC:RTCA Inc,2005.
-
[2] RTCA.DO-178 Software Certification in Airborne Systems and Equipment Consideration[S].Washington,DC:RTCA Inc,1992.
-
[3] Avionics Application Software standard Interface part 1-required Services.Arinc Specification 653 P1-4.2015.
-
[4] Avionics Application Software standard Interface part 2-extended Services.Arinc Specification 653 P2-3.2015.
-
[5] 周烨斐,刘艳涛.民用飞机综合模块化航电系统分区和资源分配的研究[J].民用飞机设计与研究,2014(03):88-91.
-
[6] 褚文奎,张凤鸣,樊晓光.综合模块化航空电子系统软件体系结构综述[J].航空学报,2009,30(10):1912-1917.
-
[7] 陈晓磊.IMA系统中基于时间调度表的优先级辅助分区调度机制研究[J].计算机光盘软件与应用,2014,17(9):37-38,42.
-
[8] 张明,周琳.基于VxWorks653分区操作系统的IMA设计与实现[J].火力与指挥控制,2014,39(4):145-148.
-
[9] 王子鹏,张树东,任仲山,等.基于性能分析的自适应插桩框架[J].计算机测量与控制,2018,26(9):232-241.
-
[10] 李鹤枫,郝玉锴,贾鑫,等.基于AFDX总线的飞机状态监控模块设计[J].计算机测量与控制,2015,23(8):2739-2741.
-
摘要
随着处理器和机载嵌入式实时分区操作系统等相关技术的不断升级换代,IMA系统功能的集成度也越来越高,高集成度增加了系统资源分配的难度,需要通过对系统资源状态进行实时监控和分析进而不断优化系统配置。首先对IMA系统的分区特性进行了深入研究,基于探针插桩监控数据采集技术,提出了一种系统行为和时间资源状态监控的策略。研究了数据监控采集系统的软件架构,在此基础上设计和实现了系统行为监视器和时间资源监视器,并在某民机重点预研课题中进行了应用验证。结果表明,能够有效帮助应用开发者和系统综合者直观分析系统时间性能瓶颈,优化资源配置方案,实现计算资源的负载均衡。对IMA系统资源状态监控及资源配置优化具有一定的指导意义和实用价值。
Abstract
Integrated modular avionics(IMA) system is widely utilized in the field of civil aircraft airborne avionics system, which is the trend in the aviation field. With the continuous innovation of the technology, the integration degree of IMA system functions is getting higher and higher. It can not only lead to more difficulties of resource allocation, but also bring challenges to the security of the system. This paper does the detailed research on the partition characteristics of IMA system and proposes a systematic behaviour and a strategy of time resource monitoring on the basis of data acquisition technology of probe instrumentation monitoring. In addition, the system architecture of data monitoring and acquisition technology was presented in this paper, which system resource monitor and time resource monitor were designed on the basis. When it comes to the implementation of resource status monitoring, the function and orientation of target and host terminal monitoring and control softwarewere clarified. In the meanwhile, the solution how to view monitoring data by software is also given in this paper. This paper has a certain guiding significance and practical value for IMA system resource status monitoring and resource allocation optimization.
关键词
综合模块化航电系统(IMA) ; 资源状态 ; 系统行为 ; 时间资源 ; 性能分析
Keywords
IMA ; resource status ; system behavior ; time resources ; performance analysis