云计算基础教程实验大纲.docx

上传人:无*** 文档编号:87073579 上传时间:2023-04-16 格式:DOCX 页数:131 大小:1.43MB
返回 下载 相关 举报
云计算基础教程实验大纲.docx_第1页
第1页 / 共131页
云计算基础教程实验大纲.docx_第2页
第2页 / 共131页
点击查看更多>>
资源描述

《云计算基础教程实验大纲.docx》由会员分享,可在线阅读,更多相关《云计算基础教程实验大纲.docx(131页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、云计算基础教程实验指导书目录云计算基础教程实验指导书1实验 MPI的搭建及OpenMP的配置3实验二集群系统的管理与任务9实验三PBS 17实验四MAUI25实验五Ganglia27实验六Nagios33实验七VMware虚拟机50实验八VirtualBox的安装与配置63实验九Xen的安装与配置66实验十 KVM与QEMU80实验H GNBD环境下的冗余磁盘阵列89实验十二HDFS的安装与配置92实验十三NFS的安装与配置97实验十四LVM的安装与创建98实验十五LVM环境下的RAID镜像102实验十六 Proxmox的使用106实验十七 基于Hadoop大数据平台的搭建与配置114实验MP

2、I的搭建及OpenMP的配置1. MP!简介消息传递接口 (Message Passing Interface, MPI)是目前应用较广泛的 种并行计算软件环境,是在集群系统上实现并行计算的软件接口。为了统互不 兼容的的用户界面,1992年成立了 MPI委员会,负责制定MPI的新标准,支持 最佳的可移植平台。MPI不是一门新的语言,确切地说它是个C和Fortran的函数库,用户通 过调用这些函数接口并采用并行编译器编译源代码就可以生成可并行运行的代 码。MPI的目标是要开发个广泛用于编写消息传递程序的标准,要求用户界面 实用、可移植,并且高效、灵活,能广泛应用于各类并行机,特别是分布式存储 的

3、计算机。每个计算机厂商都在开发标准平台上做了大量的工作,出现了一批可 移植的消息传递环境。MPI吸收了它们的经验,同时从句法和语法方面确定核心 库函数,使之能适用于更多的并行机。MPI在标准化过程中吸收了许多代表参加,包括研制并行计算机的大多数厂 商,以及来自大学、实验室与工业界的研究人员。1992年开始正式标准化MPI, 1994年发布了 MPI的定义与实验标准MPI 1,相应的MPI 2标准也已经发布。MPI吸取了众多消息传递系统的优点,具有很好的可以执行、易用性和完备 的异步通信功能等。MPI事实上只是个消息传递标准,并不是软件实现并行执 行的具体实现,目前比较著名的MPI具体实现有MP

4、ICH、LAMMPI等,其中MPICH 是目前使用最广泛的免费MPI系统,MPICH2是MPI 2标准的个具体实现,它 具有较好的兼容性和可扩展性,目前在高性能计算集群上使用非常广泛。MPICH2的使用也非常简单,用户只需在并行程序中包含MPICH的头文件, 然后调用些MPICH2函数接口将计算任务分发到其他计算节点即可,MPICH2为 并行计算用户提供了 100多个C和Fortran函数接口,表IT列出了一些常用的 MPICH2的C语言函数接口,用户可以像调用普通函数样,只需要做少量的代 码改动就可以实现程序的并行运行,MPICH并行代码结构如图1-1所示。表07常用的MPICH2函数接口编

5、号函数名称功能描述01MPInit初始化MPI接口02MPICommsize通信器进程数03MPI_Comm_ rank当前进程的进程号04MPIBcast广播方式发送数据05MPIReduce组合数据到主进程06MPIFinalize终止MPI(l)#includc mpi.h- /Z 包含 MPICH 的头文件(2) I!其他代码(3)MP1 lnit(); / 初始化MPl(4)MPI Comm rank(MPl COMM WORLD.&rank縣前进程标识号(5)MPl_Comm_size(MPl_COMM_WORLD.&siz); /参加运笄的进程的个数(6)MPl_Bcast()i

6、广播发送任务(7) 发送的H算任务(8)MPl_Rcduce/etc/mpd. conf#echo /etc/mpd. conf#echo 600 /etc/mpd. conf(6)添加主机名称集合文件mpd. hosts文件在mpd. hosts文件中加入如下主机名: bclnl bcln22)客户端的配置(1)挂载网络文件系统在/user/local目录下创建mpich2-install文件夹,然后在/etc/fstab中 加入需要挂载的网络文件系统,将服务器端共享的工作区挂载到本地,内容如下。 Server:/user/local/mpich2-install /user/local/m

7、pich2-install nfs defaylts 0 0(2)添加环境变量类似于服务器端,在/etc/profile中加入MPICH2可执行文件的环境变量 ecport PATH= $PATH:/user/MPICH-install/bin ” ,, 使用命令 source/etc/profile是新增加的环境变量生效。3. MPICH2 测试切换到工作区,运行 mpdboot-n -f mpd. conf 启动 mpi 的守护程序,该守护程序通知所有参加并行计算的计算节点,接下来运行 mpiexec-n cpi命令测试由MPICH2提供的计算圆周率 的并行程序,若运行完毕未出现错误提示,

8、则表示MPICH2的环境配置成功。4. OpenMP 简介OpenMP是种针对共享内存的多线程编程技术(SMP是配合OpenMP进行多 线程编程的最佳硬件架构),是由一些具有国际影响力的大规模软件和硬件厂商 共同定义的的标准。它是种编程指导语句,指导多线程、共享内存并行的应用 程序编程接口,OpenMP是种能被用于显示指导多线程、共享内存并行的应用 程序编程接口。其规范由SGI发起。OpenMP具有良好的可移植性,支持多种编 程语言。OpenMP能够支持多种平台,包括大多数的类UNIX及Windows NT系统。 OpenMP最初是为了共享内存多处理的系统结构而设计的并行编程方法,与通过 消息

9、传递进行并行编程的模型有很大的区别。这是用来处理多处理器共享的个 内存设备的情况。多个处理器在访问内存的时候使用的是相同的内存编址空间。 SMP是种共享内存的体系结构,分布式共享内存将多及的内存资源通过虚拟化 的方式形成一个统的内存空间提供给多个机器上的处理器使用,OpenMP对这 样的机器也提供了一定的支持。OpenMP的编程模型以线程为基础,通过编译指导语句来显示地指导并行化, 为编程人员提供了对并行化的完整控制。OpenMP使用Fork-Join (派生连接,见 图!-2)并行执行模型。一个OpenMP程序从个单个线程开始执行,在程序某 点需要并行时程序派生(Fork)出些额外的线程组成

10、线程组,被派生出来的线 程称为组的从属线程,并行区域中的代码在不同的线程中并行执行,程序执行到 并行区域末尾,线程将会等待直到整个线程组到达,然后将它们连接(Join)在 起。在该点处线程组中的从属线程终止而初始主线程继续执行直到下个并行 区域到来。个程序中可以定义任意数目的并行块,因此,在个程序的执行中 可Foek-Join若干次。使用OpenMP在编译器编译程序时,会识别特定的注释,而这些特定的注释 就包含着OpenMP程序的些语句。在C/C+程序中,OpenMP是以#pragma omp 开始,后面跟具体的功能指令。在OpenMP中编译指导语句是用来表示开始并行运算的特定注释,在编译器

11、编译程序时,编译指导语句能够被并行编译程序识别,串行编译程序则忽略这些 语句。并行编译程序根据这些指导语句将相关代码转换成在并行计算机中运行的 代码。一条编译指导语句由directive (命令/指令)和clause list (子句列表) 组成。OpenMP的编译指导语句格式为:#pragma omp directive-nameclauseE, Clausenew-line Structured-blockOpenMP的所有编译指导语句由#pragma omp开始,其中directive部分包含 OpenMP 的主要命令,包括 parallel、for、parallel for, sect

12、ion, sections, single, master, critical, flush, ordered, barrier 和 atomic。这些指令用 来分配任务或同步。后面的可选子句Clause给出了相应的编译指导语句的参数, 子句可以影响到编译指导语句的具体行为,每个编译指导语句都有一系列适合 它的子句,其中有 6 个指令(master,critical,flush、ordered,atomic,barrier) 不能跟相应的子句。new-line为换行符,表示一条编译指导语句的终止。编译 指令不能嵌入C, C+, Fortran语句,C, C+, Fortran语句也不能嵌入编译

13、指 令。OpenMP运行时库函数用来设置和获取执行环境相关的信息,其中也包含一系 列用一同步的API。要使用运行时库函数所包含的函数,应该在相应的源文件中 包含OpenMP头文件,即omp.h。OpenMP运行时库函数的使用类似与相应编程语 言内部的函数调用。有编译指导语句和运行时库函数可见,OpenMP同时结合了两种并行编程的方 式,通过编译指导语句,可以将串行的程序逐步改造成一个并行程序,达到增量 更新程序的目的,从而在一定程度上减少程序编写人员的负担。同时,这样的方 式也能将串行程序和并行程序保存在同一个源代码文件中,减少了维护的负担。 在运行的时候,OpenMP需要运行函数库的支持,并

14、会获取些环境变量来控制 运行的过程。这里提到的环境变量是动态函数库中用来控制函数运行的些参 数。5. OpenMP的配置OpenMP的配置非常简单,GCC4. 2以上的版本的编译器都自带了 OpenMP的头 文件和库,几乎不需要再做修改和配置就能使用OpenMP实现共享内存并行运行, 下面我们通过个实例来阐述在Linux下如何配置OpenMP Sinclude Int main( argc, argv)int argc;Char *argv;#pragma omp parallelprintf( Hello world!nM );return 0;考察上面这段简单的Hello world代码,

15、可以看出,除了多了一行#pragma omp parallel以外,这段代码和普通的C语言代码没有什么区别,#pragma omp parallel是一条OpenMP标准的语句,它的含义是让后面的语句按照多线程来执 行。当我们采用GCC编译时,加入OpenMP的参数一fopenmp,即可将程序并行化, 命令如下:rootlocalhost # gcc -fopenmp helloworld, c rootlocalhost # . /a. outHello world!编译、执行程序,屏幕上打印出了一遍Hello world”。-fopenmp是GCC编译支持OpenMP程序的参数,GCC4.

16、 2以上的版本默认支持 OpenMPo由于系统环境变量中的NUM_THREADS的默认为1,所以程序只使用个线程 来执行。如果要使用多线程执行程序,可以修改环境变量NUM_OMP_THREADS,命 令如下:rootlocalhost # NUM_0MP_THREADS=5rootlocalhost # export NUMOMPTHREADSrootlocalhost # . /a. outHello world!Hello world!Hello world!Hello world!Hello world!以上命令表示给线程数量的环境变量NUM_OMP_THREADS赋值为5并导出,再 执

17、行程序,得到5遍的“ Hell。world!”,说明程序将打印语句用5个线程分别 执行一遍。如果不希望受到运行系统环境变量的限制,也可以将代码#pragma omp parallel 替换成#pragma omp parallel num threads (10).编译之后再执行程 序,得到!0遍“Hello world!M 这是无论环境变量NUM_OMP_THREADS的值为多 少,都只得到10遍的“Hell。world!只实验二 集群系统的管理与任务1. XCAT简介一个普通的小规模集群系统(节点小于10)在没有集群管理软件进行管理 的情况下,通过手动安装、配置每台计算节点,其工作量的多少

18、是可想而知的, 以个包含10个节点的集群系统为例,在每一台计算节点上安装操作系统、配 置并行计算机环境、同步集群用户,在保证不出错的情况下,花费的时间大约是 两个小时,10个计算节点共需要20个小时左右,这还是个比较小的集群系 统,如果像石油勘探、天气预报等使用的动辄几百个节点的集群系统,照这种方 法逐个配置计算节点,虽然耗费的时间太多,而且要重启计算节点也必须逐个进 行,操作极其繁琐,因此需要集群管理软件来管理集群系统,提高工作效率。XCAT( Extreme Cluster Administration Toolkit)是由大型计算设备提供商 IBM 开发的套集群管理套件,在IBM的刀片箱

19、上集成了一个KVM的硬件模块, 该模块控制着箱内的所有刀片,包括电源开关、启动顺序等,XCAT可以控制 KVM模块,用户可以通过该套件实现集群计算节点的管理,使得集群管理更容 易,用户只需要安装好管理节点,配置好XCAT的相关参数,就可以通过XCAT 控制计算节点的安装(使用PXE网络启动和KickStart),配置、重启等操作,特 别是使用XCAT安装计算节点,在管理节点上设置安装源以后,运行发送命令, 计算节点就会自动从管理节点同步安装文件,自动将管理员设置好的软件包等安 装到计算节点上,无需管理员诸葛安装和配置每台计算节点,为集群管理员节省 了大量时间。2. XCAT的配置XCAT能帮助

20、管理员有效地管理集群,避免了手动管理每个集群计算节点 的麻烦。只需要载管理节点上安装和配置好XCAT的运行环境,就能使集群的 管理更加简单,接下来介绍XCAT的安装与配置。1) XCAT安装的前提条件管理节点上至少要有两个网卡,个对内部的计算节点进行管理,一个对外 提供计算应用。除此之外,还需要如下4个XCAT的软件包。xcat-dist-core-1 . 2.0-RC3.tgzxcat-dist-doc-1 . 2.0-RC3.tgzxcat-dist-ibm-1 . 2.0-RC3.tgzxcat-dist-oss-1 . 2.0-RC3.tgz2)安装XCAT 解压缩前面列出的XCAT必

21、须的4个软件包,如果将这4个软件包解 压到/pt/xcat目录下则运行如下命令。rootmanager#tar-xzvpf xcat-dist-core-1 .2 ,0-RC2.tgz-C /opt/xcatrootmanager#tar-xzvpf xcat-dist-oss-1 . 2.0-RC2.tgz-C /opt/xcatrootmanager#tar-xzvpf xcat-dist-ibm-1 . 2.0-RC2.tgz-C /opt/xcatrootmanager#tar-xzvpf xcat-dist-doc-1 . 2.0-RC2.tgz-C /opt/xcat 安装包解压完

22、成后,会在/pt/xcat中生成安装脚本setupxcat,载生成的 文件夹中进行XCAT的首次安装。rootmanager#./setupxcat 配置网络时间同步服务器(NTP)o设置NTP的目的是为了使集群中的 计算节点能自动管理节点上同步时间,避免了手动修改每台计算节点造成的时间 不统的问题,首先我们载管理节点上设置好NTP服务器端,编辑/etc/ntp.conf 配置文件,载文件中输入如下内容。#vi /etc/ntp.confserver server 127.127.1.0fudge 127.127.1.0 stratum 10driftfile /var/lib/ntp/dri

23、ft编辑ntp.conf完成后,需要载服务器开启NTP服务,使系统自动的时候自动 加载NTP服务,命令如下。#chkconfig level 345 ntpd on定义集群XCAT对计算节点的管理主要依靠集群设备中硬件的定义信息表,这个 表由管理员载集群管理节点上配置,表2-1列出了常用的几个表名及用途。表2-1XCAT中的表表 名用途site.tabxCAT住配置表,集群的全局定义表,是整个XCAT中 最重要的一个表,它定义了 rsh路径、rep路径、安装计算节 点需要的tftp目录、集群的域名解析服务器地址、管理节点 的名称、使用的作业管理系统名称、资源调度器名称等nodehm.tabXC

24、AT的计算节点硬件管理表,记录了节点名称、高级 系统管理适配器、电源类型、终端类型等硬件信息Nodelist.tab定义集群中多有节点的名称、节点从属组、运行状态等Nodepos.tab记录了每个节点所安放的物理位置noderes.tab定义节点组名称、节点的启动方式、tRp服务器IP地址、 nfs服务器1P地址、安装启动的网卡设备名称等Nodetype.tab定义节点的系统类型、构架,使用的镜像类型及从属的 组名称passwd.tab定义各种管理设备使用的用户及密码postscripts.ta b定义kickstar等安装结束后配置节点的相关脚本Postdeps.tab定义postscrip

25、ts中脚本的相互依存关系Networks.tab定义节点所使用的网段、掩码、网关、DNS信息conserver.tab定义节点通过何种方式转发console信息mp.tab定义节点的管理设备及在插槽的位置mpa.tab定义管理设置的类型及使用何种方式进行管理等定义好XCAT管理集群的表以后,就可以在系统管理节点上创建DNS服务、 收集计算节点的MAC地址、创建DHCP服务等,按照传统的方式配置这些服务, 不仅需要管理员非常熟悉DNS、DHCP服务器等的配置,还非常容易载配置中 出现错误。XCAT已经为管理员简化了这方面的配置,剩下的事情就交由XCAT 自动执行安装配置,不仅简化了操作,还节约了

26、时间,同时在保证所有表配置信 息不出错的情况下,XCAT能将这些服务器安装、配置正确。下面分别给出了创 建DNS、收集MAC地址信息、创建DHCP服务的命令。创建DNS服务。#makedns 收集所有计算节点的MAC地址信息至mac.tab#getmacs compute仓建DHCP服务。#makedhcp new allmac 第二次运行setupxcat,完成CAT的安装。#. /setupxcat3.使用XCAT安装计算节点XCAT配置完成后,就可以通过XCAT安装计算节点了,在安装计算节点前, 还需要设置系统安装镜像及NFS、TFTP服务等。首先要利用Linux的安装光盘建立安装计算节

27、点需要的操纵系统下载源,这 样当所有的计算节点来时安装系统时会自动到管理节点上下载安装包到本地执 行安装。这需要在管理节点上打开TFTP服务,XCAT整合了这些繁琐的操作, 只需要运行一个命令copycds就可以实现,运行完这个命令后,会在根目录下生 成install文件夹,在这个文件夹下生成系统的安装源文件,以64位的Red Hat Enterprise Linux 为例,生成目录为/install/rheLSERVER5.3/x86.64,拷贝安装源 文件这个过程会耗费约10分钟,具体时间根据管理节点的性能而有差异。拷贝 完安装源文件,接下来再复制XCAT目录下保存的系统安装完成后额外需要

28、 安装的软件,命令如下。#cd /opt/xcat#find post -print | cpio -dump /install安装源和额外安装的软件配置完成后,需要建立计算节点启动的镜像文件, 以便于计算节点从网卡启动时,自动从管理节点上下载启动镜像文件,命令如下。#cd /opt/xcat/stage#./mkstage完成上面的设置以后,为确保XCAT正常控制计算节点,可以先进行电源 管理命令的测试,以查看XCAT是否正常检测计算节点的状态,在管理节点的 终端输入如下命令。#rpower compute stat若返回如下计算节点的状态信息,则表示XCAT已能正常控制计算节点, 否则应根

29、据错误提示,重新配置XCAT。Bclnl: onBcln2: onBcln3: onBcln4: onBclnl2: onBclnl3: onBclnl4: on当XCAT所有的配置完成以后,接下来要进行计算节点的系统安装,采用 XCAT来安装计算节点不仅能节省大量的时间,而且所有的计算节点的环境都是 样的,XCAT安装计算节点非常简单,只需要运行几个命令即可。剩下的事缴 费XCAT处理就可以了,首先要通过XCAT设置计算节点的启动顺序,由于计 算节点是采用网卡引导安装的,因此需要将网卡的启动顺序设置在最前面,命令 如下。#rbootseq compute n,ch该命令的作用是设置计算节点的

30、启动顺序为network、cdrom、floppy.harddisk接下来执行节点的安装命令。#nodeset blade install其中blade为计算节点所属的组,安装的目标为blade组中所有的计算节点, 也可以用范围来表示,如要安装bcln!至bclnl4的计算节点,可以用命令nodeset bclnl-bclnl4 instalL执行完nodeset命令后,XCAT中的nodeset表的状态会发 生改变,只要重启计算节点,从网卡启动计算节点,就可以开始计算节点的安装, 可以用tabdump nodeset命令来查看该状态,表中的内容如下。#node,groups,status,a

31、ppstatus,comments,disableHunknownn,ncompute,mm,maths,blade,allnbcln;,mm,air,naliven,”bc 1 n8 Jcompute,blade,aH ”/installing”,”nbc 1 n4M,ncompute,maths,blade,all “Jinstalling”,”bc 1 n7Jcompute,blade,all ”, installing”,”bc 1 n 12”,”compute,blade,all ”,”installing”,”bcln2”,”compute,maths,blade,aU ”,”in

32、stalling”,”bc 1 n 14n,Hcompute,blade,all ”installing”,”bc 1 n9”,”compute,blade,all ”,”installing”,”bc 1 n 13”,”compute,blade,all ”,”installing”,”bc 1 n 1 n,Mcompute,blade,all ”, installing”,,”bc 1 n6”,”compute,blade,all ”, installing”,”bc 1 n ! ”,”compute,blade,all ”,”installing”,”bcln3”,”compute,ma

33、ths,blade,aH ”,”installing”,”bcln5”,”compute,maths,blade,all ”,”installing”,,”bc 1 n 11 n,Mcompute,blade,all ”installing”,然后重新启动所有的计算节点,剩下的工作就是等待XCAT控制所有计算 节点完成系统的安装,重启计算节点的命令如下。#rpower blade reset安装完所有节点以后,需要配置管理节点上的资源,包括生成SSH密钥、 建立NFS服务等,具体步骤如下。 生成root的SSH keys#gensshkeys root在/pt/xcat/etc/下将生成一个g

34、kh文件 更新/etc/exports文件。#vi /etc/exports/opt/xcat *(ro,no_root_squash,sync)/usr/local *(ro,no_root_squash,sync)/install *(ro,async,no_root_squash)/home*(rw,no_ root_ squash,sync) 启动NFS服务或使用exportfs#service nfs start或#exportfs-rvexporting *:/xcatdata/installexporting *:/xcatdata/localexporting *:/xcatd

35、ata/homeexporting *:/xcatdata/xcat 安装结束后,收集SSH host keys#makesshgkh compute 测试psh,查看各节点时间是否正常。#psh compute date; date4.使用XCAT管理计算节点XCAT安装配置完成计算节点的安装后,需要添加集群的用户,与单独的服 务器不同,这不仅需要在管理节点上建立集群用户,管理节点上的用户还必需在 计算节点上存储份镜像,以便于集群用户能使用所有的节点。首先在管理节点添加集群用户和用户组。root# groupadd ibmroot# addclusteruserEnter username:

36、 hpcuserEnter group: hpcuserEnter UID (return fbr next): 501Enter absolute home directory root: /homeEnter passed (blank fbr random): redbookChanging password fbr user ibm.passwd: all authentication tokens updated successfully.在集群管理节点上完成了用户和组的建立,然后将所有集群用户同步到所有 计算机节点上,利用命令pushuser执行。root# pushuser al

37、l hpcuser在没有安装XCAT的集群上,计算节点间的文件拷贝是比较费力的,必须 重复地使用scp命令拷贝文件到各个计算节点上,虽然可以使用脚本编程语言用 循环实现,但其工作量也不小,另外,有些需要在每个计算节点上依次执行的命 令,如果按照传统的方式登录到计算节点上去执行,工作的难度可想而知。针对 节点间文件拷贝和命令执行不方便这两个问题,XCAT提供了 pscp和psh命令, 使用它们可以实现计算节点文件的并行拷贝和命令的并行执行,只需一个命令就 可以向所有的节点拷贝文件或执行命令,另外,XCAT还提供了并行网络检测命 令pping、节点电源控制命令rpower等,大大减轻了管理员的工作

38、负担,命令如 下。 并行执行psh命令可以在管理节点上并行执行计算节点上的命令。root# psh be 1 n 1 -be 1 n3 uname -rBcln2: 2.6.9-34.ELBclnl:2.6.9-34.ELBcln3:2.6.9-34.EL 并行远程拷贝命令pscp可以并行拷贝文件到计算节点上。root# pscp -r /usr/local be 1 n 1 ,bc 1 n3 :/usr/localroot# pscp passwd group all:/etc 并行网络连接测试命令pping可以并行测试集群计算节点的网络状 态。root# pping bcln4-bcln6

39、Be 1 n4: pingBcln6: pingBcln5: noping表示网络不能到达(4)远程电源控制命令rpowerorpower noderange on|offstate|reset|boot|cycleroot# rpower be 1 n4,bc 1 n4 statBclnl4: onBcln5: offroot# rpower bcln5 onBcln5: on实验三PBS1. PBS简介PBS(Portable Batch System)最初由NASA的Ames研究中心开发,目的是提 供个能满足异构计算网络需要的软件包,特别是满足高性能计算的需要。它 求提供对批处理的初始化

40、和调度执行的控制,允许作业在不同主机间路由。PBS 独立的调度模块允许系统管理员定义资源和每个作业可使用的数量。调度模块存 有各个可用的排队作业、运行作业和系统资源使用状况信息,系统管理员可以使 用PBS提供的TCL、BACL、C过程语言。PBS的调度策略可以很容易被修改, 以适应不同的计算需要和目标。PBS的结构及功能。PBS主要由4个部分组成:控制台、服务进程、调 度进程和执行进程。控制台实质上由一系列PBS提供的命令构成,PBS同时还 提供了图形化界面XPBS,实现了图形界面与PBS命令的映射:服务进程即 pbs_server (简称server),是PBS运行的核心,它集中控制整个集群

41、上的作业运 作。调度进程即pbs_sched,它包含了作业运行及运行地点和时间的站点控制策 略。执行进程即pbs_mom,实际上由它产生所有正在执行的作业。 调度策略。PBS为了调度那些应该放在执行队列的作业,提供了一个单 独的进程。这是个灵活的机制,可以实现大量的策略。这个调度程序使用标准 的PBS API来和服务器通信,使用个额外的API来和PBS执行进程通信。通 过使用些额外提供的API,可以增强调度的策略,进而实现个可替换的调度 程序。第一代批处理系统和许多其他的批处理系统都使用大量基于限制作业或控 制调度作业的队列。为了按照时间来控制作业的排序,队列会被打开或关闭,或 者限制载队列里

42、运行作业的数量;而PBS支持多重队列,并且这些队列有很多 其他批处理系统所使用的作业调度属性,PBS服务器本身并不运行作业,也不添 加任何限制,这些都是由队列属性实现的。事实上,调度程序仅仅拥有不超过一 个有管理员特权的客户端。控制调度的服务器和队列属性可以通过拥有特权的客户端来调整,这些特权 命令是qmgro然而,这些控制通常驻留在调度程序上,而不是服务器上。这些 调度程序必须检查服务器、队列和作业的状态,决定服务器和队列属性的设置。 在之后的决策中,调度程序必须使用这些设置。另个方法就是whole pool方法,所有的作业都放在个单独的队列中,调 度程序评估每个作业的特点并且决定运行哪个作业。这些策略能很容易地包括 一些因素,如每天的运行时间、系统的装载、作业的大小等。队列里作业的顺序 不需要被考虑。这个方法的主要优势在于用户可以根据自己的主要需求来产生策 略,通过调度,使当前的作业更好地适应

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁