论文部分内容阅读
随着互联网络和计算机软硬件技术不断发展,各种计算资源(桌面计算机、工作站、超级计算机、集群等)、存储资源和网络资源的价格不断下降,推动了网格计算技术的迅速发展。一直以来,网格领域的研究主要集中在如何利用高性能的计算资源(如Beowulf集群、工作站、超级计算机等)、科学仪器和巨量存储资源,来构建满足在科学研究和工程应用领域大规模计算需要的各种网格。本文致力于研究如何通过随处可以获得的个人计算机PC来实现网格计算,它的意义在于可以充分利用随处可得的、大量闲置的PC,借助它们所蕴藏的巨大处理能力,以一种低成本的方式实现同样高性能的计算环境。
PC网格不同于高性能的网格环境,它一般由分布在不同地方的大量PC节点根据特定任务目标自愿组织而成,具有高度的动态性和自主性。这给网格的系统架构,资源管理和任务调度,以及任务监控等带来了挑战。目前一些基于因特网的网格应用项目,如SETI@Home、FightAIDS@Home、GIMPS等都采取了简单的方式将PC松散聚集起来解决特定领域的计算问题。目前还没有一种通用的面向PC环境的网格体系以及相关的平台系统,用于构建可满足不同应用需要的PC网格。为了推动PC网格的广泛应用,仍有许多技术问题需要解决。
为此,本论文首先为PC网格提出了一种三层结构的网格体系PGrid,它由Agent控制层、通信基础设施层和核心服务层构成。其中,Agent控制层由驻留在各PC节点上的Agent构成,它们提供一个虚拟的任务执行和控制环境。通信基础设施层屏蔽PC节点的位置、平台异构性和底层通信细节,为上层应用同Agent的连接与动态交互提供简单的接口。核心服务层为用户提供网格服务,包括任务提交、分派、监控和最后结果的汇总,不同的网格应用可以在这一层提供不同的服务。PGrid体系满足了实现简单、支持大规模部署的要求,同时考虑了可扩展性、健壮性和灵活性,与现在许多PC网格应用项目所采取的两层体系相比具有先进性。围绕该体系,我们对PC网格所涉及的若干关键技术进行了研究。
我们为通信基础设施层提出和实现了一种服务请求代理中间件SRB。它提供了一种消息交换设施,即代理服务器集群,以支持PC网格环境中用户与PC节点之间的消息交互。SRB不关心用户服务请求的内容,而只负责将其转交到合适的服务实例。因此基于SRB,因而我们既可以按照服务的方式构建网格,即PC节点提供任务逻辑,用户提供数据;也可以实现按照任务的方式构建网格,即用户提供任务逻辑和数据,PC节点负责任务程序的执行。SRB有效屏蔽了PC网格内部各节点物理位置、平台差异以及通信的细节,为PC网格的实现带来了灵活性。
在Agent控制层,我们提出了PC节点性能预测机制用于Agent在线学习并预测PC节点的运行规律,从而实现积极主动的任务调度。其中我们提出了一种混合在线预测模型,用于实现Agent在没有充分掌握PC节点运行规律的情况下,仍然能够较为转确地预测PC节点短期内的性能变化。而对于离线学习,我们提出了使用自回归建模和神经网络相结合的方法,在Agent掌握了大量观测数据样本的基础上,对PC节点的运行规律进行学习和分析。
针对Agent控制层的资源协商与交易,我们提出了基于BDI多智能体系统的资源交易模型。该模型最重要的两个活动实体为用户智能主体和资源智能主体,用户智能主体代表向PC网格提交任务的用户,而资源智能主体代表了PC网格中的资源,它们之间根据各自的利益目标在一个市场环境中进行协商与合作,最终实现任务与资源的合理匹配,以及供求关系的平衡。我们给出了这两种主体各自的信念(Belief)、期望(Desire)和意图(Intention)定义,并给出了一个具体场景描述基于这种BDI模型,两种主体各自如何思考并采取动作。同时我们还对网格资源的商品模型进行了研究,提出了能够适应市场供求关系变化而动态调整价格的机制。
最后我们为核心服务层提出了一种统一的面向PC网格环境的MonitorView网格监控体系。这个体系由三部分组成:一个是统一消息框架,用于规范PC网格中在管理终端与Agent控制层之间交换的消息;另一个是面向应用的Manager-Agent管理协议,它是一种类似于SNMP的管理协议,用于实现管理终端与Agent控制层之间的管理和监控操作;最后一个是配置管理服务,它面向全网格域,实现了在虚拟组织动态变化时网格监控体系的自发调整。基于这三部分,MonitorView实现了一种可灵活满足PC网格任务管理与监控、系统告警与日志管理以及PC节点资源监控应用需求,并且具有良好的扩展性和自适应性的统一监控体系,弥补了现在许多网格应用项目存在的不足。