论文部分内容阅读
多学科虚拟实验支撑平台(VeePalms)是一个采用Modelica语言实现的统一仿真建模平台,其前后台交互仿真机制是基于Modelica仿真求解器OMC(OpenModelicaCompiler)实现的。为了保证任务交互仿真的高效性、可靠性和高可用性,设计并实现了VeePalms的仿真任务流监控系统。该监控系统主要通过对仿真任务的监测和仿真任务的在线迁移,以及对基于OMC的模型编译流程的优化,加强了监控系统对事件的处理能力。仿真任务的监测主要分为监控数据的采集、分析以及监控数据的聚合这三个方面。首先通过在VeePalms前后台交互仿真的流程中设置监控点,实时采集仿真任务的任务号、任务分配的位置、编译求解状况、计算节点的负载和运行状态等监控数据,然后依次对这些监控数据进行分析和聚合。监控数据聚合通过构建聚合树,以尽可能降低聚合过程对集群的负载所造成的影响。如果在监控数据分析过程中检测到有仿真任务出现异常,系统则对异常任务实施在线迁移。仿真任务的在线迁移机制结合了Modelica仿真任务的求解计算的特点,使用Modelica模型文件编译生成的中间文件重建仿真进程,降低了通信代价和恢复时间;同时利用其每个仿真步长求解计算生成的结果数据做checkpoint,避免了大量的重复计算。此外,系统还对基于OMC的模型编译流程进行了优化,实现了仿真任务间的资源共享,从而降低了任务的平均响应时间。实验表明,在实现仿真任务间的资源共享后,并发任务的平均响应时间降低了20%以上;而基于Modelica改进的仿真任务在线迁移模块,使得失效或者异常的任务的平均恢复时间降低了50%左右。