开篇:润墨网以专业的文秘视角,为您筛选了一篇网格计算环境配置及资源创建范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:网格技术近年来发展迅猛,已被人们视为继Internet、Web 之后的第三大技术浪潮。而Globus Toolkit 4.0 (GT4)现已成为构建网格环境和开发网格服务的首选平台。该论文讨论了网格服务的基本思想,分析了GT4的新特性及其在产业界的应用,探讨了在Windows xp上安装和配置GT4的方法和过程,并且介绍了使用网格模拟器GridSim创建一个网格资源的过程。
关键词:网格;Globus;Toolkit 4
中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)13-3398-03
网格是近年来出现的一组架构在互联网络服务之上的新兴技术,旨在支持虚拟组织的资源共享与协同工作。网格计算是网格发展的第一阶段,它以共享计算资源为目的,为用户提供聚合的超级计算能力。这种计算模式利用互联网将分散在不同地理位置的高性能计算机组织成一台 “虚拟的超级计算机”,从而解决复杂的科学计算。
近年来,以服务为中心的开放式网格服务体系结构(OGSA)得到业界大力支持并不断发展。由此网格计算正从超级计算领域走出来,进入到商业应用中,变资源共享为服务共享。网格服务已成为网格应用的核心。
1 网格服务的开发平台
1.1 Globus Toolkit简介
Globus 项目是美国Argonne国家实验室等科研单位的研发项目。该项目开发出能在多种平台上运行的网格计算工具包软件Globus Toolkit,它是一个面向公众的、支持Grid和Grid应用的开放源码服务和软件库集合,解决了资源管理、数据管理、信息发现、安全、通信、错误检查和可移植性等问题。2005年5月,Globus Consortium了Globus Toolkit4.0(GT 4)最新版本。GT4包括很多Web服务和标准,具有新的安全与授权特点,是足以满足企业需求的第一个版本。
1.2 GT4的新特性
与 GT4以前的版本相比,GT4中最引人注目的特性是包括很多Web服务和标准。GT4基于Web服务实现了对各种资源类的标准接口,这可以显著地简化设计。GT4在测试质量、文档、性能和可靠性方面都有很大的提高。可以认为GT4是一组支持创建SOA(Service Oriented Architectures)的核心功能。这些核心功能包括支持计算和数据资源的执行和数据管理功能――大量数据的移动和管理,以及支持资源发现和监视的服务。
GT4的新特性体现在:
1) 遵守最新的Web Services Interoperability Organization(WS―I)Web服务标准,在不同环境之间提供了最大的互操作性;
2) 包含对一些重要授权标准的初步支持,其中包括Security Markup Language(SAML)和eXtensible Access Control Markup Language(XACML);
3) 实现了WSRF和WS―Notification规范;
4) 具有复杂的授权和安全功能。从安全性的观点来看,GT4已经能满足企业的需求了;
5) 提供了高级的执行和数据管理功能。
2 The Globus Toolkit 4 开发环境的建立与配置
The Globus Toolkit 4 使用Java实现网格服务开发、运行。它的核心是apache axis SOAP服务器。下面介绍GT4在Windows XP上的安装。
1) 安装Java开发包(JDK)
目前网格计算系统采用Java,C ,C#,.NET语言作为开发平台,而Java语言因为天生的跨平台能力在网格计算系统中成为首选的编程语言,因此需要安装JDK对网格计算程序进行编译。将下载的jdk双击运行并安装到D:\应用程序\jdk\目录下;设置环境变量JAVA HOME=D:\应用程序\jdk; 并把D:\应用程序\jdk\bin或%JAVA HOME%\jdk添加到PATH变量值中。
2) 安装Ant工具
Ant工具用来对Java程序进行批处理量化调试和编译。Ant文件工作在文本模式下,运行时首先读取build.xm l文件中的配置信息,完成对网格计算程序的编译,打包和部署。新建目录D:\GLOBUS\apache-ant-1.6.5,并把Jakarta Ant1.6.5解压到目录中,新建环境变量ANT_HOME= D:\GLOBUS\apache-ant-1.6.5。
3) 安装tomcat
新建目录D:\应用程序\tomcat, 并把tomcat相关文件解压到目录中,新建环境变量CATALINA_HOME=D:\应用程序\tomcat。测试tomcat的安装,在命令行下,输入startup.bat,启动tomcat服务器,并且在浏览器输入localhost:8080/,如果出现以下画面(图1),表示安装成功。
4) 安装axis
SOAP是一个基于XML的用于应用程序之间通信数据编码的传输协议。Axis是Apache组织推出的SOAP引擎,Axis项目是Apache组织著名的SOAP项目的后继项目,其是GT4的网络传输协议,负责将网格服务与客户端之间的交互信息的传递。将下载的axis相关包解压,把解压出来的axix目录复制到tomcat目录下的webapps目录下,将axis/WEB-INF/lib目录下的文件复制到tomcat目录下的common/lib目录下。然后重新启动tomcat,在浏览器中输入:
localhost:8080/axis/happyaxis.jsp,如出现画面(图2),表示axis安装成功。
5) 安装Java WS Core
将下载的软件包解压大目录D:\GLOBUS\中,新建环境变量GLOBUS_LOCATION=D:\GLOBUS。
6) 部署GT4到tomcat
在命令行下输入:cd%GLOBUS_LOCATION%[回车],ant f share/globus_wsrf_common/tomcat/tomcat.xml deploySecureTomcat -Dtomcat.dir=%Catalina_home%[回车].然后,重新启动tomcat。在浏览器中输入:localhost:8080/wsrf/services;如果能显示表示成功。如图3所表示。
最后测试GT4自带容器的安装,在命令行模式下输入:globus-start-container -nosec -p 8888,其自带容器能够正常运行。
Globus Toolkit已成为网格计算事实上的标准。目前所有重大的网格项目都是基于Globus Tookit提供的协议与服务建设的。在基于GT4的网格服务开发环境下,可以动态地创建网格服务实例和调用它。
3 网格仿真
基于网格环境设计一个网格系统是一个非常复杂的系统工程,它需要考虑许多问题。例如,资源广域共享带来的异构性、安全性和网络性能问题等等。因此,需要一种新的网格规划和设计手段来提高网格设计的客观性和设计结果的可靠性,降低网格建设的投资风险。网格仿真技术正是在这种需求拉动下应运而生的。网格仿真技术以其独有的方法为网格的规划设计提供了客观、可靠的定量依据,缩短了网格建设周期,提高了网格建设中的决策性,降低了网格建设的投资风险。
网格仿真器是一些网格研究机构或个人利用网格仿真技术开发的网格仿真工具,其作用是模拟一个网格环境,在这个模拟的环境中可以研究不同的问题,比如可行性和性能问题。通过配置参数,可以更加真实的模拟出现实环境中的各种应用场景,使得模拟结果更具真实性;通过分析在仿真器上试验的如果,网格研究者可以不断的改进设计。
3.1 GridSim介绍
澳大利亚的墨尔本大学开发了一个基于JAVA的离散事件网格仿真工具箱GridSim。它支持对异种网格资源的建模与仿真。它提供了创建应用任务,映射任务到资源和管理的方法。GridSim是一个很全面的网格模拟器,它可以模拟各种异构的资源、用户、应用程序、资源等。
3.2 GridSim体系结构
GridSim采用分层的方法将复杂的网格调度模拟任务分解,每层专注解决一方面的问题。整个GridSim体系结构分为运行环境层、GridSim工具和开发应用层。运行环境是为GridSim运行提供支持,其又分为两层:下层为Java虚拟机,提供编程语言Java的运行平台;上层为SimJava离散事件仿真包,包含创建和运行模拟的基础类,并支持记录和统计,为离散事件系统的仿真提供强有力的基础支撑环境。
GridSim工具借助底层运行环境,建立了多个实体,包括资源、信息服务等,这些实体之间借助SimJava提供的接口相连,通过发送和接收事件对象来通信,模拟交互行为,从而构建了网格底层的模拟。工具中预留了多种接口,同时也提供了Gridlet、GridSimRandom等基本元素,为上层的建立提供了便利。开发应用层建立在GridSim工具上,主要实现网格调度的模拟和模拟实验的建立。这也包含两层:下层是完善网格系统的模型,包括调度器模型的建立、网格系统的使用模式模型的建立等;上层主要是实现不同应用场景,包括用户模型的建立、模拟实验的建立等。
4 用GridSim包创建网格资源
在使用gridsim包之前需要初始化gridsim包,初始化方法:GridSim.init(num_user,calendar,trace_flag, exclude_from_file,exclude_from_processing, report_name);
在创建网格资源的时候首先要声明这个网格资源包括多少机器,并将这些机器存放于gridsim.MachineList的对象中。而在创建机器对象时又必须声明这台机器包括多少PE,并且学要将这些PE放到gridsim.PEList对象中。因此在初始化GridSim之后,需要安在以下步骤来创建一个网格资源:
1) 创建多个PE对象,并将它们放到PEList中:
PEList peList1 = new PEList();
int MIPSRating = 377;
PEList1.add( new PE(0,MIPSRating) );
2) 创建一个Machine对象,并把它放到MachineList中:
MachineList mList=new MachineList();
add( new Machine(0, peList1) );
同理,如果一个网格资源包括多个machine的话,可以创建多个machine并把它们存放到MachineList中。
3) 创建一个ResourceCharacteristics:
ResourceCharacteristics resConfig = new ResourceCharacteristics(arch,os,mList,ResourceCharacteristics.TIME_SHARED,time_zone,cost);
4) 创建GridResource对象:
GridResource gridRes = new GridResource(name,baud_rate,seed,resConfig,peakLoad, offPeakLoad,holidayLoad,Weekends,Holidays);
以上是使用GRIDSIM包创建了一个网格资源,同理,可以根据需要创建更多的网格资源。
5 结论
网格技术作为新的研究领域,日益受到人们的关注。随着计算机计算能力的迅速增长,互联网络的普及和高速网络成本的大幅度降低以及传统计算方式和计算机的使用方式的改变,网格计算已经逐渐成为超级计算发展的一个重要趋势。网格计算是一个崭新而重要的研究领域,它以大粒度资源共享,高性能计算和创新性应用为主要特征,必将成为21世纪经济发展的重要推动力。
参考文献:
[1] 夏静波.网格原理与开发[M].西安:西安电子科技大学出版社,2006.
[2] 郁志辉,陈渝,刘鹏.网格计算[M].北京:清华大学出版社,2002.