网格计算的需求
原因1:大量复杂科学问题亟需巨型算力,如大素数的搜索、密文破译、地外文明发现等,,现有大型机无法满足需求。
解决方案:把网上单个节点的算力会聚在一起完成复杂科学问题的巨型计算。
原因2:由于三/N层架构的所有数据的运算都集中在服务器上运行,严重影响运算效率。应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。为以防万一,许多单位都备有数据库存储服务器。
解决方案:将服务器中的数据进行分布式存储,并通过在多台服务器计算来提高运算效率。
网格计算在这样的需求中诞生了。
什么是网格计算
网格计算在每个节点上安装中间件进行彼此间的连接,使用网格计算的用户需要参与提供计算机资源。网格计算利用互联网上计算机的CPU闲置资源处理能力来解决大型计算问题。
优点:提供高效的资源共享服务,平衡多台计算机上的负载,可把程序放到最适合的位置上。
目的:高性能计算
网络:覆盖网络/应用层网络
网格体系结构
- 以协议为中心的5层沙漏结构
- 以服务为中心的OGSA开放网格服务体系结构
五层沙漏体系结构
基本思想和概念:共享、互操作性、协议、服务。
- 共享:深层次、广泛、动态、具有多种形式的有条件受控的共享。
- 互操作性:共享关系可以跨越不同的平台、语言和编程环境,跨越不同的组织边界、使用策略和资源类型。
- 协议:为了实现特定的操作而定义的分布式系统元素之间交互的方式以及交互信息的结构。
- 服务:由所使用的协议和所实现的行为来定义。服务抽象掉了与资源相关的信息。
网格体系结构——五层沙漏结构
中心思想:采用以协议为中心的分层结构。
五层沙漏结构对共享资源进行操作、管理和使用的功能分散在应用层、汇聚层、资源层、连接层、构造层五个不同的层次中。
特点:越向下层就越接近共享的物理资源,与特定资源相关的成本就越多;越向上层就越感受不到共享资源的细节特征(越往上越抽象)。
五层结构中各层协议的数量不同,最核心的协议既要能实现上层协议向核心协议的映射,同时又要能实现核心协议向下层协议的映射,因此核心协议的数量不应该太多,这样核心协议就形成了协议层次结构中的瓶颈,形成沙漏形状。
- 构造层:面对的是一个个具体的物理资源,其功能是向上提供网格中可共享的资源的管理和控制界面,包括资源结构和状态的查询机制、控制服务质量的资源管理机制。
- 连接层:实现孤立的资源间的互相安全通信,定义了核心的通信与认证协议。资源间的数据交换通过传输、路由及名字解析等机制实现。
- 资源层:该层反映的是单个资源的抽象特征(忽略全局资源状态),对单个资源实施控制,与可用资源进行安全握手、对资源做初始化、监测资源运行状况、统计与付费等有关的资源使用数据。
- 汇聚层:将资源层提交的受控资源汇集在一起,协调解决多个资源间的问题,供虚拟组织的应用程序共享、调用。
- 应用层:这层是网格上用户的应用程序。应用程序开发设计大量的库函数。为了便于网格应用程序的开发,需要创建支持网格计算的库函数。
网格体系结构——开放网格服务体系结构OGSA
- 基本思想和概念:以服务为中心的模型。
五层沙漏结构试图实现的是资源的共享,OSGA实现的将是对服务的共享。
OGSA将一切资源(计算资源、存储资源、网络、程序、数据库、设备等)都看做网格服务,将网络看作可扩展的网格服务的集合。
OGSA在五层沙漏结构基础上,对Web Services进行了扩展,提供动态服务(网格服务)的概念,网格服务是一组接口定义明确、遵守特定惯例的Web Services。(接口包括:发现、动态服务创建、生命周期管理、通知等)