论文部分内容阅读
网格系统软件的迅速发展使得越来越多的网格应用随之出现,对网格资源的需求日趋多样化和复杂化。同时,由于网格的自治性等特点,同一种资源在不同的管理域中会存在不同的特征描述规则。当网格应用程序移植到不同的网格资源环境中时,往往需要修改代码以适应新的资源环境,或者调整资源本身的信息以适应网格应用,不仅耗时耗力,甚至会影响到目标环境中的其它应用。
本文研究了网格应用程序的可移植性问题,重点研究并解决了其中程序对系统中所需资源特征描述的依赖问题。基于资源访问关系模式,本文允许在不修改代码的前提下,通过最少的人工参与实现网格应用程序在不同资源环境移植时的资源关联。
为了刻画网格应用程序对资源特征描述的依赖问题,本文提出了资源绑定模型RBMA。RBMA模型由有效资源层和系统资源层构成,将网格应用程序中的资源声明与系统中的资源之间的关联刻画为若干个连续的映射关系。根据RBMA模型,本文定义了应用程序对资源特征描述的最小依赖,即资源无关性;给出并证明了系统实现资源无关性的充分必要条件;得出了对于一个资源无关的网格应用,需要且只需要人工参与建立一个映射关系,即可实现程序中所有资源的正确关联的结论,该结论给出了网格应用程序移植过程中资源绑定所需的最小代价值。
为了解决网格应用程序对资源特征描述的依赖问题,本文提出了基于有效资源的网格应用编程方法和基于资源访问关系模式的资源绑定机制E-Binding。有效资源是程序员根据应用逻辑表达资源需求的核心编程构造,屏蔽了资源在系统中的特征描述信息。基于有效资源的编程方法保证了网格应用程序在移植到不同网格资源环境中时不需要修改代码。本文根据网格应用程序中资源访问逻辑所呈现的规律总结出应用对资源的基本访问关系模式,定义了资源在访问关系模式中的相对位置。基于资源访问关系模式,E-Binding机制将系统中的资源组织为面向应用的资源关联库;通过人工参与建立一个关系,即应用程序和资源关联库之间的对应关系,E-Binding机制就可以实现应用程序中所有有效资源在目标资源环境中的定义和解析,并且可以保证资源绑定的正确性。
本文已经在网格系统软件VEGA GOS中实现了上述解决方案,为网格应用程序的开发和部署提供了支持,包括应用编程接口,网格命令行工具GShell,以及绑定工具集LinkRoom。使用这些接口和工具,本文开发了参数扫描应用和旅游预订应用,验证了本文的解决右案可以支持网格应用程序在不修改代码的前提下移植到不同社区提供的网格资源环境中;在目标资源环境中存在可匹配的资源关联库时,E-Binding机制可以将移植过程中的资源绑定维护成本降到最低。实验结果表明相比使用资源查找接口编程的应用,E-Binding机制不会产生任何额外的性能开销。