在高性能计算环境中对多种设计方案进行仿真

作者:本网编辑 文章来源:MathWorks公司 发布时间:2012-02-15
分享到


图1  用于该案例研究的低保真度Simulink车辆模型包括发动机、变速器、车辆动态性能和传动控制组件

对于使用基于模型设计的成功企业来说,仿真是一种核心使能技术。通过对多种方案进行软件模型仿真,工程师们可以在开发流程早期和系统物理原型可用之前探索创新设计并深入研究系统行为。

通过对多种方案进行软件模型仿真使工程师们能够高效而经济地开发复杂的嵌入式系统。运行多次仿真的能力还可以帮助企业使用诸如设计优化、设计探索、健壮性研究、Monte Carlo研究、参数扫描和误码率(BER)计算等多种技术,来实现质量和健壮性的目标。

根据模型的复杂度、需要完成的仿真数量和任务频率的不同,仿真时间可能会成为开发流程的关键瓶颈。一种可利用当今多核桌面和多用途COTS集群中实际可用计算能力的方法可以克服这一限制因素。本文中的案例研究探讨了通过MATLAB和Simulink使用基于模型的设计在高性能计算环境中对多种设计方案进行仿真。它说明了这种方法如何提升效能、生成更加强大的设计以及缩短开发流程。

案例研究:研究空气动力对车辆性能的影响

空气阻力会显著地降低车辆的燃油效能。通常,车体设计是一个迭代过程,在这一过程中需要做出性能与车身造型间的权衡。开发流程的迭代本质会在所有开发阶段对工程师的工作产生影响。在初始阶段,动力控制工程师可能对具体的车辆空气动力参数缺乏了解。为了克服这一不确定性,他们可以使用控制系统的可执行规范和车辆模型来对参数值范围进行仿真研究。这使得他们能够针对多种车身几何变化评估其设计的健壮性。这类研究的结果对于管理层极其重要,因为他们会在平衡性能与燃油经济性需求的同时对车辆造型做出最后决定。


图2  Parallel Computing Toolbox使仿真能够在多核或多处理器计算机上使用多达8个本地工作站

图1展示了一种在Simulink中构建的低保真度汽车模型。在固定的行驶工况中,将针对一组从0.2(流线型电动概念车的典型值)到0.6(大型货车的典型值)变化的阻力系数,对车速进行仿真和研究。

直观地说,通过将空气阻力系数仿真为0.2、0.3等,就可以进行这种参数扫描。但是,这样会有失去潜在备选设计的风险,因为只要有2%的空气阻力变化,就会影响高达1%的燃油经济性。此外,工程师还要评估所有参数变化的性能健壮性。为了解决这一问题,必须以更好的间隔来进行这项研究。具体而言,空气阻力以0.4%的增幅从0.2~0.6逐步增加,产生512种设计方案,并提供一个足够大的数据集来确保对最终车辆设计的信心。由于使用了低保真度模型,在单核计算机上对一个跨度为1000s的行驶工况进行仿真平均只需要不到2s的时间。但是,由于这项研究需要进行512次仿真,因此在同一计算机上依次完成所有仿真总共需要大约730 s,也就是超过12 min。对于更真实、更高保真度的模型,运行其中的每次仿真都需要10~15 min,完成这项研究就需要4天时间。

因为仿真情景相互独立,因此它们可以在多个处理器内核上同时执行。Parallel Computing Toolbox提供了一种可扩展的解决方案,通过在多核和多处理器计算机上对计算型和数据密集型问题进行分配来将其解决(如图2所示),在使用MATLAB Distributed Computing Server时,可以在计算机集群或网格以及云计算服务上使用任何数量的工作站来运行应用程序仿真。使用PARFOR命令后,一种直观的高级别结构可协同Simulink API的函数对FOR循环进行并行化,工程师们可以构建一个MATLAB脚本来自动执行该流程。工程师因此节约了时间,因为他们可以在MATLAB中对此进行程序设计,而无需使用复杂的集群软件。


图3  从0.2(蓝色)变化到0.6(绿色)的空气阻力系数的给定行驶工况车速廓线显示,阻力的最大影响发生在巡航阶段

本案例研究的执行使用计算机集群,包含16台四核计算机,共64个处理器内核。改变可用内核的数量来评估其对整体评估时间的影响。对于双核设置,完成仿真的用时为大约380 s。因此产生的1.9倍加速比接近于两倍加速比的最佳结果。不同空气阻力值下的标准行驶工况车速图如图3所示。该图显示了用于此设计的自动传动控制器的某些特别属性。在巡航阶段,由于阻力变化而产生的车速性能最高降幅为大约10 mie/h(16 km/h)(如图3右侧所示)。阻力在加速阶段期间并不会产生太大的影响,而制动阶段事实上得益于额外的阻力。这些结果表明,控制器设计对于随着速度廓线的平稳变化而变化的空气阻力而言足够健壮。

4个、8个、12个、16个、24个、32个、40个、48个、56个以及64个内核上的仿真时间显示在图4中,其中完成512次仿真的总时间显示于左轴,而相比基线串行运行的最终加速显示于右轴。

该趋势表明,加速提升随集群中所用的处理器数量的增加而几乎呈线性升高。相反,仿真时间与处理器的数量呈反比关系。随着处理器数量的增加,在处理器上分配数据和工作的开销会将性能提升限制为不完美的线性加速。例如,使用64个内核时,加速比为42倍而非64倍。


图4  随着所用处理器内核数量的变化,加速比几乎呈线性增加

使用高性能计算环境探究更好的设计

在本案例研究中,通过对多种设计方案进行仿真证明了各种设计的健壮性。使用这种方法时,高保真度模型和大型参数集会在开发流程中造成瓶颈。通过利用高性能计算环境,仿真时间可以随着处理器内核数量增加到64个而缩短40倍。具体而言,一个在单个处理器上原本需要4天时间完成的仿真在集群上可以在2.5 h内完成。应用这些技术便可以最少的工程投入来消除有关针对设计优化、设计探索、健壮性研究、Monte Carlo研究、参数扫描和BER计算运行的多次仿真的瓶颈。

收藏
赞一下
0