【深度】一种跨平台敏捷式动态可重构系统架构研究(下)关键技术与工程效果
今日荐文的作者为中国电子科技集团公司第二十九研究所专家臧维明,华骅,赖炳宇,邓文。本篇节选自论文《一种跨平台敏捷式动态可重构系统架构研究》,发表于《中国电子科学研究院学报》第12卷第3期。本文为论文的后半部分。
摘 要:嵌入式系统的发展趋势是开放式跨平台,敏捷式重构,分布式协同,系统资源自适应适配等,而当前嵌入式系统架构解决方案普遍存在着功能相对固化,系统业务流程难以灵活重构,缺乏对多类型平台的适应能力等问题,无法匹配日益复杂的系统需求变化。因此本文提出了一种跨平台敏捷式动态可重构系统架构,该架构能够屏蔽硬件平台差异,提供高效的数据通信机制,具备硬件感知和组件动态重构能力,以及模块化图形化的系统配置能力。本文深入讨论了该架构的工作原理和关键技术,并在PowerPC, ARM, DSP等多种嵌入式处理平台上进行了工程应用验证。
关键词: 跨平台;敏捷式;动态可重构;系统架构研究
【深度】一种跨平台敏捷式动态可重构系统架构研究(上)架构技术及原理解析
1.现有架构技术分析
1.1 大数据处理架构
1.2 软件通信体系架构
2. 架构工作原理
3 关键技术
3.1 系统资源的协同适配技术
当前分布式并行处理技术都是把多个物理机器看作一样平等的实体,每一个运行相同的程序。本架构区分每一个物理机器,可以通过配置在不同物理机器上运行不同的软件组件,通过这些软件组件的协作完成某种系统功能。整个系统中物理机器以系统资源视图的方式提供给用户,架构能够感知物理机器上运行的操作系统、物理内存和CPU参数等信息,使得用户可以根据需要安排运行其上的软件组件。
在系统运行过程中架构还持续采集内存使用量、CPU使用率等各种参数,使得用户可以对当前运行环境情况有全面整体的把握。架构通过采集和统计每一个物理机器上组件运行的时间和效率,可以对机器的计算能力和组件的资源占用量(包括内存资源和计算资源)有定量的估计,这些定量估计会持续记录在架构之中。组件设计人员也可以预先对组件需要的资源进行说明,架构通过组件配置文件记录这些说明,当系统运行时架构分析组件的资源要求和物理机器的计算能力,得到最佳的组件配置方式,提示用户参考。
3.2 跨平台高效数据交互技术
架构的操作系统抽象层屏蔽了Windows、Linux、VxWorks等平台的差异,使得运行在其上的软件可以以一份统一的代码展现出来。包括对上述各种操作系统的进程、线程(task)、异步管理、网络操作、路径和文件操作以统一的接口调用,并提供跨平台的XML操作、自动大小端转换和序列化功能。
采用基于二进制的高效率序列化和反序列化技术,数据序列化时自动消除冗余长度,有效节约传输带宽。序列化和反序列化功能能够根据所处硬件平台自动判断字节序情况,在后台完成各种数据类型的大小端转换,使得功能组件开发人员从繁琐、复杂的字节序转换中施放出来,关注于数据本身。
对序列化后的数据采用消息队列技术完成通信,与传统消息队列管理系统不同,系统不需要独立部署任何服务进程,架构内部没有采用一个消息服务器(Broker)来存储转发消息,而是直接在发送端缓存,避免了单点失效和传输延迟问题。使用Reactor模式与不同操作系统平台的I/O模型进行通信,以达到高效率的多路I/O性能。
架构对多种通信方式进行了抽象,提供点对点双向通信、询问回答通信和一对多通信(即订阅发布通信)。基于这些通信方式,架构上层软件可以方便的选择需要的通信方式完成底层通信,不需要再考虑心跳、重连或者动态断开与加入等底层细节问题。
3.3 系统智能动态重构技术
架构可以通过系统的智能平台管理接口(IPMI)主动获取当前硬件设备的健康状况,知晓设备温度、是否掉电崩溃等情况,并通过分布式的冗余特点达到动态重构,持续提供服务的能力。本架构通过实现自动部署、组件动态启停和数据通信链路动态修改技术完成系统功能的动态重构。
架构通过内部实现的ftp服务器和ftp客户端完成组件在Windows和Linux操作系统上的自动部署,由于VxWorks操作系统自带ftp服务器端,架构直接使用内部实现的ftp客户端与之通信,完成组件的部署。在系统启动时全部的部署操作由域管理触发,需要运行的组件通过ftp传输到对应的物理平台上;在运行期间,架构感知到某台硬件设备宕机时它会触发域管理器选择一台可以使用的硬件平台,然后在组件库中把宕机类型的组件传输到那里,并动态启动。
组件动态启停技术在Windows和Linux操作系统中通过平台无关抽象层提供的进程封装抽象实现,每一个组件即为一个进程;在VxWorks操作系统中通过平台无关抽象层的动态库加载和线程抽象实现。架构使用统一的接口在VxWorks操作系统下加载组件到系统内存中,再找到程序入口点,然后通过程序入口启动组件成为一个task,至此完成组件在VxWorks操作系统下的动态启动。
经过动态重构后的系统需要关闭其它组件与宕机组件的数据连接,并对新启动的组件建立数据连接。这是基于架构提供的跨平台数据交互技术完成的。
3.4 敏捷的系统模型开发技术
在复杂的系统中往往会把系统功能分解成多个组件,并通过组件之间数据交互协作完成整体功能。在本架构的集成和部署环境中,功能组件以模块化的形式显示给用户,用户使用鼠标拖动定义组件之间的数据传输路径和方向。与传统的图形化配置功能相比,本架构还把硬件资源也以图形化模块的形式提供给用户选择,并且组件模块必须依附于某个硬件资源模块之上,用以表明选择特定硬件平台运行此组件。通过图形化配置完成系统设定后生成XML格式的配置文件,架构读取此配置文件完成分布式环境下组件的加载、连接和运行。集成和部署配置用户界面见图5所示。
架构的核心支撑框架与集成和部署环境的图形化界面松耦合,图形化配置功能不仅可以使用Qt进行桌面软件实现,也可以使用Web技术实现,避免用户安装任何客户端软件。
图5 敏捷式的系统集成与部署配置方式
4 与软件通信体系架构对比
本文架构与软件通信体系架构对比,类似之处在于:
1) 本架构与软件通信体系架构(SCA)都采用了管道过滤器模式,这与嵌入式系统的特点有紧密关系。但是两者在实现方式上有较大区别。
2) 本架构采用与SCA基本兼容的配置文件格式。
差异之处在于:
1) 架构自身管理的方式不同。SCA内部各部分交互依赖于CORBA,本架构自身管理与控制是通过轻量级的远程方法调用(RPC)完成的。
2) 业务组件之间的数据通信方式不同。SCA的业务单元之间数据交互也是由CORBA完成的,往往效率较低;本架构的业务组件之间数据通信时通过消息队列技术完成的,效率很高。
3) 对组件的层级设计不同。SCA在每一个硬件平台上有Device Manager,其下可以管理多个Device,每一个Device下有一个或者多个Component,一共是三层关系。本架构采用一个硬件平台一个节点管理器,其下管理多个功能组件的两层结构,其中FPGA可以理解为一种特殊的功能组件。这样的结构使得硬件平台和在其上运行的组件之间的对应关系更加清晰。
4) 对组件的管理能力不同。SCA仅定义了对整个系统的启动和停止操作,不能单独控制某一个组件的启停,本架构实现了单个组件的精细控制,使得动态重构和迁移成为可能。
5) SCA标准没有定义状态监控相关内容,本架构内部实现了硬件资源状态监控和组件运行状态监控功能。
6) SCA标准没有定义组件部署相关内容,大多数SCA实现的厂商使用集成开发环境(IDE)完成组件的部署,部署方式各不相同。本架构内建部署相关流程,在不借助任何外部工具的情况下能够完成组件在分布式环境中的部署操作,使得在系统运行期间动态部署某些组件成为可能。
5 工程应用与效果评价
5.1 工程应用与验证
在某监控系统的工程应用中,利用本文架构在存在ARM、PowerPC和DSP几种硬件平台的系统环境下,分别定义了两种不同的系统处理流程,形成了不同的系统能力,满足了工程应用的实际需要。在系统概念验证与初样阶段,通过分析系统功能、性能需求,完成组件功能划分和串并处理流程的定义,搭建了具有完整功能的系统,其基础业务模型如图6所示。
图6 某监控系统基础业务模型
在实际应用环境中安装有一对高分辨率摄像头,用户也对系统能力提出了更高的要求。得益于本文架构提供的“算法可加载、规则可配置、流程可定义”的能力,在原有基础业务模型的状态下,对软件功能组件进行替换,对流程进行编排,快速开发出了业务扩展模型,如图7所示。在图形采集与预处理PowerPC机器上增加图像分块组件,把高分辨率图像分解为多个子图,并增加一个并行处理计算单元,提高系统处理吞吐量,获得更好的实时监控效果。配置第二台采集与预处理机器,获取另一个摄像头采集的数据。利用双摄像头的优势,增加了双目景深计算组件,使得系统对监控环境中的位置信息有更精确的理解。最后替换告警判断算法,加入距离和物体的关联信息,综合判断降低虚警率。
图7某监控系统业务扩展模型
5.2 效果评价
在此监控系统的工程应用中,系统设计者可以方便的选择不同的图像增强预处理算法、分类器算法和告警判断算法,评估算法运行效果;系统运行期间,系统维护者可以使用新算法动态替换已有算法,立即提升功能和效果。每种组件有明确的数据输入和结果输出接口,使组件开发人员从系统流程和底层硬件的复杂度中解放出来,专注于业务功能的开发。通过功能组件的配合使用,自由定义各种运行规则,并与特定硬件解耦,本架构保证了该工程应用的高质高效完成。
对比原有系统开发流程和架构,使用本文架构进行开发的项目缩短了研发周期,显著增加了代码复用度,极大降低了测试工作量,进而提升了产品质量。
6. 结语
本文分析了当前一些分布式架构的特点和问题,根据系统研发的实际需要,提出并实现了一种跨平台敏捷式动态可重构系统架构,通过在PowerPC, ARM, DSP等多种硬件平台组成的系统中进行工程验证,表明此架构解决了复杂系统环境下,系统开发困难、灵活性差、处理流程和功能固化等问题。
(本文完结,参考文献略)
《 召 集 令 》
身怀学术绝技的你速速前来!
1,有学术水准:一定的专业学术水准是必须的!
2,有独到思想:具深度,广度,锐度者为最佳!
3,内容范畴:自然科学,社会科学等等不设限!
4,资讯或翻译类文章:符合上述条件的均可以。
学术plus咨询/投稿邮箱
xueshuplus@163.com
声明:版权归《中国电子科学研究院学报》所有。转载请务必注明出处,违者必究。文章观点不代表本机构立场。
《中国电子科学研究院学报》欢迎各位专家、学者赐稿!投稿链接 http://kjpl.cbpt.cnki.net
电话:010-68893411
邮箱:dkyxuebao@vip.126.com
数据链中消息标准的标准化研究(下)美军数据链消息标准的管理以及对我军的启示
基于半实物平台的战场复杂电磁环境信号生成与实现:信号构成与实现方法
基于半实物平台的战场复杂电磁环境信号生成与实现: 信号生成方法与综合建模技术
美智库发布《首次打击——中国对美国在亚洲多个军事基地的导弹威胁》