论文部分内容阅读
自从弗劳德在140多年前创建第一座船模试验水池以来,船舶与海工结构物流体性能检测长期依靠物理水池模型试验。在我国船舶与海工产业创新驱动急需互联网+水动力数值模拟先进平台的背景下,数值水池孕育而生。数值水池中很多求解模型都涉及到大量的稀疏矩阵向量运算。而现有基于MPI并行框架下的稀疏矩阵向量并行算法使得求解模型的计算效率得到了提升。针对目前现有的并行算法和调度策略模型无法有效解决大量疏矩阵向量乘法的负载平衡问题。本文通过稀疏矩阵存储结构优化,稀疏矩阵初始静态划分,负载任务动态调度等几个方面进行研究优化。并在此基础上提出了基于稀疏矩阵并行算法的负载混合调度模型。为此本文的主要研究工作如下:(1)分析稀疏矩阵现有的代表性存储格式,针对行格式压缩存贮法从实现原理和数据结构等方面进行研究,并在其存储结构基础上设计了二元索引的存储结构形式。优化稀疏矩阵存储空间,以减少在并行集群中数据分发协作的通信量。(2)分析现有矩阵运算时传统的并行划分方式,并根据稀疏矩阵结构特点以及稀疏矩阵向量计算实质,设计一种使稀疏矩阵非零元素分配更加均衡的静态初始划分算法即一维非零元素均等行块划分算法。并根据MPI并行框架进程间通信方式及处理流程具体实现所设计的一维非零元素均等行块划分算法。(3)针对稀疏矩阵向量乘法可能在并行运算时出现负载不均衡的问题,分析对比不同调度启动方式和机群负载均衡调度算法,提出一种适用于稀疏矩阵向量乘法负载均衡问题的混合调度模型。(4)分析并行集群中影响处理节点计算负载能力的因素,针对所提出负载混合调度模型,设计构建相应能够动态评估集群节点负载计算能力的表达式以及集群平衡阈值,并以此具体设计负载混合调度模型对集群中负载任务的处理流程。本文所提出的负载混合调度模型在MPI集群实验环境下通过对一维非零元素均等行块划分和加权轮询调度算法的结合使用来处理集群负载。并通过对实验数据的对比分析,验证了基于稀疏矩阵并行算法的混合调度模型具有更高的并行效率。