论文部分内容阅读
分布式环境是高性能计算领域的研究热点,它能够利用分散的机器资源,协同完成大型计算任务。但分布式系统的规模,常常会因机器的加入或退出发生改变,进而导致网络拓扑结构也随之变化。如何保证分布式系统快速适应新的拓扑结构,并继续完成待执行任务是不可忽视的问题。并行模型作为分布式系统发展的主推之力,为高维度、大批量的任务提供了执行模板。随着分布式计算环境从同构向异构的转变,采取怎样的并行模型才能更好的发挥分布式系统的潜能,以简约的配置维护达到更高的执行效率,仍是目前主要的研究方向。Pi演算能够根据通道链接的动态改变,反映通信拓扑结构的变化,适合描述结构易变的分布式系统,且具备强大的数学理论定理,是验证并行模型正确性的有力手段。移动Agent能够在异构机器间进行无障碍迁移,自主地完成计算、检索和收集信息等一系列活动。由于移动Agent具备智能性,减轻了数据同步过程产生的通信开销,使得分布式系统执行任务的效率得到了进一步提升。本文通过对分布式系统、移动Agent和Pi演算的研究,提出了基于Pi演算的分布式多Agent模型,即PDMA(Pi-calculus-based Distributed Multiply Agents)模型。具体工作如下:1.确定模型的总体设计。提出以双重、动态和高效为核心,双重是指在机器间和机器内均触发并行进程;动态是指根据任务量动态调整集群规模、根据机器性能动态调整任务分配比;高效是指按照机器性能的优先级合理分配任务。针对机器性能的评定,采取了稳定因子和变动因子双标准,使得性能的评估值更加合理。2.构建模型并验证。利用Pi演算的进程形式代表PDMA模型的各逻辑部件,并依靠通道维系部件间的通信和Agent间的合作。Pi演算中的通道具备动态性、无限性、易变更性和持续存在性,使得数据传递的过程较传统方式更具优势。之后,根据Pi演算提供的弱互模拟定理,对PDMA模型进行验证,确保模型在理论层面是正确的。3.编程实现模型。NPict(Nomadic Pict)编程语言是基于Pi演算而定义的并行语言,能够贴切的实现Pi演算建立的模型。因此,本文采用NPict语言对PDMA模型进行实现。首先,利用NPict提供的发布与订阅功能实现任务向模型注册的过程;之后,根据任务量动态创建Agent;最后,依据Agent操作规则和通道使用规则,达到分布式多Agent合作完成任务的目的。4.明确实验例。用NPict语言分别实现PDMA模型、BSP模型和串行计算过程。通过对比PDMA模型与BSP模型的任务执行时间,来说明PDMA模型在执行层面的高效性;通过对比PDMA模型与串行模型的执行跨度加速比,来说明PDMA模型在并行层面的可行性。通过实验结果对比,可以发现在面对大批量数据任务时,PDMA模型的效率较BSP模型、串行模型都要高。也就是说,将Pi演算和Agent技术融合应用于分布式计算系统能够降低任务的执行开销。