编程语言

img windhue

网格乱弹

发表于2004/10/21 17:31:00  1166人阅读

    最近几天看了一些关于网格的文档,有的是网上的,例如IBM的网站有网格、web service相关的内容。有的是内部文档,例如织女星网格的文档。
    web service 这个东西是位于高层的一套标准,所谓高层就是它位于http或者soap或者smtp等协议的上面。例如wsdl(web service descript language?)。web service看起来也是一套机器间交互的协议,类似DCOM,CORBA等,但是web service可以用来发布资源。它不跟本地代码绑定?我的意思是说它跟本地的代码隔离的很好。主要特点似乎是通用性十分好,web service基本的语言是XML。web service有明确的应用场景,即企业应用。我的理解,web service可帮助企业建立更加灵活,强大的网站。网上有个例子是利用微软的vs.net编制的 从www.amazon.com 亚马逊网上书店的书籍查询,用 web service 实现,当然可能是微软特定的实现。亚马逊网上书店以web service的形式提供了这种服务。似乎是使用uddi发布?uddi是什么?“UDDI:Universal Description, Discovery, and Integration,统一描述发现集成。UDDI提供了一组用于描述和发现服务,是基于soap和wsdl规范的,还提供了一组基于因特网的实现。”
    接下来的一个概念是网格计算(grid compute?)。这个东西好像是源于分别位于欧洲和美国的两台超级计算机?,想把两台机器的计算资源整合起来,共同完成一个计算任务。因为,单独一台机器不足以胜任。那么,网格计算也就是分布式计算的一种了。不是有利用数百台pc,破解密码算法的吗。大概的思想就是每台机器负责任务中的一小段?“20世纪90年代初,根据网上主机大量增加,但其利用率却并不高的情况,美国国家科学基金会(NFS),将其4个超级计算中心构筑成一个能够进行元计算(meta-computing)的整体。元计算的含义是通过网络,将计算资源连接起来,形成对用户透明的超级计算环境。近年来元计算的这个术语已被网格计算所代替。”看来,就是元计算的含义。
    第三个名词是网格。这个名词概念比较混乱,可能指代完全不同的东西。一种是上面提到的网格计算的网格,例如织女星网格,实际上是利用了globus的一个实际系统。globus应该是一种中间件,就是说位于顶层应用和底层的现有的东西之间。globus应该是协调各个机器之间的计算的软件。同时,它有管理资源的含义在里面。那么多台机器,看起来象一台机器。就是说,globus屏蔽了系统的复杂性,提供给用户的界面是统一的。另外一种网格是计算所,从大型机、或者说cluster机群、或者说集群,总之是从超级计算机的体系结构的角度提出的。它主要的思想可以概括为“拆分”、“部件上网”。所谓拆分就是把构成机器的cpu,内存memory,硬盘,乃至kvm(keyboard video mouse键盘显示器和鼠标),从现在的位置拉出来。现在的位置大概是这样把,cpu在主板上,内存在主板上cpu的旁边,硬盘挂在数据线上,或者是网络存储的形式,磁盘阵列?KVM都是接在主板的接口上的。对集群来说,大概如此。跟pc的配置形式一样,不过结点机似乎不必配备KVM。怎么拉出来呢?
    网格不是集群系统。网格的意思是,一种分布式计算的解决之道,利用OGSA等协议来实现。网格的概念晚于集群。网格的目标是为了改善分布式计算环境,让这个环境对人更友好。例如,web service的发布,可以提高企业的生产率。集群系统是计算机系统结构的概念,服务器聚集。总起来看,集群系统意味着一些结点机的高效互连,集群给人的形象是几个机柜,里面放置许多台pc机、或者刀片服务器,作为结点机,然后通过交换机,把结点机组织在一起。每个结点机上都运行独立的操作系统。在操作系统的上层,是集群的管理软件等,顶层是应用程序,如某个具体的计算任务。
    网格和集群没有必然联系,网格的结点机可以是通常的PC机,也可以是如曙光4000那样的超级服务器。只要上面运行了符合网格协议的软件,就是网格的一部分。那么,是否可以这么说,网格的本质是一组网络协议,包括OGSA等规范,合在一起,描述了网格的模样。这类似于因特网的本质是tcp/ip协议族。
    以上可以理解为通常意义的网格。一般认为,网格让计算机应用成为一种服务,像电信、电视、供水、供电这样的资源服务,通俗的说,在家插上电插座,就可以用电;那么,插上网线,就可以使用网格。都不必关心资源是从哪里来的。第一,作为信息服务的设施,用网格不可能象用水、用电那么简单。物质、能源和信息之间的本质区别;第二,所谓“不必关心资源是从哪里来的”,是个模糊的说法。实际上,当前的用户在打开网络浏览器,使用www服务浏览网页的时候,也不知道那些网页资源是从哪里来的。网址,即url,是统一资源定位符的意思?同样实现了一种位置无关性。网格应该是把当前页面浏览、文件共享的范围扩大了,例如,可能包含计算资源,存储资源等的共享。 
    中科院计算所提出的“Dagger”体系结构,是基于当前集群系统的改进。论文原文见 孙凝晖 樊建平,Dagger一种散耦合的网格计算机体系结构,计算机研究与发展,2002年12月。 
    Dagger的思想体现为“拆分”和“互连”。目标是形成“高效能计算机系统的方法与技术,提高系
统的生产率,可扩展性,可管理性。”这些似乎一直是集群系统历来的主要目标。提出了若干关键技术实现。拆分系统,为的是可以更加灵活的配置,例如,做到可以动态部署操作系统到结点机。例如“网格显示器(GridKVM):远程共享KVM”。互连方面,提出了“网格交换机”“网格路由器”的概念,这和第二层或者第三层的交换机、IP层的路由器不是一个层的,网格交换机“通过资源层的数据交换,实现IntraGrid 内资源共享和应用协同”。网格路由器,“如网格服务器之间的路由,应用负载平衡器;从网格终端到网格服务器的防火墙,代理,安全认证,GSML(网格服务标记语言)[1]服务应用路由;与传统路由器的不同是它是服务级的路由”。可见,网格交换机和网格路由器的概念,跟通常意义上的网格是一致的。Dagger的主要特色似乎是,例如,节点机的操作系统可以动态加载,具有灵活性;“存储以IP SAN 的形式提供,将设备和管理虚拟化,提供设备层的在线动态扩展功能”。关键点在于,很多东西可以动态部署,提高了灵活性,管理员可以更加灵活方便的管理集群系统。“一种散耦合的网格计算机体系结构,其本质上是一种计算机系统组织的方法,没有改变应用的编程模式,这一点与SMP、MPP、NUMA、Cluster 不同”。
    计算所提出的另一个概念DSAG,论文原文见  樊建平 陈明宇,网格化的动态自组织体系结构DSAG,计算机研究与发展,2002年12月。更具新意。“采用独立的网格化CPU、Memory 和Disk 资源,通过动态通过动态映射可实现传统体系结构”。“由于网格功能部件分布在网络的不同地方,将不再存在一个传统意义上一个固定的、物理的计算机系统。构成一个计算机系统的功能部件可以通过网络动态的申请和释放,根据应用的需求和可用的资源进行动态的调配。”
    这里已经不存在传统PC的主板,各个部件也不再放置在一个机箱内。
    “各种计算资源不再由操作系统完全控制,而是自身构成独立的具有自我描述能力的网络服务,操作系统模块通过网络协议与各种资源服务器进行交互协商。”
    看起来,DSAG的思路是,把传统的各个部件例如CPU,Memory,Disk分离,然后网络化。存储的网络化,已经是现实。作为推广,想到了CPU的网络化?内存的网络化?那么,支持的协议是什么呢,还是象网络存储那样,基于IP的吗?
    “不同类功能部件分离,将减少部件之间的依赖关系。组成系统的不同部件之间不再是固有的联接,这将便于独立部件的升级和扩充。”那么,这种连接协议很可能不能是专有的协议。为了把部件组织起来,还需要网络意义上的自组织算法?
    “网格化是指每种功能部件都形成一种独立的具有自我描述功能的网络服务”,可见,部件之间是通过网络接口连接起来的,只是目前的网络结点变成了“计算部件”,而不再是传统的主机、pc。例如,存储部分不提供计算能力,属于该网络中的“被动部件”?单纯的Disk,如何“具有自我描述功能”?DSAG如果只是改变部件之间的连接方式,从地理上把功能部件拉开,感觉只是换了一种总线方式,那么如何体现其优势?光互连!?“针对通信连接进行优化设计“。
    总之,DSAG的目标似乎是,提高系统的灵活性,可动态组织、配置。方式是把各个传统的部件拆开,然后网络化。论文并未描述过于具体的实现。DSAG,具有革命性的思想。跟目前的工业界做的东西有很大的区别。好像有把许多CPU,Memory放在一个板子上的做法,改善了访存延迟。似乎就是把cpu,memory,disk,kvm等部件,用不同的办法连接起来。

阅读全文
0 0

相关文章推荐

img
取 消
img