论文部分内容阅读
摘要:为了实现分散的资源共享、充分利用网上的闲置资源,网格计算应时而生。本文介绍了网格技术产生背景、概念、功能、关键技术,并讨论了网格技术发展亟需解决的问题和未来的发展趋势。
关键词:网格计算;超级计算机;体系结构
中图分类号:TP393 文献标识码:A文章编号:1009-3044(2007)17-31291-02
The Third Generation Network Technology:Grid Computing Technology
XIAO Xiao-fei
(Shandong Business School,Yantai 264005,China)
Abstract:Grid computing is the next wave of the Internet. It is applied for sharing distributed resources and making full use of idle resources. This article introduces its background ,development,basic concepts, constitution, function and key technological points.Finally, it explores the problems to be solved in its development process.
Key words:Grid computing;supercomputer;constitution
1 引言
“信息技术的大浪潮将造就2005~2020年十五年的黄金时代。到2020年,由此产生的互联网将成长为一个20万亿美元产值的大工业。这一波的本质特征,就是万维网升华为网格。”1这段话来自《福布斯》杂志最近发布的市场趋势报告。
Internet的产生与发展,对人们的思维方式、工作模式以及生活理念都产生了巨大的影响与冲击。第一代Internet的作用就是把遍布于世界各地的计算机用TCP/IP协议连接在一起,其主要应用为E-mail;第二代Internet则通过Web信息浏览及电子商务应用等信息服务,实现了全球网页的连通;第三代Internet将“试图实现互联网上所有资源的全面连通,包括计算资源、存储资源、通信资源、软件资源、信息资源、知识资源等”,这就是网格计算(Gird Computing)。2
2 网格计算
尽管计算机发展非常迅速,但由于种种原因,目前仍然存在一些瓶颈,这样就使得一些超大规模的应用问题无法仅仅通过一台或两台高性能的计算机来解决,在这种情况下,人们想象分布在世界各地的超级计算机的计算能力能否通过利用广域互连技术使其像电力资源那样输送到每一用户,来求解一些大规模科学与工程计算等问题,从而形成了计算网格(又称网格计算系统)。而网格计算作为虚拟的整体而使用在地理上分散的异构计算资源,这些资源包括高速互连的异构计算机、数据库、科学仪器、文件和超级计算系统等。使用计算网格,一方面能使人们聚集分散的计算能力,形成超级计算的能力,解决诸如虚拟核爆炸、新药研制、气象预报和环境等重大科学研究和技术应用领域的问题,另一方面能使人们共享广域网络中的异构资源,使各种资源得以充分利用。
3 网格计算的功能特点
由于网格计算是在Internet和Web上的第三代网络技术,所以其功能也必然会比Internet和Web技术要高级,总体说来,其功能主要体现在下面五个方面:第一,高带宽,主干网网络计划的带宽一般都在1Gbps以上。第二,计算速度、数据处理速度高。第三,可动态的调动资源,而且能够更有效的共享资源。第四,网上社区将日益增多,地球村指日可待。第五,可根据用户的要求自动地生产知识,使合作解决问题的能力大大提高。
总体说来,网格技术的特点主要从三个方面去考虑:异构性、可扩展性、动态自适应性。
(1)异构性是指,网格系统由分布在 Internet上的各类资源组成,包括各类主机、工作站甚至PC机,它们是异构的,可运行在UNIX、NT等各种操作系统下,也可以是上述机型的机群系统、大型存储设备、数据库或其它设备。由于网格分布在广域网上不同管理域的各种计算资源中,怎样实现异构机器之间的协作和转换是网格计算的首要问题。(2)可扩展性是指,元计算系统初期的计算规模较小,随着超级计算机系统的不断加入,系统的计算规模也随之扩大。要在网格资源规模不断扩大、应用不断增长的情况下,不致降低网格计算的性能。(3)动态自适应性是指,在网格计算中,某一资源出现故障或失败的可能性较高,资源管理必须能动态监视和管理网格资源,从可利用的资源中选取最佳资源服务。
4 网格计算的体系结构
由于网格计算还处于计划阶段,实际的应用还非常有限,所以到现在仍然没有统一的标准和协议,就目前来说,网格计算的体系结构主要有三种分层方法:一种是3个层次的系统,一种是5个层次的系统,另外一种是7个层次的系统。
(1)3层的网格计算系统,主要由资源层、中间件层、应用层组成。其中,网格资源层是构成网格系统的硬件基础,它包括各种计算资源,如超级计算机、贵重仪器、可视设备、现有应用软件等,这些计算机资源通过网络设备连接起来,仅仅实现计算资源在物理上的连通。网格中间件层是指一系列工具和协议软件,其功能是屏蔽网格资源层中的计算资源的分布、异构特性,向网络应用层提供透明、一致的使用接口,同时提供用户编程接口和相应的环境,以支持网格应用的开发。网格应用层是用户需求的具体体现。在网格操作系统的支持下,网格用户可以使用其提供的工具或环境开发各种应用系统。能否在网格系统上开发应用系统以解决各种大型计算问题是衡量网格系统优劣的关健指标。3
(2)5层的网格计算系统,主要由构造层、连接层、资源层、汇集层和应用层组成。构造层的功能是向上提供网格中可供共享的资源,比如处理能力、存储系统、目录、网格资源、分布式文件系统、分布式计算机簇、计算机集群等。连接层是网格中网络事务处理通信与授权控制的核心协议。主要实现的是构造层提交的各种资源间的数据交换、各资源间的授权验证、安全控制、资源间的数据交换通过传输、路由及名字解析。资源层是对单个资源实施控制,与可用资源进行安全握手、对资源做初始化、监测资源运行状况、统计与付费等有关的资源使用数据。汇集层是将资源层提交的受控资源汇集在一起,供虚拟组织的应用程序共享、调用。为了对来自应用的共享进行管理和控制,汇集层提供目录服务、资源分配、日程安排、资源代理、资源监测诊断、网格启动、负荷控制、账户管理等多种功能。应用层是网格上用户的应用程序。应用程序通过各层的API调用相应的服务,再通过服务调用网格上的资源来完成任务。应用程序的开发涉及大量的库函数,为便于网格应用程序的开发,需要创建支持网格计算的库函数。
(3)7层的网格计算系统,由网格资源层、网格中间间层、网格应用层、网络结构层、网格服务层、网络应用工具层和应用层组成。其中前三层和3层系统完全一样,只是多了4层辅助功能,网络结构层提供资源相关、站点相关的基本功能,便于高层分布式网格服务的实现;网格服务层实现资源无关和应用无关的功能,网格服务的实现涉及到地域和机构的分布;网格应用工具层提供更为专业化的服务和组件以用于不同类型的应用;应用层由用户开发的应用系统组成,网格用户可以使用其他层次的接口和服务完成网格应用的开发。
迄今为止,网格计算还没有正式的标准,但在核心技术上,相关机构与企业已达成一致:由美国阿尔贡国家实验室与南加州大学信息科学学院合作开发的Globus Toolkit已成为网格计算事实上的标准4,大约有12家计算机和软件厂商已宣布采用 Globus Toolkit作为一种开放架构和开放标准基础设施,也就是本文的5层分层方法。
4 网格计算的关键技术及与相关技术的比较
网格计算的关键技术有以下5点:
(1)网格节点。作为网格计算资源的提供者,它包括高端服务器、集群系统、MPP系统、大型存储设备、数据库等。这些资源在地理位置上是分布式的,系统具有异构特性。
(2)宽带网络系统。在网格计算环境中,为做到计算能力的“即连即通”,使用户得到延迟小、可靠的通信服务,需要高质量的宽带网络系统支持。
(3)资源管理和任务调度工具。计算资源的管理工具要解决资源的描述、组织和管理等关键问题。任务调度工具的作用是根据当前系统的负载情况,对系统内的任务进行动态调度,提高系统的运行效率。它们属于网格计算的中间件。
(4)监测工具。新近兴起的网格计算对资源监测提出了新的具体要求。网格在广义上是一个广域异构资源的有机集合体,提供透明的远程访问、资源共享、分布计算等功能。与目前的因特网相比,它覆盖更多的资源,各个节点联系起来更加紧密,整体拓扑结构更为有序。这些新的特征都需要新的资源监测工具与之适应。
(5)应用层的可视化工具。网格计算的主要领域是科学计算,它往往伴随着海量的数据,而面对浩如烟海的数据,想通过人工分析得出正确的判断十分困难。如果把计算结果转换成直观的图形信息,就能帮助研究人员摆脱理解数据的困难。这就要研究能在网格计算中传输和读取数据的可视化工具,并提供友好的用户界面。
从网格计算的定义我们不难发现,网格计算之所以很难定义,其中一个主要原因就是网格计算综合运用了很多相关技术,将多种技术的长处融合在一起,。
与网络技术相比,由于网格计算是建立在网络之上的,所以它离不开网络技术的支持,但可以解决很多网络技术无法解决的问题,在性能、速度、安全等方面要面对新的挑战;与分布式系统相比,虽然两者都是位于多个管理域下的超级计算机通过不可靠的网络进行连接,并需要对广域的、分布的动态资源进行集成分布式强调一个逻辑虚拟的集中环境,网格则更强调不同资源之间的互操作性,并且网格计算对性能的要求更高,所以网格在编程模型及接口与分布式有极大的差别;与中间件相比,网格计算需要大量中间件技术的支持,各种中间件技术都可为网格技术所使用,中间件技术是网格计算的核心;与超级计算系统相比,网格计算需要超级计算系统提供计算功能,需要超级计算系统相互协作进行通信,以实现各种资源的共享和网络化。
5 网格计算急需解决的问题
为了促进网格计算的广泛应用,实现让用户随心所欲地共享网格计算中的各种资源,还必须解决以下问题:第一,异构性:由于网格由分布在广域网上不同管理域的各种计算资源组成,怎样实现异构机器间的合作和转换是首要问题。第二,可扩展性:要在网格资源规模不断扩大、应用不断增长的情况下,不降低性能。第三,动态自适应性:在网格计算中,某一资源出现故障或失败的可能性较高,资源管理必须能动态监视和管理网格资源,从可利用的资源中选取最佳资源服务。自动故障检测和恢复对于任何网格软件来说都是必须解决的关键问题。第四,安全性:由于开放了网络,提供了更多的工具和访问权限,必须确保它的安全性,安全机制应该嵌入到网格软件最核心的层次上。包括登录认证、可信赖、完整性和记账等方面的安全性,这是网格计算的难点,也是系统成败的关键。第五,高带宽需求:有限的网络带宽满足不了网格计算技术的数据传输速率要求,这就限制了适合在网格上运行的应用类型,应提高现有网络的带宽以更好的发挥网格计算的优势。第六,人机通信的问题:必须提供丰富的用户接口和编程环境,提供最常用的语言,如C、C++、MPI、PVM以及分布式共享存储器和一些函数库等;提供直观的用户访问接口,包括WEB方式,使用户可在任何位置、任何平台上使用系统资源。第七,知识产权问题:在网格计算中很多被共享的数据都存在知识产权问题,如何保护知识产权也是一个需要解决的问题。第八,协议和服务标准:网格应用的最大难题是标准协议的建立体系结构的确定。最后,如何在网格系统平台建好之后实现应用的平滑移植,是网格计算走向主流应用的又一大障碍。网格技术要求用户将原有的计算密集型应用标准化,并平移到新的系统之中。
网格计算是一个相对较新的研究领域,该系统的发展和数据密集、大规模应用的发展相吻合,是一项有很有研究价值的技术。综观国际网格技术的激烈竞争与迅猛发展,设想运用前所未闻的计算能力所能完成的工作,我们都会明白,构建全球网格(Great Global Grid)的前景几乎是无法抗拒的。美国阿尔贡国家实验室ANL的科学家 Rick Stevens曾经指出:“就像最初的ARPANET成为 Internet的中心一样,就把Tera Grid看作是形成全球网格中心的雏形吧!”5另外,由于网格的商业应用也越来越多,在其它领域如生物、能源、交通、气象、水利、农林、教育、环保等对高性能计算网格计算的需求也非常巨大,可以预计,在最近的两三年内,就能看到更多成功的网格计算应用实例。
参考文献:
[1]http://dev.csdn.net/article/69/69779.shtm[DB/OL].
[2]吴为,刘海平,朱仲英.第三代Internet——网格计算技术若干研究[J].微型电脑应用,2003(19),11.
[3]陈世清.网格计算——新一代因特网[J].邵阳学院学报(自然科学).2003,2.
[4]http://www.cstec.org/info/business4.asp?column=201&id=765[DB/OL].
[5]http://www.pcdog.com/network/security/2005/11/g044560.html[DB/OL].
关键词:网格计算;超级计算机;体系结构
中图分类号:TP393 文献标识码:A文章编号:1009-3044(2007)17-31291-02
The Third Generation Network Technology:Grid Computing Technology
XIAO Xiao-fei
(Shandong Business School,Yantai 264005,China)
Abstract:Grid computing is the next wave of the Internet. It is applied for sharing distributed resources and making full use of idle resources. This article introduces its background ,development,basic concepts, constitution, function and key technological points.Finally, it explores the problems to be solved in its development process.
Key words:Grid computing;supercomputer;constitution
1 引言
“信息技术的大浪潮将造就2005~2020年十五年的黄金时代。到2020年,由此产生的互联网将成长为一个20万亿美元产值的大工业。这一波的本质特征,就是万维网升华为网格。”1这段话来自《福布斯》杂志最近发布的市场趋势报告。
Internet的产生与发展,对人们的思维方式、工作模式以及生活理念都产生了巨大的影响与冲击。第一代Internet的作用就是把遍布于世界各地的计算机用TCP/IP协议连接在一起,其主要应用为E-mail;第二代Internet则通过Web信息浏览及电子商务应用等信息服务,实现了全球网页的连通;第三代Internet将“试图实现互联网上所有资源的全面连通,包括计算资源、存储资源、通信资源、软件资源、信息资源、知识资源等”,这就是网格计算(Gird Computing)。2
2 网格计算
尽管计算机发展非常迅速,但由于种种原因,目前仍然存在一些瓶颈,这样就使得一些超大规模的应用问题无法仅仅通过一台或两台高性能的计算机来解决,在这种情况下,人们想象分布在世界各地的超级计算机的计算能力能否通过利用广域互连技术使其像电力资源那样输送到每一用户,来求解一些大规模科学与工程计算等问题,从而形成了计算网格(又称网格计算系统)。而网格计算作为虚拟的整体而使用在地理上分散的异构计算资源,这些资源包括高速互连的异构计算机、数据库、科学仪器、文件和超级计算系统等。使用计算网格,一方面能使人们聚集分散的计算能力,形成超级计算的能力,解决诸如虚拟核爆炸、新药研制、气象预报和环境等重大科学研究和技术应用领域的问题,另一方面能使人们共享广域网络中的异构资源,使各种资源得以充分利用。
3 网格计算的功能特点
由于网格计算是在Internet和Web上的第三代网络技术,所以其功能也必然会比Internet和Web技术要高级,总体说来,其功能主要体现在下面五个方面:第一,高带宽,主干网网络计划的带宽一般都在1Gbps以上。第二,计算速度、数据处理速度高。第三,可动态的调动资源,而且能够更有效的共享资源。第四,网上社区将日益增多,地球村指日可待。第五,可根据用户的要求自动地生产知识,使合作解决问题的能力大大提高。
总体说来,网格技术的特点主要从三个方面去考虑:异构性、可扩展性、动态自适应性。
(1)异构性是指,网格系统由分布在 Internet上的各类资源组成,包括各类主机、工作站甚至PC机,它们是异构的,可运行在UNIX、NT等各种操作系统下,也可以是上述机型的机群系统、大型存储设备、数据库或其它设备。由于网格分布在广域网上不同管理域的各种计算资源中,怎样实现异构机器之间的协作和转换是网格计算的首要问题。(2)可扩展性是指,元计算系统初期的计算规模较小,随着超级计算机系统的不断加入,系统的计算规模也随之扩大。要在网格资源规模不断扩大、应用不断增长的情况下,不致降低网格计算的性能。(3)动态自适应性是指,在网格计算中,某一资源出现故障或失败的可能性较高,资源管理必须能动态监视和管理网格资源,从可利用的资源中选取最佳资源服务。
4 网格计算的体系结构
由于网格计算还处于计划阶段,实际的应用还非常有限,所以到现在仍然没有统一的标准和协议,就目前来说,网格计算的体系结构主要有三种分层方法:一种是3个层次的系统,一种是5个层次的系统,另外一种是7个层次的系统。
(1)3层的网格计算系统,主要由资源层、中间件层、应用层组成。其中,网格资源层是构成网格系统的硬件基础,它包括各种计算资源,如超级计算机、贵重仪器、可视设备、现有应用软件等,这些计算机资源通过网络设备连接起来,仅仅实现计算资源在物理上的连通。网格中间件层是指一系列工具和协议软件,其功能是屏蔽网格资源层中的计算资源的分布、异构特性,向网络应用层提供透明、一致的使用接口,同时提供用户编程接口和相应的环境,以支持网格应用的开发。网格应用层是用户需求的具体体现。在网格操作系统的支持下,网格用户可以使用其提供的工具或环境开发各种应用系统。能否在网格系统上开发应用系统以解决各种大型计算问题是衡量网格系统优劣的关健指标。3
(2)5层的网格计算系统,主要由构造层、连接层、资源层、汇集层和应用层组成。构造层的功能是向上提供网格中可供共享的资源,比如处理能力、存储系统、目录、网格资源、分布式文件系统、分布式计算机簇、计算机集群等。连接层是网格中网络事务处理通信与授权控制的核心协议。主要实现的是构造层提交的各种资源间的数据交换、各资源间的授权验证、安全控制、资源间的数据交换通过传输、路由及名字解析。资源层是对单个资源实施控制,与可用资源进行安全握手、对资源做初始化、监测资源运行状况、统计与付费等有关的资源使用数据。汇集层是将资源层提交的受控资源汇集在一起,供虚拟组织的应用程序共享、调用。为了对来自应用的共享进行管理和控制,汇集层提供目录服务、资源分配、日程安排、资源代理、资源监测诊断、网格启动、负荷控制、账户管理等多种功能。应用层是网格上用户的应用程序。应用程序通过各层的API调用相应的服务,再通过服务调用网格上的资源来完成任务。应用程序的开发涉及大量的库函数,为便于网格应用程序的开发,需要创建支持网格计算的库函数。
(3)7层的网格计算系统,由网格资源层、网格中间间层、网格应用层、网络结构层、网格服务层、网络应用工具层和应用层组成。其中前三层和3层系统完全一样,只是多了4层辅助功能,网络结构层提供资源相关、站点相关的基本功能,便于高层分布式网格服务的实现;网格服务层实现资源无关和应用无关的功能,网格服务的实现涉及到地域和机构的分布;网格应用工具层提供更为专业化的服务和组件以用于不同类型的应用;应用层由用户开发的应用系统组成,网格用户可以使用其他层次的接口和服务完成网格应用的开发。
迄今为止,网格计算还没有正式的标准,但在核心技术上,相关机构与企业已达成一致:由美国阿尔贡国家实验室与南加州大学信息科学学院合作开发的Globus Toolkit已成为网格计算事实上的标准4,大约有12家计算机和软件厂商已宣布采用 Globus Toolkit作为一种开放架构和开放标准基础设施,也就是本文的5层分层方法。
4 网格计算的关键技术及与相关技术的比较
网格计算的关键技术有以下5点:
(1)网格节点。作为网格计算资源的提供者,它包括高端服务器、集群系统、MPP系统、大型存储设备、数据库等。这些资源在地理位置上是分布式的,系统具有异构特性。
(2)宽带网络系统。在网格计算环境中,为做到计算能力的“即连即通”,使用户得到延迟小、可靠的通信服务,需要高质量的宽带网络系统支持。
(3)资源管理和任务调度工具。计算资源的管理工具要解决资源的描述、组织和管理等关键问题。任务调度工具的作用是根据当前系统的负载情况,对系统内的任务进行动态调度,提高系统的运行效率。它们属于网格计算的中间件。
(4)监测工具。新近兴起的网格计算对资源监测提出了新的具体要求。网格在广义上是一个广域异构资源的有机集合体,提供透明的远程访问、资源共享、分布计算等功能。与目前的因特网相比,它覆盖更多的资源,各个节点联系起来更加紧密,整体拓扑结构更为有序。这些新的特征都需要新的资源监测工具与之适应。
(5)应用层的可视化工具。网格计算的主要领域是科学计算,它往往伴随着海量的数据,而面对浩如烟海的数据,想通过人工分析得出正确的判断十分困难。如果把计算结果转换成直观的图形信息,就能帮助研究人员摆脱理解数据的困难。这就要研究能在网格计算中传输和读取数据的可视化工具,并提供友好的用户界面。
从网格计算的定义我们不难发现,网格计算之所以很难定义,其中一个主要原因就是网格计算综合运用了很多相关技术,将多种技术的长处融合在一起,。
与网络技术相比,由于网格计算是建立在网络之上的,所以它离不开网络技术的支持,但可以解决很多网络技术无法解决的问题,在性能、速度、安全等方面要面对新的挑战;与分布式系统相比,虽然两者都是位于多个管理域下的超级计算机通过不可靠的网络进行连接,并需要对广域的、分布的动态资源进行集成分布式强调一个逻辑虚拟的集中环境,网格则更强调不同资源之间的互操作性,并且网格计算对性能的要求更高,所以网格在编程模型及接口与分布式有极大的差别;与中间件相比,网格计算需要大量中间件技术的支持,各种中间件技术都可为网格技术所使用,中间件技术是网格计算的核心;与超级计算系统相比,网格计算需要超级计算系统提供计算功能,需要超级计算系统相互协作进行通信,以实现各种资源的共享和网络化。
5 网格计算急需解决的问题
为了促进网格计算的广泛应用,实现让用户随心所欲地共享网格计算中的各种资源,还必须解决以下问题:第一,异构性:由于网格由分布在广域网上不同管理域的各种计算资源组成,怎样实现异构机器间的合作和转换是首要问题。第二,可扩展性:要在网格资源规模不断扩大、应用不断增长的情况下,不降低性能。第三,动态自适应性:在网格计算中,某一资源出现故障或失败的可能性较高,资源管理必须能动态监视和管理网格资源,从可利用的资源中选取最佳资源服务。自动故障检测和恢复对于任何网格软件来说都是必须解决的关键问题。第四,安全性:由于开放了网络,提供了更多的工具和访问权限,必须确保它的安全性,安全机制应该嵌入到网格软件最核心的层次上。包括登录认证、可信赖、完整性和记账等方面的安全性,这是网格计算的难点,也是系统成败的关键。第五,高带宽需求:有限的网络带宽满足不了网格计算技术的数据传输速率要求,这就限制了适合在网格上运行的应用类型,应提高现有网络的带宽以更好的发挥网格计算的优势。第六,人机通信的问题:必须提供丰富的用户接口和编程环境,提供最常用的语言,如C、C++、MPI、PVM以及分布式共享存储器和一些函数库等;提供直观的用户访问接口,包括WEB方式,使用户可在任何位置、任何平台上使用系统资源。第七,知识产权问题:在网格计算中很多被共享的数据都存在知识产权问题,如何保护知识产权也是一个需要解决的问题。第八,协议和服务标准:网格应用的最大难题是标准协议的建立体系结构的确定。最后,如何在网格系统平台建好之后实现应用的平滑移植,是网格计算走向主流应用的又一大障碍。网格技术要求用户将原有的计算密集型应用标准化,并平移到新的系统之中。
网格计算是一个相对较新的研究领域,该系统的发展和数据密集、大规模应用的发展相吻合,是一项有很有研究价值的技术。综观国际网格技术的激烈竞争与迅猛发展,设想运用前所未闻的计算能力所能完成的工作,我们都会明白,构建全球网格(Great Global Grid)的前景几乎是无法抗拒的。美国阿尔贡国家实验室ANL的科学家 Rick Stevens曾经指出:“就像最初的ARPANET成为 Internet的中心一样,就把Tera Grid看作是形成全球网格中心的雏形吧!”5另外,由于网格的商业应用也越来越多,在其它领域如生物、能源、交通、气象、水利、农林、教育、环保等对高性能计算网格计算的需求也非常巨大,可以预计,在最近的两三年内,就能看到更多成功的网格计算应用实例。
参考文献:
[1]http://dev.csdn.net/article/69/69779.shtm[DB/OL].
[2]吴为,刘海平,朱仲英.第三代Internet——网格计算技术若干研究[J].微型电脑应用,2003(19),11.
[3]陈世清.网格计算——新一代因特网[J].邵阳学院学报(自然科学).2003,2.
[4]http://www.cstec.org/info/business4.asp?column=201&id=765[DB/OL].
[5]http://www.pcdog.com/network/security/2005/11/g044560.html[DB/OL].