Node PBS调度管理系统

Node PBS调度管理系统【Node PBS调度管理系统】Node PBS调度管理系统是一个计算机集群系统,它通过各种互联技术将多个计算机系统连线在一起,利用所有被连线系统的综合计算能力来处理大型计算问题 。
基本介绍中文名:Node PBS调度管理系统
属于:计算机集群系统
媒介:互联技术
又称:高性能计算集群 。
作业调度管理系统高性能计算方法的基本原理就是将问题分为若干部分,而相连的每台计算机(称为节点)均可同时参与问题的解决,从而显着缩短了解决整个问题所需的计算时间 。通常,解决大型计算问题需要功能强大的计算机系统,而现在,随着高性能计算的出现,使这一类套用从昂贵的大型外部计算机系统演变为採用商用伺服器产品和软体的高性能计算机集群 。因此,高性能计算系统已经成为解决大型问题计算机系统的发展方向 。那幺,什幺样的大型问题最适合使用高性能计算系统呢?一般来说,高性能计算是为了实现下列情况下的计算系统:?能够突破性能极限的计算 。?单个高端计算机系统不能满足其需求的计算 。?需要通过专门的程式最佳化最大限度提高系统的I/O、计算和数据传送性能的计算 。集群控制系统我们知道,高性能计算系统实际上是一个计算机集群系统,它需要通过通讯和集群控制软体将整个系统紧密联繫在一起 。同时,还要负责初始化集群节点、在所需数量的节点上安装应用程式、并监视集群节点和互连的当前运行状况 。目前在市场上有多开放原始码的集群控制系统,也有许多高性能计算的用户开发自己的控制系统来适应其特殊的套用软体的需求 。故而集群控制系统就必须具备:一、高性能计算的互联技术高性能计算的互联技术在整个系统中非常重要,因为一般的高性能计算系统都需要讲几十台甚至几百台的计算机系统互相连线在一起,互联繫统的性能有时会直接影响整个高性能计算系统的性能 。目前,一般的大型高性能计算系统使用Myrinet系统作为主要的数据互联繫统,而使用百兆或千兆乙太网进行管理与控制 。而在小型的高性能计算系统中,可以用直接使用千兆甚至百兆乙太网作为互联繫统 。二、计算节点计算节点是高性能计算系统中的单个计算机系统,是整个高性能计算系统的基础 。基于英特尔架构的伺服器系统是作为高性能计算节点的最佳选择 。应为大多数高性能计算需要多执行绪同时执行,这样基于英特尔至强处理器的计算节点可以满足需求 。另外,大多数模拟类型程式需要进行大量浮点运算(FLOPS),因而节点处理器支持大量浮点运算的能力就变得至关重要 。当前的英特尔处理器(如英特尔至强?处理器)的处理速度已达到每秒二十亿次浮点运算 。这意味着由1000枚处理器组成的集群的处理能力可与世界上一些功能最强大的超级计算机相媲美,而成本却低得多 。数据採掘则不同 。根据资料库的体系结构,这些套用对I/O的潜在要求较高 。而分散式驻留记忆体资料库例外 。在该体系结构中,集群中的每个处理器都要参与一部分资料库处理 。当一个查询请求被提交给资料库时,它同时被提交给集群中的所有处理器 。由于所有处理器都只需处理一小部分资料库,因而解决查询的速度要比在传统体系结构中快得多 。高性能计算系统设计设计一个高性能计算系统是一件複杂的系统工程,涉及从软体到硬体的各个层面,而且每一个环节都相互关联 。因此,设计和构建一个高性能计算系统应该使用系统的设计方法,按照一定的步骤来确定整个系统中的各个部分 。这一部分,我们按照系统的设计方法来对高性能计算的各个环节的设计和设备选型给出相应的建议 。判断套用的特性对于一个高性能计算的套用,我们可以从如下的几个方面来确定其类型:一、套用的粒度由于高性能计算的套用需要在多个计算节点上同时运行,则在各个节点计算的同时,还需要相互间的通讯 。所谓套用的粒度,是指在一个高性能计算套用中计算所花的时间与通讯所花的时间之比 。这是高性能计算套用的一个重要的特徵之一 。很显然,不同的套用其粒度也不一样 。例如一个生成动画电影的高性能计算套用,用于每幅画面可以由任何一个计算检点独立计算生成,节点间的通讯量非常少,因此,这是一个粒度非常大的套用 。反之,对于一个进行汽车模拟碰撞试验的高性能计算的套用,由于在每个节点上计算的任何部件的运动,都会对其它的部件的状态有影响,因而节点间的相互通讯会非常多,这类套用就是小粒度的套用 。套用力度的大小将直接影响对计算节点和互联设备的选择,从而影响对整个项目的投资 。一般来讲,粒度大的套用可以使用相对低速互联技术(如百兆乙太网),从而降低项目的费用 。因而,在套用的开发和最佳化过程中,应该儘量加大整个套用的粒度,减少不必要的节点间相互通讯 。二、套用的计算特性高性能计算的套用的目的是通过计算来解决某个特定的问题,但不同的套用所需要的计算特性也不一样,一般的高性能计算系统套用的计算特性主要分为入下三种类型:?多媒体运算主要使用整型和双精度运算 。例如用于图形图像处理和三维图像生成的高性能计算系统就属于多媒体运算系统 。在这种情况下,计算节点的多媒体计算功能非常重要 。比如英特尔至强处理器所带的SSE和SSE2指令就非常适合这种套用 。?科学计算主要使用浮点运算功能,这也是目前高性能计算系统的最主要套用领域 。像天气预报和石油勘探等高性能计算系统都属于这一类 。?资料库套用主要使用逻辑计算和I/O操作 。现在的资料库集群系统和格线资料库系统就属于这类套用 。它需要计算节点有很强的I/O处理能力,同时,整个高性能计算系统也应该具有足够的外接存储空间 。在设计高性能计算系统的过程中,根据不同的计算类型来确定相应的计算节点和系统配置,从而使系统可以满足套用的需求同时达到最佳的系统性价比 。三、套用的时效性一个大型问题之所以需要用高性能计算系统来解决,可能主要是因为如下两种情况:一是因为问题无法在单个节点上计算完成;另一个是因为在一个节点上无法在规定的时间内完成 。这里就关係到套用的时效性了 。一般来讲,套用的时效性就是指一个高性能计算的套用需要在多长的时间内计算完成 。它是确定高性能计算系统规模的重要参数之一 。我们知道,天气预报系统的计算就是一个时效性很强的高性能计算套用,因为在得到测量的数据后,我们必须在最快的时间内计算出相应的结果,以便相关人员及时发出当天的天气预报 。对于一个时效性很强的套用,在设计高性能计算系统时,一定要以满足套用的计算速度为第一目标,一定要使高性能计算系统在规定的时间内完成计算 。否则,该系统就没有意义 。而对于一个时效性不强的套用,可以考虑通过延长计算时间来减少节点和互联繫统的配置,但也要考虑到可以容忍的时间限度和系统的可靠性等因素 。特别是随着时间的延长,整个系统中某个节点出现故障的机率会增加 。四、确定系统规模确定高性能计算系统的规模是一个複杂的过程,一般来讲,主要从以下几个方面来考虑:?特定的目标:有些高性能计算系统在设计之初就确定了系统规模,在具体设计时,可以根据系统的配置情况来计算是否达到要求 。?套用的要求:如上一节所讲的那样,从套用的粒度、套用的计算特点和套用对实效性的要求来确定套用的规模 。?系统投资:从某些方面来讲,系统的投资与系统的规模成正比,也就是说系统投资决定系统规模 。但为了达到最佳的投资回报比可以根据系统套用的计算特点来选择合适的计算节点和互联设备,从而在投资不变的情况下获得最佳性能 。现在,我们通常使用每秒的浮点运算次数来表示一个高性能计算系统的性能 。通常,这个性能标準可以用LinpackHPC的基準测试来获得 。由于在系统设计的过程中,我们根本无法测试整个系统 。那幺,如何来估算一个高性能计算系统的性能就显得十分重要 。从理论上讲,一个高性能的计算系统的性能在理想的状况下为系统中所有的处理器的计算能力的总和 。例如一个高性能计算系统使用双路的英特尔至强处理器为节点 。而单个至强处理器的Linpack值达约达到2Gflops,即每秒20亿次浮点运算 。则一个有256个双路英特尔至强处理器的高性能计算系统的理论性能可以达到256X2X2=1024GFlops,也就是每秒一万亿次浮点运算 。如果使用四路英特尔Itanium2系统为计算节点,由于每个Itanium2处理器的Linpack值达约达到3.2Gflops,即每秒32亿次浮点运算,则在理想的情况下,80个节点就可以达到每秒一万亿次浮点运算的性能 。80*4*3.2=1024GFlops当然,以上的情况是在理想的状况下达到的 。在具体实施时,需要根据互联设备的性能、应用程式的特点来集体考虑 。NodePBS调度管理系统为应对市场需求,lanmantech公司研发出了LMT-LicManager的PBS作业调度系统,考虑到商业公司随着竞争的加剧和套用的普及,高性能计算不再是一个不惜工本的套用领域,许多项目的预算约束越来越严格 。这就要求厂商生产全系列的产品满足不同规模套用的需求、更加可靠地保护用户原有投资、加速IT投资回报,而且也要求实现资源按需供应和更大範围的资源共享,这些都推动格线和公用服务等新的计算模式的发展 。在LicManager的Node PBS作业调度管理系统中,高性能计算用户通过登录管理节点进行作业的提交,作业提交后,由管理节点上的PBS作业管理软体进行管理和分发 。LicManager的PBS作业调度系统是为生产环境设计的,它可提供了图形和命令行两种用户界面来提交批处理、互动式作业,并提供查询作业、伫列、系统的状态和跟蹤作业的处理 。在作业运行之前,用户可将需要的档案拷贝到执行节点上,和将这些指定的档案在作业执行完之后,拷贝出来 。只有在所有的档案成功传输之后,作业将会被列入调度表 。提交任务的用户可以指定作业的优先权,可以向伫列和系统层提供默认值 。PBS作业调度系统支持单伫列或多伫列方式 。并选择标準的先后顺序调度,或者改进的调度算法 。LicManager的Node PBS作业调度系统还可以使用户定义广泛的批处理作业的内部相关性 。这些相关性包括:执行顺序、同步执行和根据指定作业的成功或失败结果条件执行 。LMT-LicManager的Node PBS作业调度系统是一套标準的、面向複杂套用的集群作业系统,具有非常友好的套用界面 。算法:(1)先来先服务(FCFS):按作业到达的先后次序调度,它不利于短作业 。(2)短作业优先(SJF):按作业的估计运行时间调度,估计运行时间短的作业优先调度 。它不利于长作业,可能会使一个估计运行时间长的作业迟迟得不到服务 。(3)回响比高者优先(HRN):综合以上两者,即考虑作业估计运行时间,又考虑作业等待时间,回响比是:HRN=(估计运行时间+等待时间)/估计运行时间(4)优先权调度:根据作业的优先权别,优先权高者先调度 。(如果是数字,则数值越大优先权越高)原则:进程调度决定就绪伫列中哪个进程将获得处理机,并实际执行将处理机分配给该进程的操作 。进程调度是作业系统中最基本的调度,在批处理及分时系统中都必须配置 。调度的目标和原则:1、公平性:(fairness)确保每个进程都能获得公平的CPU时间片2、高效性:(efficiency)使CPU100%的时间都在工作3、回响时间:(responsetime)系统对用户的反应时间4、吞吐量:单位时间处理的工作量目标:1、调度应对所有作业都是公平合理的2、应使设备有较高的利用率(提高系统利用率)3、每次运行儘可能多的作业(提高系统吞吐量)4、较快的回响时间功能:1、记录各作业在系统中的状态2、从后备伫列中挑选一部分作业投入运行3、为被选中的作业做好执行前的準备工作4、在作业执行结束时,做善后处理工作 使用步骤:準备:编写描述改作业的脚本,包括作业名,需要的资源等 。提交:将该作业提交给PBS伺服器 。排队:伺服器将该任务排入适当的伫列 。调度:伺服器检查各工作节点的状态是否符合该作业的要求,并进行调度 。执行:当条件满足时,作业被发给相应的执行伺服器执行 。程式运行时执行伺服器会收集程式的标準输出和标準错误流,等程式结束时,将这些信息返回给用户 。查询和调整:当作业在运行时,用户可以进行状态查询 。用户发现作业提交错误时,可以删除正在运行的作业 。查看结果:使用文本编辑软体或者系统命令等方式,查看输出及错误信息显示 。特点:1、简单易懂的人性化操作界面2、支持动态加入计算节点3、高速运算作业4、可以支持数百台计算机系统5、开放性和兼容性高6、性能与价格的性价比优越7、优秀的后台技术支持 。结语随着高性能计算集群套用规模的不断扩充,集群的管理问题也随之而来 。起初集群规模较小,比较容易管理和维护,系统的能耗和运维成本问题还不明显 。但随着集群规模的不断扩充,集群系统能耗高、利用效率低、大规模集群系统运维管理困难等缺点逐渐凸显出来 。在LicManager的Node PBS作业调度系统的帮助下,对用户而言高性能计算集群系统就好像一台具备很多CPU的大伺服器,多个用户可以同时使用这个系统 。Node PBS作业调度系统管理用户提交的作业,为各个作业合理地分配资源,从而确保充分利用集群系统的计算能力,并儘可能迅速地得到运算结果 。LicManager的Node PBS作业调度管理可以根据用户的需求,动态地完成集群的软硬体资源的管理和调度,保证用户作业公平合理地共享集群资源,提高系统利用率和吞吐率 。