《七章用户界面》由会员分享,可在线阅读,更多相关《七章用户界面(45页珍藏版)》请在金锄头文库上搜索。
1、第七章 用户界面龚 斌山东大学计算机科学与技术学院山东省高性能计算中心UNICORE简介UNICORE概述概述UNICORE的结构分析的结构分析UNICORE各组件的作用各组件的作用UNICORE各组件间的关系各组件间的关系Overview of UNICORE Job基于基于UNICORE环境下的数值天气预报应用环境下的数值天气预报应用UNICORE定义定义(1)访问计算资源的统一接口,UNiform Interface to COmputing REsources的缩写UNICORE是德国联邦教育和研究部资助的一个项目,主要合作者是德国的五家研究机构,其目的是提供一套软件,允许用户给远程高
2、性能计算机提交自己的作业。 UNICORE定义定义(2)UNICORE提供了一个科学和工程的网格超级计算机中心资源的结合,通过Internet可以利用这些资源,平台之间的差别对用户来说是隐藏的,因而是创建了一个无缝的HPC入口来访问超级计算机、编译和运行应用软件,以及传送输入和输出数据。UNICORE的目的的目的Industrial corporations wanting to combine their distributed computing resources to make them available to more of their engineers and other us
3、ers Computing centers wanting their mobile users to access their platforms in a secure yet easy-to-use way Research centers and universities wanting to pool computing resources and enhance scientific problem solving environments UNICORE的使用的使用 UNICORE让用户在Unix工作站或者Windows个人计算机上通过图形用户界面准备和修改作业结构。作业可以提交
4、到UNICORE GRID的任一平台,用户可以通过客户端的作业监视器监视和控制已提交的作业。UNICORE的安全性的安全性用户授权用X509证书实现。参与的站点使用他们的已被证明的机制来处理用户授权。运行UNICOREpro服务端的计算中心,拥有完全的自主权来管理用户和分配资源。为了传递作业,控制信息和应用数据,SSL用来负责数据的完整性和机密性。作业表示法有原始用户的私钥的标记,这样可以阻止第三方干预作业的内容。UNICORE的系统特性(的系统特性(1)A Production-Ready GRID System服务端可以在多数平台上运行,客户端可以在基于Java的平台上运行。easy Jo
5、b Construction and Control编辑任务很简单,有图形化的用户界面(客户端),客户端也可以监视任务的运行情况UNICORE的系统特性(的系统特性(2)simple and Versatile Data Transfer使用流模式传递数据,支持任意大的数据集并且性能良好,所有的数据在传递时使用SSL保护。Designed for Extensibility开放式系统、扩展性强,客户端提供了强大的插件接口(plugin interface)。Support for Standard Applications支持标准的应用。UNICORE结构分析结构分析UNICORE系统有三层,
6、分为: 用户层:Client( user interface ) 服务层:Gateway NJS( Network Job Supervisor )and its related components: IDB(Incarnation Database) UUDB( UNICORE User Database ) 目标系统层: TSI (the Target System Interface ) 3层间相互联系,总的结构如图:UNICORE Architectureoptional firewallBatch SubsystemAJOUser CertificateJob Preparatio
7、n Agent (JPA)Job Monitor Controller (JMC)Abstract status requestUser authenticationList of SitesUNICORE ClientTarget System Interface (TSI)Incarnated jobCommandsUser mapping,Resources infoSite-specific authorizationTSITSIBatch SubsystemFZJLRZ.TSIBatch SubsystemPreparation andControl of jobsNetwork J
8、ob Superviser(NJS)Unsafe Internet (SSL/https)Safe Intranet (TCP/http)IDBJob incarnationSending jobs toother gateways,data transferStatus requestSV1T3ESR8000 filesUUDBIDBIDBUUDBIDBNJSUNICORE GatewayUNICORE GatewayNJS用户层客户端(1)用户层由UNICORE客户端构成。UNICORE客户端作为一个图形用户接口,用户通过它准备和管理UNICORE作业。客户端是运行在用户个人工作站上的ja
9、va程序。用户层客户端(2)用户只需在JPA(Job Preparation Agent,作业准备代理商)里指定要执行的动作、需要的资源以及作业在哪种系统上运行,就可产生一个UNICORE作业。客户端根据作业的描述产生一个AJO(Abstract Job Object,抽象作业对象),AJO是代表UNICORE抽象作业模型的类的具体实例。AJO被用户证书签名并送往Gateway。服务层 GatewayGateway是服务层的第一个组件。Gateway提供了一个IP地址和一个外界可以访问的端口,客户端靠此与Gateway建立一个SSl连接进行通信。Gateway负责用户的鉴定,客户端和服务器间的
10、安全通讯,并将作业传给NJS(Network Job Supervisor,网络作业管理者)。服务层 Network Job Supervisor(1) NJS要先读取AJO中包含的用户证书,然后在UUDB(UNICORE User Data Base,UNICORE用户数据库)中查找该证书映射的用户名,此用户名代表了目标系统是用何种身份执行该AJO。 服务层 Network Job Supervisor(2) NJS再利用IDB(Incarnation Database,具体化数据库)将AJO表示的抽象作业转化成目标系统的特定批处理作业。每个NJS控制一个目标系统或者一个由单个资源管理系统支
11、配的系统群,例如一台P690,一个浪潮机群。Gateway 和NJS运行在一个防火墙后面的专用安全系统上。服务层 Incarnation DatabaseIDB(Incarnation Database,具体化数据库) NJS利用IDB将抽象作业转化成目标系统的特定批处理作业 。服务层 UNICORE User Database UNICORE User Data Base,UNICORE用户数据库,它的主要作用是进行用户用户数据库,它的主要作用是进行用户管理,即负责对管理,即负责对UNICORE中提交作业的中提交作业的用户身份进行转化用户身份进行转化根据用户证书将根据用户证书将其转化为系统中
12、具体存在的某个用户。其转化为系统中具体存在的某个用户。目标系统层Target System Inteface TSI(Target System Inteface,目标系统接口)是运行在目标系统上的一个后台进程,TSI是UNICORE通信的终点,负责本地操作系统和本地批处理系统的交流。目标系统可以是一群由一个资源管理系统支配的系统,也可以是一个独立的系统。目标系统层Target System Inteface(2)IDB在目标系统上定义了一个文件空间Uspace。UNICORE作业及所需的文件会被分配到Uspace的一个临时目录中,作业过程中产生的临时文件也储存在这里。作业结束后,除了用户指定
13、的输出文件会返回到本地目录,临时目录及所有临时文件将被删除 UNICORE各组件间的关系各组件间的关系UNICORE组件间的关系CG-Client to Gateway多对多的对应关系,每一个客户端可以选择多个Gateway,同样每一个Gateway可以接收来自多个客户端的请求。客户端包括Unicore Client和NJS(NJS可以通过Gateway将分配到的AJO提交给其他的NJS,此时NJS表现为客户)。 GN-Gateway to NJS一对多的对应关系,每一个Gateway可以对应多个NJS。Gateway通过自己的配置参数和连接文件所指定的NJS机器端口,寻找NJS 。NT-NJ
14、S to TSI一对多的对应关系,一个NJS可以管理多个TSI。NJS通过socket端口与TSI进行联系。TSI通过tsi文件或者是命令行参数获得NJS的机器名和端口。NJS通过一个端口与TSI进行连接。守护TSI通过一个端口与NJS进行通讯。NJS和TSI之间的协议是通过文本方式定义的。AN-Administrator to NJS一对一的对应关系,一个管理员管理一个NJSnjs_admin控制NJS的执行,包括:启动、暂停、中止等。NJS侦听njs_admin_port来接收管理员的控制命令。njs_admin_port在njs.properties文件中有详细的定义。UNICORE结构
15、综述(1)从用户的角度看,UNICORE是一个建立在三层模型基础上的C/S系统。用户使用装在本地PC上的UNICORE客户端。在顶层,每一个参与网格的计算中心都会定义一个或几个客户端可以连接的UNICORE网格站点(简称Usite,即Gateway)。UNICORE结构综述(2)一个Usite提供计算资源的入口,这些资源被组织成一个或几个虚拟站点(简称Vsite,即NJS和TSI),Vsite代表了计算中心的执行或存储系统。用户在客户端递交作业时,都要表明要递交给哪个Vsite执行。UNICORE结构综述(3)一个Usite有一个Gateway,Gateway是客户端连接Usite的唯一入口。
16、Vsite由NJS和TSI组成,负责管理所有递交的UNICORE作业。Vsite之间,甚至是不同Usite下的Vsite都可相互通讯,协同完成作业。简单地说,UNICORE中的Vsite就相当于一个独立的计算资源,如一台PC、一个工作站或是一个集群,一个Usite就相当于存放了几个Vsite的机构或组织,外界用户通过这个机构的Gateway访问它的各个计算资源 UNICORE结构综述(4)下图展示了一个完整的UNICORE系统,它由2个Usite组成,总共有3个Vsite。UNICORE Architectureoptional firewallBatch SubsystemAJOUser C
17、ertificateJob Preparation Agent (JPA)Job Monitor Controller (JMC)Abstract status requestUser authenticationList of SitesUNICORE ClientTarget System Interface (TSI)Incarnated jobCommandsUser mapping,Resources infoSite-specific authorizationTSITSIBatch SubsystemFZJLRZ.TSIBatch SubsystemPreparation and
18、Control of jobsNetwork Job Superviser(NJS)Unsafe Internet (SSL/https)Safe Intranet (TCP/http)IDBJob incarnationSending jobs toother gateways,data transferStatus requestSV1T3ESR8000 filesUUDBIDBIDBUUDBIDBNJSUNICORE GatewayUNICORE GatewayNJS Overview of UNICORE JobUNICORE递交工作是以job为单位的,一个job会被递交给一个Vsit
19、e执行。一个job包含了若干个task,一个task就代表了UNICORE可以递交的一个任务(比如执行一个脚本,执行一个命令,调用某个应用程序等)。可以说,job就相当于文件夹,存储了一些task,task就相当于具体的文件,表示具体的任务。 Overview of Job(1)Overview of Job(2)下图就是一个task的例子。从左上的Job Preparation可以看到被选中的task,其名字为RenderTask,它的图标告诉我们这是一个POR-Ray task,即通过调用服务器端的光线跟踪程序,产生一个场景文件。右边就是POR-Ray task的作业准备面板,在这里用户可
20、以设定执行这个task需要的一些参数以及返回结果存放的路径等相关信息。 Overview of Job(3)UNICORE递交一系列任务时,有时这些任务的执行有先后顺序(例如只有在一个编译任务结束后,才能进行对应的执行任务)。UNICORE通过定义工作流(WorkFlow)来规定任务执行的先后顺序。Overview of Job(4)UNICORE为每个group提供了一个dependency editor,在上面可以方便的定义该group的tasks的倚赖关系,形成执行这个group的工作流。job的Dependencies选项卡,直观的表明了该job包含的各个task的依赖关系,在这里,用
21、户可以用鼠标拖拽等操作,方便地设定task之间的依赖关系 Overview of Job(5)UNICORE可以完成四种定制工作流: DoN: 重复执行job若干次; IfThenElse:依据条件执行两个job中的一个; DoRepeat: 执行一个job直到条件变为“真”; HoldJob: 挂起一个job直到给定的时间耗尽。 基于基于UNICORE环境下的环境下的 数值天气预报应用数值天气预报应用数值天气预报数值天气预报相关知识相关知识:MM5是由美国国家气象局和宾夕法尼亚大学联合开发的中小尺度非静力动力气象模式。GrADS是一种二维的图象格式。本应用流程 用户从客户端提交数值天气预报的
22、用户从客户端提交数值天气预报的输入数据至高性能计算中心的目标系统输入数据至高性能计算中心的目标系统上(上(P690),首先经过),首先经过MM5计算,再把计算,再把得到的结果数据进行得到的结果数据进行GrADS模式转换,最后生成结果图片返回至客户端,并在client可以查看结果图片。UNICORE环境下的气象预报的应用步骤:1 气象预报应用计算1.1 TransferData 传送初始数据至暂存位置;1.2 ImportData 使得初始数据到达运算位置;1.3 MM5Computing 调用MM5计算; 2 气象预报应用显示 2.1 ConvertDataF 调用MM5toGrADS转换; 2.2 GeneratePic 生成图片; 2.3 DisplayPic 取回图片至本地查看图片。 demo其他工具WebsubmitCoGGrADSGridLabGPDKGDMP