论文摘要
求解任意给定的两个字符串的最长公共子序列(LCS)的问题是计算机科学中一个基本和重要的问题,它是一种仅仅允许对模式和正文进行插入和删除编辑操作的近似串匹配问题。最长公共子序列在生物序列相似性分析、网络入侵检测、网络远程教学、电子商务、信息检索、数据挖掘、自动命题等领域应用广泛。随着串序列数量的增长,即使采用快速的LCS串行算法求解也显得力不从心。机群计算系统具有高性能和低成本的特点,在异构机群系统上研究最长公共子序列的并行计算具有重要的现实意义。对于多序列的LCS问题,基于可分负载理论的最优原则,在将目标串分配给从处理机的顺序固定的前提下,考虑处理机节点具有不同计算速度、不同通信能力和存储容量的情况,本文提出了一种异构机群计算环境下的最优目标串分配策略,在这种分配策略下各个从处理机按照目标串的分配顺序开始执行串行LCS算法并同时结束,从而使得LCS并行算法的完成时间最小。实验结果表明,在异构机群系统上,与按平均分配目标串策略相比,利用本文提出的最优目标串分配策略求解扩展最长公共子序列问题的并行算法所需的时间缩短了6~32%。对于双序列的LCS问题,在假定从处理机分配顺序固定的前提下,考虑处理机节点具有不同计算速度、不同通信能力的异构机群系统情况,本文提出一种最优序列串分配策略,并给出了相应的序列串分配的闭合解,以此划分双序列的动态规划矩阵,通过各从处理机之间的相互协调通信以最小化并行求解双序列LCS问题的时间。算法分析与实验结果表明,按最优序列串分配策略比按平均分配策略执行算法显著地缩短了并行求解双序列LCS问题所需的时间,获得了良好的加速和可扩展性。
论文目录
摘要Abstract第一章 绪论1.1 最长公共子序列问题的研究背景1.2 最长公共子序列问题的相关概念1.2.1 编辑距离1.2.2 最长公共子序列问题的定义1.2.3 扩展的最长公共子序列问题1.3 最长公共子序列顺序及并行算法研究综述1.3.1 双序列最长公共子序列算法研究综述1.3.2 多序列最长公共子序列算法研究综述1.4 论文的主要工作和论文的组织第二章 并行计算理论基础2.1 并行计算概述2.1.1 并行计算涉及的内容2.1.2 并行计算相关概念2.1.3 并行计算机的分类2.2 并行算法的基础知识2.2.1 并行算法和粒度2.2.2 并行算法分类2.2.3 并行算法设计策略2.2.4 并行算法性能评估2.3 并行计算模型2.3.1 PRAM模型2.3.2 BSP模型2.3.3 LogP模型2.3.4 可重构 MESH互连的光计算模型2.4 机群系统概述2.4.1 机群系统特点2.4.2 机群系统分类2.4.3 MPI软件2.4.4 机群系统上的并行计算方法2.5 本章小结第三章 异构机群系统上求解扩展最长公共子序列问题的并行算法3.1 引言3.2 可分负载理论简介3.3 并行求解扩展最长公共子序列问题的最优目标串分配策略3.4 算法设计与分析3.5 实验3.5.1 实验环境3.5.2 实验结果及分析3.6 本章小结第四章 异构机群系统上并行计算双序列的最长公共子序列4.1 引言4.2 异构机群系统上双序列的最长公共子序列问题4.3 序列分配策略及算法描述4.4 实验4.4.1 实验环境4.4.2 实验结果分析4.5 本章小结第五章 总结5.1 本文的主要工作5.2 进一步的工作参考文献致谢攻读硕士学位期间参加的科研项目攻读硕士学位期间录用发表的学术论文
相关论文文献
标签:最长公共子序列论文; 并行算法论文; 异构机群系统论文; 可分负载论文; 分配策略论文;