汽车碰撞过程的计算负载均衡并行有限元技术
2017-07-13张迎军吴沈荣施欲亮涂金刚
张迎军++吴沈荣++施欲亮++涂金刚++李文平
摘要: 为了在有限的计算资源下挖掘更高的汽车碰撞仿真计算效率,基于当前普遍采用的并行处理区域分解算法,结合一个典型碰撞案例分析可知,汽车碰撞模型计算过程中的主要时间开销与结构大变形相关.提出基于坐标递归对分(Recursive Coordinate Bisection,RCB)的计算负载均衡区域分解算法,并将此法应用于某整车碰撞仿真模型的3类典型工况.计算结果表明此法能将并行计算效率提高10%~24%.
关键词:
汽车碰撞仿真; 并行计算; 区域分解; 计算负载均衡; 坐标递归对分; 计算效率
中图分类号: U462
文献标志码: B
0 引 言
在汽车被动安全研究领域中,计算机仿真是经济、有效的方法.汽车整车碰撞过程仿真是典型的大变形条件下的大规模冲击大变形计算,涉及高度的几何非线性、材料非线性和边界条件非线性等问题.为确保仿真计算结果有足够的精度,汽车整车有限元模型的单元数量一般以百万计,甚至达到千万级别.[1]得益于计算机软硬件的飞速发展,人们普遍采用大规模并行系统(Massively Parallel Processors,MPP)求解此类大规模动态非线性问题.因此,适合于MPP并行计算机的非线性有限元结构分析的并行求解技术引起高度重视,其中,基于区域分解算法的并行有限元法是当前并行计算最活跃的研究和应用领域之一.[29]
本文简要介绍基于区域分解算法的并行有限元法,分析并行计算区域分解算法的主要时间开销,提出基于坐标递归对分(Recursive Coordinate Bisection,RCB)的负载均衡区域分解算法[1011],最后将此法应用于某整车碰撞仿真模型,探讨前部正面刚性墙碰撞、正面40%偏置碰撞以及可变形移动壁障侧面碰撞等3种工况下提高并行计算效率的可能性.
1 基于区域分解算法的并行计算技术
1.1 基于区域分解的显式并行有限元法
汽车碰撞过程的计算机仿真一般采用显式有限元求解,其基本流程[12]如下.
在MPP平台上实现以上计算流程.对于汽车碰撞这类大规模的仿真问题,目前最常采用的方法是区域分解算法.
区域分解算法是将一个复杂大系统,按照一定的规则,分解成与参加计算处理器的数目相等的子系统,各处理器承担各自子系统内的计算负荷,并通过交互机制(例如MPI方式)进行数据通信和数据交换.理论分析和实际计算[912]均已表明区域分解算法能够为大规模问题提供高度并行的、可扩展的鲁棒算法.
1.2 并行计算区域分解算法的主要时间开销
对于某个计算模型,采用并行计算时,其执行时间tP的计算公式[13]为
式中:tPa为并行部分的执行时间,通常为各个处理单元执行并行部分所耗时间的最大值;ti/o为输入/输出所耗费的时间,输入和输出部分通常都由单机完成[9];tc为通信所耗费的时间,即通信开销.
加速比SP和并行效率η的计算公式分别定义为
式中:ts为单个处理单元计算该模型所耗费的时间;N为并行计算时所用的处理单元总数.
在采用区域分解的并行计算中,需要预先给每个处理单元分配相应的计算任务.分析式(6)和(7)可知,要提高加速比和并行效率,就要设法减小并行部分的执行时间tPa和通信开销tc,
式中:m为消息长度;n为处理器数目;t0(n)为启动时间,取决于具体的硬件系统;tc(n)为每字节通信时间,依赖于具体的计算平台.
因此,区域分解有以下3个原则[3,9]:
(1)各个子系统的计算负载大致平衡,以减少并行部分的执行时间tPa.
(2)最大相邻的处理单元数尽可能小,以减少通信次数.
(3)分子系统之间的边界节点数量尽可能小,以减少单次通信量.
区域分解的核心是静态负载均衡问题,系统的分解优劣关系到并行求解的效率.模拟过程中的动态负载(如接触力)均衡则更是不可或缺,盡量使各处理单元有平衡的负载,才能实现高加速比和高并行效率的并行计算.
RCB算法作为一种静态负载均衡算法[810],可以使各个子系统的单元数量大致相等,其默认子系统分解见图1.由于该方法只考虑有限元模型的静态几何信息而未考虑模型在整个碰撞时域内实际载荷的动态分布,对于汽车碰撞这类大规模冲击大变形问题,默认子系统分解方式不能有效保证各处理单元计算负载均衡,所以并不是最理想的区域分解方案.
汽车碰撞模型计算过程中的时间开销分布情况见表1.整个模型时耗的90%以上都花费在单元处理和接触计算上,即第1.1节描述的第(2)和第(5)步.耗时多的计算都与结构大变形有关.
为此,本文探讨在保证各处理单元间单元数量平衡的基础上,通过均匀分布大变形的区域分解方案实现各处理单元间的负载均衡,从而提高并行计算效率的可能性.
2 基于RCB的负载均衡区域分解算法
基于RCB,结合奇瑞汽车工程研究总院高性能计算服务器的共享内存体系结构,设计负载均衡的区域分解算法(Computational Load Balance Based Domain Decomposition Algorithms,CLB),其基本原理[4,9]如下:
(1)找出大变形定义中的所有单元及其相邻单元;
(2)根据参与计算的处理单元数目将大变形定义中的单元均分,并划定区域边界;
(3)根据区域边界进行区域分解,复制区域边界的节点,分布到对应的区域中;
(4)将模型中非大变形单元按照几何坐标分布到对应区域中,直到满足分割收敛条件,即子区域数与所用处理单元的数目相等;
(5)输出分区结果.
根据以上原理,采用脚本语言pfile[14]和MPI消息传递函数库开发大变形负载均衡分区程序,该程序可以读入有限元网格,并进行网格的初始化分区,分区结果由显式有限元求解器LSDYNA[1415]读入,并将各分区一一分配给各处理单元进行计算,从而实现汽车碰撞仿真问题的并行计算.
3 实例应用
将CLB方法应用于某整车碰撞仿真分析,该整车有限元模型见图2,共计约93万个单元,其详细信息见表2.
针对前部正面刚性墙碰撞、正面40%偏置碰撞以及可变形移动壁障侧面碰撞等3种工况,设计不同的分区方案.
3.1 前部正面刚性墙碰撞
该整车有限元模型及其采用32个处理单元的分区结果见图2,碰撞总时间为90 ms,计算迭代总步数为 100 001步,计算结果见图3.
3.2 正面40%偏置碰撞
正面40%偏置碰撞工况下,该整车有限元模型及其采用32个处理单元的分区结果见图5;碰撞总时间为120 ms,计算迭代总步数为133 334步,计算结果见图6.
默认RCB分区方法和CLB方法在不同处理单元数目下的计算时耗、加速比及并行效率分见表4和图7.同第3.1节,正面40%偏置碰撞并行计算的效率分析以8个处理单元为基准.
3.3 可变形移动壁障侧面碰撞
在可变形移动壁障侧面碰撞工况下,该整车有
限元模型及其采用32个处理单元的分区结果见图8,碰撞总时间为80 ms,计算迭代总步数为步,计算结果见图9.
默认RCB分区方法和CLB方法在不同处理单元数目下的计算时耗、加速比及并行效率分别见表5和图10.同第3.1节,可变形移动壁障侧面碰撞并行计算的效率分析以8个处理单元为基准.
4 结果分析
对于整车碰撞3种工况下的并行仿真算例,由
表3~5及图4,7和10可知,隨着处理单元数目的增加,采用2种区域分解算法都能大幅减少计算时间.相对于默认的RCB方法,基于CLB根据汽车碰撞各工况的特性设计的分区方法具有更好的并行计算表现.
相对于默认的RCB方法,CLB分区方法能使总的计算时间减少10%~24%.
5 结 论
根据显式有限元的计算主要是在单元中进行,而且计算时间大多花在单元和接触计算上的特点,考虑所用的高性能计算服务器的体系结构、内存大小和信息传递方式等,设计基于信息传递和负载均衡的动态显式有限元的并行区域分解算法.算例计算结果表明,这种方法可以比软件默认的算法的加速比和并行效率更高,总的计算时间可以减少10%~24%.
参考文献:
[1] MACRI D, SANDAHL A, JERGEUS J, et al. Crash cae in the all new volvo XC90 and SPA platform[R]. Sweden: 6th BETA CAE International Conference, 2015.
[2] ROH Y S. Scaling study of LSDYNA MPP on high performance servers[C]// Proceedings of 6th International LSDYNA Users Conference. Michigan, 2000: 2534.
[3] 曹银锋, 李光耀, 钟志华. 汽车碰撞过程并行有限元仿真技术[J]. 机械工程学报, 2005, 41(2): 153157. DOI: 10.3321/j.issn:05776686.2005.02.030.
CAO Y F, LI G Y, ZHONG Z H. Parallel explicit finite element simulation of vehicle collision[J]. Chinest Journal of Mechnical Engineering, 2005, 41(2): 153157. DOI: 10.3321/j.issn:05776686.2005.02.030.
[4] 亓文果, 金先龙, 张晓云. 冲击接触问题有限元仿真并行计算[J]. 冲击与振动, 2006, 25(4): 6871. DOI: 10.3969/j.issn.10003835.2006.04.018.
QI W G, JIN X L, ZHANG X Y. Study on parallel algorithm for finite element simulation of contactimpact problems[J]. Journal of Vibration and Shock, 2006, 25(4): 6871. DOI: 10.3969/j.issn.10003835.2006.04.018
[5] 亓文果, 金先龙, 张晓云, 等. 汽车碰撞有限元仿真的并行计算及其性能研究[J]. 系统仿真学报, 2004, 16(11): 24282431. DOI: 10.3969/j.issn.1004731X.2004.11.016.
QI W G, JIN X L, ZHANG X Y, et al. Finite element simulation and performance study of vehicle crash based on parallel computing[J].Journal of System Simulation, 2004, 16(11): 24282431. DOI: 10.3969/j.issn.1004731X.2004.11.016.
[6] 陈向东. 轻轨车辆与斜拉桥动态耦合系统的数值模拟方法及应用[D]. 上海: 上海交通大学, 2009.
[7] 杜新光. 轨道车辆——结构动态耦合系统的数值模拟方法及应用[D]. 上海: 上海交通大学, 2010.
[8] 郭毅之, 金先龙. 大型结构动力响应的区域分解并行计算技术[J]. 高性能计算发展与应用, 2007(1): 3237.
GUO Y Z, JIN X L. Domain decomposition parallel computing technology for Large scale structure dynamic response[J]. Development and Application of High Performance Computing, 2007(1): 3237.
[9] 王福军. 冲击接触问题有限元法并行计算及其工程应用[D]. 北京: 清华大学, 2000.
[10] BERGER M, BOKHARI S. A partitioning strategy for nonuniform problems on multiprocessors[J]. IEEE Transaction on Computers, 1987, 36(50): 570580.
[11] HENDRICKSON B, PLIMPTON S. Tinkertoy parallel programming: complicated applications from simple tools[C]// Proceedings of 10th SIAM parallel processing for scientific computing conference. SIAM: Philadephia, 2007
[12] WU S R. A variational principle for dynamic contact with large deformation[J]. Computer Method in Applied Mechanics Engineering, 2009, 198(1): 20092015.
[13] MUKADDES A M M, SHIOY R. Parallel performance of domain decomposition method on distributed computing environment[J]. International Journal of Engineering and Technology, 2010, 2(1): 2834.
[14] LSDYNA keyword users manual[Z]. Livermore CA: Livermore Software Technology Corporation, 2016.
[15] WANG J. Introduction to MPP version of LSDYNA[Z]. Livermore CA: Livermore Software Technology Corporation, 2011.
(編辑 武晓英)