论文部分内容阅读
串匹配问题是计算机科学中的一个基本问题。精确串匹配技术要求模式与正文子串完全匹配,不允许有错误。但是在许多实际情况中,并不要求模式与文本子串完全精确匹配,因此人们引入了近似串匹配技术。在许多实际应用中,正文串的规模很大,即使利用最快的近似串匹配顺序算法也很耗时,因此需要设计高效的近似串匹配并行算法以快速求解这类问题。由于机群计算系统具有高性能和低成本的特点,所以在异构机群系统上研究近似串匹配的并行处理具有重要的现实意义。这种粗粒度并行的近似串匹配技术的关键问题是如何恰当地划分正文串并将其分配到合适的处理机上,以使得从分配正文串开始到所有处理机完成近似串匹配所经历的时间最短。基于可分负载理论的最优原则,在假定正文串分配顺序固定的前提下,考虑处理机节点具有不同计算速度、不同通信能力的情况,提出异构机群计算环境下的最优正文串单轮分配策略并给出最优正文串分配的闭合解;进一步地,对于节点具有不同计算速度、不同通信能力、不同存储容量的异构机群系统,建立正文串最优分配的线性规划模型;并且针对几种特殊情况讨论正文串的最优分配顺序。算法分析与实验结果表明,与平均分配正文串策略以及按照从处理机能力分配正文串策略相比,利用本文提出的最优正文串单轮分配策略进行单模式单正文串近似匹配并行处理所需的时间分别缩短了10~40%和5~20%。在给定正文串分配轮数的前提下,考虑处理机节点具有不同计算速度、不同通信能力的情况,根据是否允许处理机重叠执行计算和通信操作,本文提出异构机群计算环境下的最优正文串多轮分配策略,同时提出一种周期性的正文串多轮分配策略,此策略可以求出最优的分配轮数,并给出了相应的正文串多轮分配的闭合解。算法分析与实验结果表明,按正文串多轮分配策略比按正文串单轮分配策略执行的并行算法大大缩短了单模式单正文串近似匹配处理所需的时间。