970 likes | 1.1k Views
中科院昆明动物研究所培训. ---2008.11 云南昆明 --- 8008100466 售前工程师:张希韬 TEL:13888565007 Liuyi 13888013108 wangwei 13888002063. 1. 曙光简介 2. 高性能计算机基础 3.LINUX 基础 4. 高性能集群并行环境基础 5. 机房现场介绍. 1. 曙光简介(见 PPT ). 2. 高性能计算基础. 2.1 什么是高性能并行计算机
E N D
中科院昆明动物研究所培训 ---2008.11 云南昆明--- 8008100466 售前工程师:张希韬 TEL:13888565007 Liuyi 13888013108 wangwei 13888002063
1.曙光简介 • 2.高性能计算机基础 • 3.LINUX基础 • 4.高性能集群并行环境基础 • 5.机房现场介绍
2.高性能计算基础 • 2.1 什么是高性能并行计算机 • 由众多部件组成,具有运算速度快、存储容量大、可靠性高的特性。也称为:巨型计算机、超级计算机目前任何高性能计算和超级计算都离不开使用并行技术,所以高性能计算机肯定是并行计算机。
2.2高性能计算机的发展 • 专用时代 包括向量机,MPP系统,SGI NUMA 系统,SUN大型SMP系统,也包括我国的神威,银河,曙光1000,KJ。之所以称为“专用”,并不是说它们只能运行某种应用,是指它们的组成部件是专门设计的,它们的CPU板,内存板,I/O板,操作系统,甚至I/O系统,都是不能在其它系统中使用的。由于技术上桌面系统与高端系统的巨大差异,和用户群窄小。
普及时代 高性能计算机价格下降,应用门槛降低,应用开始普及。两个技术趋势起到重要作用。商品化趋势使得大量生产的商品部件接近了高性能计算机专有部件标准化趋势使得这些部件之间能够集成一个系统中,其中X86处理器、以太网、内存部件、Linux都起到决定性作用。机群系统是高性能计算机的一种,其技术基础和工业基础都是商品化和标准化。
2.3 流行的高性能计算机架构 • 并行向量机 • SMP • DSM(NUMA) • MPP,节点可以是单处理器的节点,也可以是SMP,DSM • Cluster • 混合架构
2.4 高性能计算市场竞争格局 • HP • IBM • DELL • 联想 • SGI • 曙光
2.5曙光高性能计算解决方案 • PHPC • 机架式集群 • 刀片式集群 • 二代小型机
机架式集群 应用领域–计算中心、CAE、计算化学、生物信息学等8-128节点应用 • 曙光方案 • 计算节点:A(I)610r-F、A(I)620r-F、A820r-F等 • 管理节点:A(I)620r-F、A(I)650r-F等 • 存储节点:A(I)620r-F、A(I)650r-F等 • 存储阵列:DS6310、DS8310、DS8340 • 计算网:H3C S5100/5600或Infiniband • 管理网:H3C S5100或D-link 百兆、千兆交换机 • 管理软件:DCOS、DCAS • 作业管理软件:OpenPBS、Torque、SGE或PBSPro • 编译器:Intel、PGI
刀片式集群 应用领域–计算中心、CAE、计算化学、生物信息学等8-512节点应用 • 曙光方案 • 计算节点:TC2600 Intel双路、AMD双路、AMD四路 • 管理节点:A(I)620r-F、A(I)650r-F等 • 存储节点:A(I)620r-F、A(I)650r-F等 • 存储阵列:DS6310、DS8310、DS8340 • 计算网:H3C S5100/5600或Infiniband • 管理网:H3C S5100或D-link 百兆、千兆交换机 • 管理软件:DCOS、DCAS • 作业管理软件:OpenPBS、Torque、SGE或PBSPro • 编译器:Intel、PGI • 刀片服务器方案优势 –大规模计算机群功耗、占地面积有明显降低,节能环保 –丰富的管理软件,提升系统易用性
曙光5000系统 • 曙光5000的第一套系统于08年12月落户“上海超级计算中心”,系统峰值运算速度达到每秒230万亿次浮点运行(230TFLOPS),是目前国内速度最快的商用高性能计算机系统,这标志着中国成为继美国之后第二个能制造和应用超百万亿次商用高性能计算机的国家,也表明我国生产、应用、维护高性能计算机的能力达到世界先进水平 • 曙光5000是节点以刀片为主(刀片的CPU总数超过60个),集成GridView软件和曙光机柜的高性能计算机系统 • 曙光5000系统: 每机柜可达50片四路四核刀片(占用空间35U) 每机柜可达200CPU,800核的超高计算密度
曙光公司部分成功案例 • 中科院物理所 • 中科院力学所 • 中科院物数所 • 中国地质大学材化学院 • 中国地质大学数物学院 • 中科院长春应用化学所 • 云南大学 • 烟台师范大学物理系 • 华东理工大学 • 郑州大学材料物理实验室 • 武汉大学纳米设计实验室 • 武汉大学空间物理实验室 • 华中师范大学化学系 • 中山大学物理系 • 山东师范大学: • 湘潭大学: • 南京航空航天大学:
4.高性能集群并行环境基础 • 并行编程标准 1.多线程库标准 • – Win32 API. • – POSIX threads. 2.编译制导标准 • – OpenMP – 可移植共享存储并行编程标准. 3.消息传递库标准 • – MPI • – PVM
Massage Passing Interface:是消息传递函数库的标准规范.由MPI论坛开发.支持Fortran和C. • 一种新的库描述, 不是一种语言. • 发展的两个阶段 • MPI 1.1: 1995 • MPICH:是MPI最流行的非专利实现,由Argonne国家实验室和密西西比州立大学联合开发,具有更好的可移植性. • MPI 1.2-2.0:动态进程, 并行 I/O, 支持F90和C++(1997).
消息传递并行程序设计 • 指用户必须通过显式地发送和接收消息来实现处理机间的数据交换。 • 在这种并行编程中,每个并行进程均有自己独立的地址空间,相互之间访问不能直接进行,必须通过显式的消息传递来实现。 • 这种编程方式是大规模并行处理机(MPP)和机群(Cluster)采用的主要编程方式。 • 并行计算粒度大,特别适合于大规模可扩展并行算法 • 由于消息传递程序设计要求用户很好地分解问题,组织不同进程间的数据交换,并行计算粒度大,特别适合于大规模可扩展并行算法. • 消息传递是当前并行计算领域的一个非常重要的并行程序设计方式
为什么要用MPI? • 高可移植性 • MPI已在IBM PC机上、MS Windows上、所有主要的Unix工作站上和所有主流的并行机上得到实现。使用MPI作消息传递的C或Fortran并行程序可不加改变地运行在IBM PC、MS Windows、Unix工作站、以及各种并行机上。
PBS作业调度系统 • PBS最初由NASA的Ames研究中心开发,为了提供一个能满足异构计算网络需要的软件包。它力求提供对批处理的初始化和调度执行的控制,允许作业在不同主机间的路由。
OpenPBS作业调度系统 组成 • 资源管理器:管理集群的硬件资源及认证信息等 • 队列管理器:管理当前所有已提交但还未完成的作业 • 调度器:为作业分配资源 作用 • 单一系统映象 机群松散的结构的整合 • 系统资源整合 异构系统的整合 • 多用户的管理 用户提交的任务的统一安排,避免冲突 • 用户权限的管理 非授权用户的控制
PBS 的组成 • 服务器:pbs_server • 调度器:pbs_sched • 执行器:pbs_mom • 命令行:用户脚本,管理命令等
PBS的使用步骤 • 准备:编写描述改作业的脚本,包括作业名,需要的资源等。 • 提交:使用qsub命令将该作业提交给PBS服务器 • 排队:服务器将该任务排入适当的队列 • 调度:服务器检查各工作节点的状态是否符合该作业的要求,并进行调度。 • 执行:当条件满足时,作业被发给相应的执行服务器执行。程序运行时执行服务器会收集程序的标准输出和标准错误流,等程序结束时,将这些信息返回给用户。 • 查询和调整:当作业在运行时,用户可以使用qstat进行状态查询。用户发现作业提交错误时,可以使用qdel删除正在运行的作业。 • 查看结果:使用文本编辑软件vi或者系统命令cat, less等查看输出及错误信息显示。
PBS 的基本命令 在PBS系统中,用户使用qsub 命令提交用户程序。用户运行程序的命令及PBS环境变量设置组成PBS作业脚本,作业脚本使用如下格式提交到PBS系统运行:
PBS 作业脚本 • 注释,以“#”开头 • PBS指令,以“#PBS”开头 • SHELL命令
PBS 作业脚本 • 注释,以“#”开头 • PBS指令,以“#PBS”开头 • SHELL命令
错误处理 • 作业提交后处于排队状态 没有可用的节点,也就是节点资源被其他作业使用; 节点处于忙状态; 调度器失效; 指定的节点失效,或者节点上的mom失效 • 作业提交后异常结束 脚本文件使用的是windows格式 脚本中使用一些命令路径问题 脚本退出但是作业没有退出 用户使用的文件的权限问题 • 处理方法的原则是查看作业的标准输入和标准错误输出的结果
错误处理(续) • 如果环境配置错误,可能导致作业反复在等待状态和运行状态转换,可以通过“qdel 作业号”将该作业删除再重新配置环境。 • 可能出现作业显示为运行状态,但是已经没有活动的进程,可通过“qsig –SIGNULL 作业号”通知server作业已经退出。 • 作业的输出无法传出,可能是以下原因造成: • 目标主机不被信任,并且用户没有.rhost文件 • 指定了一个错误的路径名 • 指定的目标目录不可写 • 目标主机的用户.cshrc执行时产生了输出。 • 执行主机的PWS的spool目录没有使用正确的权限,这个目录必须使用1777权限(drwxrwxrwx)。
提交作业 $ qsub test.pbs -l nodes=16 -l 用于描述作业需要的资源,例如: nodes=4 (4 节点 每节点 1个 CPU ) nodes=2:ppn=2 (2节点 每节点 2个CPU) nodes=1:ppn=2+2:ppn=1 (1个双CPU节点 和 2个单CPU的节点)
当前任务状态 • 得到PBS的当前状态:qstat
当前节点状态 • pbsnodes - {a|l }] [ -s server ] -a 列出所有结点及其属性,属性包括“state”和“properties” -c 清除结点列表中的“offline”或“down”状态设置,使结点可以被分配给作业。 -l 以行的方式列出被标记的结点的状态 -o 将指定结点的状态标记为“offline”。这将帮助管理员暂时停止某些结点的服务。 -r 清除指定结点的“offline”状态 -s 指定服务器
当前节点状态 节点状态 节点名 CPU数
其他常用命令 • qselect –q [队列名] • qdel - Deletes a task in the queue. qdel job_identifier ... • qhold - Suspends a job in the queue. qhold job_identifier ... • qrls - Reactivates a suspended job in the queue. qrls job_identifier ... • qrerun 重新运作作业 • qmove 目标队列 作业ID