论文部分内容阅读
近些年歼-10战斗机、FAST射电望远镜等新型大型装备的快速发展,依赖大量试验数据的深度分析。传统的试验数据处理主要依靠专家经验与计算机工具辅助处理,在处理中多依赖单一计算引擎,在面对当前单次试验持续时间短、试验数据形式和处理流程多变的情况时,自动化程度不高,处理效率低下,已经不能满足未来新型大型装备发展的需要。 为了解决单一计算引擎无法应对试验处理现状,出现了人工管理、“超级”引擎、多计算引擎平台三种解决思路,其中人工管理多种引擎效率低下,统一各类处理方式的“超级”引擎研制困难,难以短时间内满足试验数据处理需求,故集成多计算引擎的平台是当前权衡效率和可行性的解决方案。 设计和实现一个多计算引擎平台存在两方面挑战: 多计算引擎集成共存问题:计算引擎间运行环境相互干扰、资源相互抢占,难以运行在同一系统中;不同计算引擎间任务管理方式差异较大,难以对任务进行统一管理;新计算引擎层出不穷,但扩展新引擎时代价较大。 多计算引擎选择优化问题:一方面,不同计算引擎均有其最适合执行的计算任务,如何根据计算任务特性选择效率最优的计算引擎,减少任务执行时间;另一方面在计算引擎配置发生变化时,如何快速修改选择算法,使其适应新的计算引擎配置。 针对上述挑战,本文从多计算引擎集成共存和多计算引擎选择优化两个方面对提高试验数据处理效率进行研究,最后结合符合真实情况的试验数据处理需求,实现了一个面向试验数据处理的多计算引擎平台,论文的主要贡献为: (1)提出了一种基于容器技术的多计算引擎统一管理机制 为了解决多计算引擎集成共存问题,首先设计实现了基于容器技术的多计算引擎共存策略,将计算引擎封装于容器之中,达到引擎运行资源与环境相互独立的目的。随后基于此研究了计算任务统一管理方法,结合计算任务要素分析与通用启动引导流程,将不同计算任务运行在容器之中,屏蔽了不同计算引擎的任务管理差异。最后针对新引擎扩展问题,研究了支持自动封装的计算引擎扩展方法,提高了新计算引擎的添加效率。通过可行性实验,平台具备了引擎独立运行、环境隔离及资源控制三个特性。同时平台已使用三种计算引擎执行计算任务近万次,引擎运行稳定,任务执行正确,验证了平台的稳定性。 (2)提出了一种基于任务执行时间预测多计算引擎选择优化算法 针对多计算引擎选择优化问题,本文首先对计算任务执行时间稳定性进行分析,得出了算法因素和数据因素是时间不稳定的两种可能原因,并设计实验验证了本文中计算任务符合稳定性要求,可以应用于计算任务执行时间预测模型。随后基于计算任务执行时间预测,提出了一种多计算引擎选择优化算法。算法通过在引擎上执行事先准备的计算任务需求,收集计算引擎特性数据,并以此生成任务执行时间预测模型。之后在执行新的计算任务时,通过此模型选择效率最优的计算引擎。经算法性能实验,使用本算法后任务执行时间相比于随机选择减少约88%,同时仅相比于理论最优值增加约2%。 (3)设计和实现了面向试验数据处理的多计算引擎平台 结合试验数据处理需求,设计和实现了面向试验数据处理的多计算引擎平台,为用户提供了可视化的计算任务管理、计算算法管理和计算引擎管理等功能。平台支持基于Web页面的计算算法在线调试功能,用户不必配置本地调试环境,可随时随地调试计算算法;为应对快速变化的试验处理流程,平台支持基于有向无环图的可视化计算任务编排,用户可以直观的查看计算任务间的执行流程,提高任务编排效率。目前该平台已应用于实际场景之中,为试验数据处理任务提供支撑。