由于计算网格资源的分布性、动态性和异构性,开发高性能网格程序的难度大。当前国际上在解决网格程序开发难题方面,采取的基本策略是预先给应用程序约定一个抽象网格资源模型,计算任务执行时动态把抽象网格资源模型映射到计算网格上。但是在科学工程计算领域,有一大类问题属于非线性复杂问题,涉及不规则的数据访问和划分,无法静态约定计算任务的抽象网格资源模型。课题针对非线性复杂问题,研究自动分析应用问题特征、动态优化网格计算的理论和方法。在软件构件技术基础上,把编译技术和网格技术结合起来,开发网格环境中对计算数据自适应的资源调度技术和性能优化技术。研制独立于网格资源管理、并具有自适应特征的网格构件模型。把应用问题在模型编程接口上的功能描述与在计算网格上的繁琐实现分离开来,用编译技术生成应用问题的自适应网格程序。在网格程序中,被调用的网格构件根据计算数据动态划分并行子任务,并结合网格资源特征动态优化实现代码。
在三个方面开展了理论研究和技术实现,进行了验证和应用。1.资源管理和访问的规范化。提出面向用户的资源服务化模型,以工厂/实例模式管理局域计算系统的资源,支持一次申请、多次使用,提供避免并发用户无序资源竞争的机制。采用服务组聚合分布的资源,支持动态的资源分配、高性能计算机之间的负载均衡。2.跨高性能计算机的并行处理。采用服务组技术,为网格应用动态构造并行计算平台,由一组服务资源组成,它们可以由不同的高性能计算机提供。支持在服务资源间动态分配计算问题涉及的并行批作业。3.网格应用的编程模型。对Java语言进行扩展,增加网格资源管理和访问的接口G-API。用G-API创建、访问服务资源。用Java代码实现其他计算、应用运行逻辑。隐藏网格软件的资源表示规范和要求等对程序开发的影响,降低了网格应用开发的难度。开发了计算网格协同平台Harmonia,进行了验证和推广应用开发了示范应用,解决基因组可变剪接计算问题,用于NATs生物信息数据库的更新维护;作为网格环境的基础设施,用于CS Grid和China Grid等国家重大网格计算环境的建设开发。