分布式网格系统结构
分布式网格系统之间是异构的,是因为,在单个计算内部,各个之间的工作是分层次的,形似osi的七层模型,各层之间提供api相互进行邻层的调用,但是各层内部的构成是地外透明的;
网格协议建立在互联网协议之上,以互联网协议中的通信、路由、名字解析为基础。五层协议的网格体系结构分为光纤层、连接层、资源层、汇集层和应用层共五层。每层都可以有自己的服务、API和SDK,或者服务、APl和SDK中的部分。在这种层次结构中,上层协议的实现调用下层提供的功能。网格内的全局应用都通过协议提
供的结构调用网格管理软件的功能。
网格体系的分层结构及与TCP/IP网络协议的对应关系如图所示。
光纤层(Fabric)又叫做构造层。控制局部的资源,提供所需的接口。由物理或逻辑实体组成,目的是为上层提供共享的资源。常用的物理资源包括计算资源、存储系统、目录、网络资源等;逻辑资源包括分布式文件系统、分布计算池、计算机群等。构造层组件的功能受高层需求影响,基本功能包括资源查询和资源管理的QoS保证。2
连接层(Connectivity)连接层由通信协议组成,支持网格事物的处理,延伸多个资源的使用。支持便利安全的通信。该层定义了网格中安全通信与认证授权控制的核心协议。资源间的数据交换和授权认证、安全控制都在这一层控制实现。该层组件提供单点登录、代理委托、同本地安全策略的整合和基于用户的信任策略等功能。2
资源层(Resource)管理、共享单一资源。该层建立在连接层的通信和认证协议之上,满足安全会话、资源初始化、资源运行状况监测、资源使用状况统计等需求,通过调用光纤层函数来访问和控制局部资源。2
汇集层(Collective)汇集层负责对多个资源的访问,协调各种资源。该层将资源层提交的受控资源汇集在一起,供虚拟组织的应用程序共享和调用。该层组件可以实现各种共享行为,包括目录服务、资源协同、资源监测诊断、数据复制、负荷控制、账户管理等功能。2
应用层(Application)应用层为网格上用户的应用程序层。应用层是在虚拟组织环境中存在的。应用程序通过各层的应用程序编程接口(API)调用相应的服务,再通过服务调动网格上的资源来完成任务。为便于网格应用程序的开发,需要构建支持网格计算的大型函数库。2
五层沙漏结构是一个抽象层次结构,它的一个重要特点就是构成一个“沙漏”形状。在沙漏结构中,资源层和连接层共同组成沙漏的瓶颈部分,为网格计算提供底层的通信、安全以及局部的资源管理。不同的高层(沙漏的顶部)行为映射到它们的上面,它们自身也能被映射到不同的基本技术之上(沙漏的底部),显然瓶颈部分的核心协议的数量较少。较少的核心协议有利于移植,也比较容易地实现和得到支持。2
分布式网格系统计算方式分布式网格系统采用网格计算的方式。网格计算是分布式计算的一种,与之对应的是集群计算。如果我们说某项工作是分布式的,那么,参与这项工作的一定不只是一台计算机,而是一个计算机网络,显然这种“蚂蚁搬山”的方式将具有很强的数据处理能力。
**网格计算的实质就是组合与共享资源并确保系统安全。**网格计算通过利用大量异构计算机的未用资源(CPU周期和磁盘存储),将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供一个模型。
网格计算的焦点放在支持跨管理域计算 的能力,这使它与传统的计算机集群或传统的分布式计算相区别。网格计算的目标是解决对于任何单一的超级计算机来说仍然大得难以解决的问题,并同时保持解决多个较小的问题的灵活性。这样,网格计算就提供了一个多用户环境。
网格计算与集群计算的区别(1)简单地,网格与传统集群的主要差别是网格是连接一组相关并不信任的计算机,它的运作更像一个计算公共设施而不是一个独立的计算机。网格通常比集群支持更多不同类型的计算机集合。
(2)网格本质上就是动态的,集群包含的处理器和资源的数量通常都是静态的。在网格上,资源则可以动态出现,资源可以根据需要添加到网格中或从网格中删除。
(3) 网格天生就是在本地网、城域网或广域网上进行分布的。网格可以分布在任何地方。而集群物理上都包含在一个位置的相同地方,通常只是局域网互连。集群互连技 术可以产生非常低的网络延时,如果集群距离很远,这可能会导致产生很多问题。物理临近和网络延时限制了集群地域分布的能力,而网格由于动态特性,可以提供 很好的高可扩展性。
(4)集群仅仅通过增加服务器满足增长的需求。然而,集群的服务器数量、以及由此导致的集群性能是有限的:互连网络容量。也就是说如果一味地想通过扩大规模来提高集群计算机的性能,它的性价比会相应下降,这意味着我们不可能无限制地扩大集群的规模。 而网格虚拟出空前的超级计算机,不受规模的限制,成为下一代Internet的发展方向。
(5)集群和网格计算是相互补充的。很多网格都在自己管理的资源中采用了集群。实际上,网格用户可能并不清楚他的工作负载是在一个远程的集群上执行的。
尽管网格与集群之间存在很多区别,但是这些区别使它们构成了一个非常重要的关系,因为集群在网格中总有一席之地—— 特定的问题通常都需要一些紧耦合的处理器来解决。然而,随着网络功能和带宽的发展,以前采用集群计算很难解决的问题现在可以使用网格计算技术解决了。