集群作业管理系统简介 报告人:罗正平 导 师:肖炳甲研究员
报告主要内容 1、集群简介 2、作业管理系统PBS简介 3、作业脚本示例
1 集群简介 集群是一组独立的计算机(节点)的集合体,节点间通过高性能的互连网络连接;各节点除了可以作为一个单一的计算资源供交互式用户使用外,还可以协同工作并表现为一个单一的、集中的计算资源供并行计算任务使用。 特征: 机群的各节点都是一个完整的系统:工作站,PC机或SMP机器; 互连网络通常使用商品化网络,如以太网、FDDI、ATM等; 网络接口与节点的I/O总线松耦合相连; 各节点通常有一个本地磁盘; 各节点有自己的完整的操作系统。 各节点除了可以作为一个单一的计算资源供交互式用户使用外,还可以 协同工作并表现为一个单一的、集中的计算资源供并行计算任务使用。 SMP(Symmetric MultiProcessor – 对称多处理器):是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。它是相对非对称多处理技术而言的、应用十分广泛的并行技术。在这种架构中,一台电脑不再由单个CPU组成,而同时由多个处理器运行操作系统的单一复本,并共享内存和一台计算机的其他资源。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。系统将任务队列对称地分布于多个CPU之上,从而极大地提高了整个系统的数据处理能力。所有的处理器都可以平等地访问内存、I/O和外部中断。在对称多处理系统中,系统资源被系统中所有CPU共享,工作负载能够均匀地分配到所有可用处理器之上。 松耦合:松耦合系统通常是基于消息的系统,此时客户端和远程服务并不知道对方是如何实现的。客户端和服务之间的通讯由消息的架构支配。只要消息符合协商的架构,则客户端或服务的实现就可以根据需要进行更改,而不必担心会破坏对方。 FDDI(Fiber distributed data interface )光纤分布数字接口 ATM(Asynchronous Transfer Mode)异步传输模式
1 集群简介—Ctrldata Cluster(.8) Internet 管理节点配置: CPU:Intel(R) Xeon(R) 1.6G 内存:4G(41.0G) 系统:Linux AS4.0 计算节点配置: CPU: Intel(R) Xeon(R) 3.0G 内存: 4G(41.0G)
2 作业管理系统---PBS 最初由NASA在20世纪90年代早期开发 面向集群系统提供有效的作业管理服务 目前有两个版本:OpenPBS(开源)和PBSPro(商业) CHESS集群管理系统集成了PBS系列管理软件TORQUE。 PBS: Portable Batch System TORQUE:Tera-scale Open-source Resource and QUEue manager
2 作业管理系统---PBS特点 TORQUE: 易用性:PBS为所有资源提供统一的借口,易于配置,作业调度灵活 移植性:用于shell和批处理等各种环境 适配性:适配与各种管理策略,提供可扩展的认证和安全模型 灵活性:支持交互、批处理、串行及并行作业 扩展性:标准PBS支持约300个节点,满足集群需要 TORQUE: 基于PBS项目的开源软件,可以认为是开源的OpenPBS的改进版。其优点有: 扩展性强:TORQUE可以支持超过1500个节点 容错性好:修正了大量的bug,提供更多故障支持
2 作业管理系统---PBS结构 PBS Server:运行于集群的管理节点。创建并接受作业、修改作业、激活调度器(PBS Scheduler)以及通知PBS执行器(PBS Moms)执行作业 PBS Scheduler:根据资源管理器获知各个节点的资源状况和系统的作业信息生成相应的作业优先级列表 PBS Moms:每个节点均有一个后台进程,该进程真正启动和停止提交到该节点的作业
2 作业管理系统---PBS作业会话实现 mom client server scheduler 5 qsub 1 6 7 2 3 4 1、用户向服务器提交作业脚本; 2、服务器将作业放入队列并由调度器检查作业队列; 3、调度器询问执行器,获取资源信息,如内存、cpu及负载等; 4、调度器检查作业并分配资源,返回作业ID及资源列表给服务器; 5、服务器通知执行器执行任务脚本; 6、执行器执行脚本,监控执行状况并返回信息到服务器; 7、服务器通知执行结束
2 作业管理系统---PBS常用命令 作业提交命令---qsub 命令格式: qsub my_script 返回信息: 作业ID号
2 作业管理系统---PBS常用命令 作业状态检查命令—qstat 命令格式:qstat -f
2 作业管理系统---PBS常用命令 作业挂起命令---qhold 命令格式: qsub job_id 作业删除命令---qdel 命令格式: dsel job_id 详细信息请查询PBS使用指南
3 作业脚本示例—runefit.pbs 不必要部分 #PBS -S /bin/bash #PBS -o out_runefit #PBS -e err_runefit #PBS -l nodes=4:ppn=2 echo ------------------------------------------------- echo -n 'Job is running on node '; cat $PBS_NODEFILE echo -------------------------------------------------- echo PBS: qsub is running on $PBS_O_HOST echo PBS: originating queue is $PBS_O_QUEUE echo PBS: executing queue is $PBS_QUEUE echo PBS: working directory is $PBS_O_WORKDIR echo PBS: execution mode is $PBS_ENVIRONMENT echo PBS: job identifier is $PBS_JOBID echo PBS: job name is $PBS_JOBNAME echo PBS: node file is $PBS_NODEFILE echo PBS: current home directory is $PBS_O_HOME echo --------------------------------------------------- cd $PBS_O_WORKDIR ./efitd129d 不必要部分
------------------------------------------------- Job is running on node chess_004.localdomain chess_004.localdomain chess_003.localdomain chess_002.localdomain chess_005.localdomain -------------------------------------------------- PBS: qsub is running on chess_001.localdomain PBS: originating queue is default PBS: executing queue is verysmall PBS: working directory is /home/lzp/efit/efitht7u PBS: execution mode is PBS_BATCH PBS: job identifier is 270.chess_001.localdomain PBS: job name is runefit.pbs PBS: node file is var/chess/torque/aux//270.chess_001.localdomain PBS: current home directory is /home/lzp --------------------------------------------------- 输出文件out_runefit