Chinaunix首页 | 论坛 | 博客
  • 博客访问: 52071
  • 博文数量: 42
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 480
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-03 15:29
文章分类
文章存档

2015年(14)

2014年(28)

我的朋友

分类: 信息化

2014-11-14 14:18:39

                          LMT NEW PBS作业调度系统

    高性能计算(HPC)是一个计算机集群系统,它通过各种互联技术将多个计算机系统连接在一起,利用所有被连接系统的综合计算能力来处理大型计算问题,所以又通常被称为高性能计算集群。

    高性能计算方法的基本原理就是将问题分为若干部分,而相连的每台计算机(称为节点)均可同时参与问题的解决,从而显著缩短了解决整个问题所需的计算时间。

通常,解决大型计算问题需要功能强大的计算机系统,而现在,随着高性能计算的出现,使这一类应用从昂贵的大型外部计算机系统演变为采用商用服务器产品和软件的高性能计算机集群。因此,高性能计算系统已经成为解决大型问题计算机系统的发展方向。 那么,什么样的大型问题最适合使用高性能计算系统呢?一般来说,高性能计算是为了实现在下列情况下的计算系统:
? 能够突破性能极限的计算。
? 单个高端计算机系统不能满足其需求的计算。
? 需要通过专门的程序优化最大限度提高系统的I/O、计算和数据传送性能的计算。

 

集群控制系统

    我们知道,高性能计算系统实际上是一个计算机集群系统,它需要通过通讯和集群控制软件将整个系统紧密联系在一起。同时,还要负责初始化集群节点、在所需数量的节点上安装应用程序、并监视集群节点和互连的当前运行状况。
    目前在市场上有多开放源代码的集群控制系统,也有许多高性能计算的用户开发自己的控制系统来适应其特殊的应用软件的需求。故而集群控制系统就必须具备:

一、高性能计算的互联技术

    高性能计算的互联技术在整个系统中非常重要,因为一般的高性能计算系统都需要讲几十台甚至几百台的计算机系统互相连接在一起,互联系统的性能有时会直接影响整个高性能计算系统的性能。 
    目前,一般的大型高性能计算系统使用Myrinet系统作为主要的数据互联系统,而使用百兆或千兆以太网进行管理与控制。而在小型的高性能计算系统中,可以用直接使用千兆甚至百兆以太网作为互联系统。

二、计算节点

    计算节点是高性能计算系统中的单个计算机系统,是整个高性能计算系统的基础。基于英特尔架构的服务器系统是作为高性能计算节点的最佳选择。应为大多数高性能计算需要多线程同时执行,这样基于英特尔至强处理器的计算节点可以满足需求。另外,大多数模拟类型程序需要进行大量浮点运算(FLOPS),因而节点处理器支持大量浮点运算的能力就变得至关重要。当前的英特尔处理器(如英特尔至强?处理器)的处理速度已达到每秒二十亿次浮点运算。这意味着由1000枚处理器组成的集群的处理能力可与世界上一些功能最强大的超级计算机相媲美,而成本却低得多。

数据采掘则不同。根据数据库的体系结构,这些应用对I/O的潜在要求较高。而分布式驻留内存数据库例外。在该体系结构中,集群中的每个处理器都要参与一部分数据库处理。当一个查询请求被提交给数据库时,它同时被提交给集群中的所有处理器。由于所有处理器都只需处理一小部分数据库,因而解决查询的速度要比在传统体系结构中快得多。

 















 

高性能计算系统设计

    设计一个高性能计算系统是一件复杂的系统工程,涉及从软件到硬件的各个层面,而且每一个环节都相互关联。因此,设计和构建一个高性能计算系统应该使用系统的设计方法,按照一定的步骤来确定整个系统中的各个部分。

    这一部分,我们按照系统的设计方法来对高性能计算的各个环节的设计和设备选型给出相应的建议。

判断应用的特性
    对于一个高性能计算的应用,我们可以从如下的几个方面来确定其类型:

一、应用的粒度
    由于高性能计算的应用需要在多个计算节点上同时运行,则在各个节点计算的同时,还需要相互间的通讯。所谓应用的粒度,是指在一个高性能计算应用中计算所花的时间与通讯所花的时间之比。这是高性能计算应用的一个重要的特征之一。

    很显然,不同的应用其粒度也不一样。例如一个生成动画电影的高性能计算应用,用于每幅画面可以由任何一个计算检点独立计算生成,节点间的通讯量非常少,因此,这是一个粒度非常大的应用。反之,对于一个进行汽车模拟碰撞试验的高性能计算的应用,由于在每个节点上计算的任何部件的运动,都会对其它的部件的状态有影响,因而节点间的相互通讯会非常多,这类应用就是小粒度的应用。

    应用力度的大小将直接影响对计算节点和互联设备的选择,从而影响对整个项目的投资。一般来讲,粒度大的应用可以使用相对低速互联技术(如百兆以太网),从而降低项目的费用。因而,在应用的开发和优化过程中,应该尽量加大整个应用的粒度,减少不必要的节点间相互通讯。

二、应用的计算特性
    高性能计算的应用的目的是通过计算来解决某个特定的问题,但不同的应用所需要的计算特性也不一样,一般的高性能计算系统应用的计算特性主要分为入下三种类型:

? 多媒体运算
    主要使用整型和双精度运算。例如用于图形图像处理和三维图像生成的高性能计算系统就属于多媒体运算系统。在这种情况下,计算节点的多媒体计算功能非常重要。比如英特尔至强处理器所带的SSESSE2指令就非常适合这种应用。

? 科学计算
    主要使用浮点运算功能,这也是目前高性能计算系统的最主要应用领域。像天气预报和石油勘探等高性能计算系统都属于这一类。

? 数据库应用
    主要使用逻辑计算和I/O操作。现在的数据库集群系统和网格数据库系统就属于这类应用。它需要计算节点有很强的I/O处理能力,同时,整个高性能计算系统也应该具有足够的外接存储空间。

    在设计高性能计算系统的过程中,根据不同的计算类型来确定相应的计算节点和系统配置,从而使系统可以满足应用的需求同时达到最佳的系统性价比。

三、应用的时效性
    一个大型问题之所以需要用高性能计算系统来解决,可能主要是因为如下两种情况:一是因为问题无法在单个节点上计算完成;另一个是因为在一个节点上无法在规定的时间内完成。这里就关系到应用的时效性了。 一般来讲,应用的时效性就是指一个高性能计算的应用需要在多长的时间内计算完成。它是确定高性能计算系统规模的重要参数之一。

    我们知道,天气预报系统的计算就是一个时效性很强的高性能计算应用,因为在得到测量的数据后,我们必须在最快的时间内计算出相应的结果,以便相关人员及时发出当天的天气预报。

    对于一个时效性很强的应用,在设计高性能计算系统时,一定要以满足应用的计算速度为第一目标,一定要使高性能计算系统在规定的时间内完成计算。否则,该系统就没有意义。 而对于一个时效性不强的应用,可以考虑通过延长计算时间来减少节点和互联系统的配置,但也要考虑到可以容忍的时间限度和系统的可靠性等因素。特别是随着时间的延长,整个系统中某个节点出现故障的概率会增加。

四、确定系统规模
    确定高性能计算系统的规模是一个复杂的过程,一般来讲,主要从以下几个方面来考虑:
? 特定的目标:
    有些高性能计算系统在设计之初就确定了系统规模,在具体设计时,可以根据系统的配置情况来计算是否达到要求。

? 应用的要求:
    如上一节所讲的那样,从应用的粒度、应用的计算特点和应用对实效性的要求来确定应用的规模。

? 系统投资: 
    从某些方面来讲,系统的投资与系统的规模成正比,也就是说系统投资决定系统规模。但为了达到最佳的投资回报比可以根据系统应用的计算特点来选择合适的计算节点和互联设备,从而在投资不变的情况下获得最佳性能。

    现在,我们通常使用每秒的浮点运算次数来表示一个高性能计算系统的性能。通常,这个性能标准可以用Linpack HPC的基准测试来获得。由于在系统设计的过程中,我们根本无法测试整个系统。那么,如何来估算一个高性能计算系统的性能就显得十分重要。

    从理论上讲,一个高性能的计算系统的性能在理想的状况下为系统中所有的处理器的计算能力的总和。例如一个高性能计算系统使用双路的英特尔至强处理器为节点。而单个至强处理器的Linpack值达约达到2Gflops,即每秒20亿次浮点运算。则一个有256个双路英特尔至强处理器的高性能计算系统的理论性能可以达到 256 X 2 X 2 = 1024 GFlops,也就是每秒一万亿次浮点运算。如果使用四路英特尔Itanium 2系统为计算节点,由于每个Itanium 2处理器的Linpack值达约达到3.2 Gflops,即每秒32亿次浮点运算,则在理想的情况下,80个节点就可以达到每秒一万亿次浮点运算的性能。

                           80 *4 *3.2 = 1024 GFlops

当然,以上的情况是在理想的状况下达到的。在具体实施时,需要根据互联设备的性能、应用程序的特点来集体考虑。

 

LicManagerPBS作业调度系统

为应对市场需求,lanmantech公司研发出了LMT-LicManagerPBS作业调度系统,考虑到商业公司随着竞争的加剧和应用的普及,高性能计算不再是一个不惜工本的应用领域,许多项目的预算约束越来越严格。这就要求厂商生产全系列的产品满足不同规模应用的需求、更加可靠地保护用户原有投资、加速IT投资回报,而且也要求实现资源按需供应和更大范围的资源共享,这些都推动网格和公用服务等新的计算模式的发展。

    在LicManagerPBS作业调度系统中,高性能计算用户通过登录管理节点进行作业的提交,作业提交后,由管理节点上的PBS作业管理软件进行管理和分发。LicManagerPBS作业调度系统是为生产环境设计的,它可提供了图形和命令行两种用户界面来提交批处理、交互式作业,并提供查询作业、队列、系统的状态和跟踪作业的处理。

    在作业运行之前,用户可将需要的文件拷贝到执行节点上,和将这些指定的文件在作业执行完之后,拷贝出来。只有在所有的文件成功传输之后,作业将会被列入调度表。

    提交任务的用户可以指定作业的优先级,可以向队列和系统层提供默认值。PBS作业调度系统支持单队列或多队列方式。并选择标准的先后顺序调度,或者改进的调度算法。

LicManagerPBS作业调度系统还可以使用户定义广泛的批处理作业的内部相关性。这些相关性包括:执行顺序、同步执行和根据指定作业的成功或失败结果条件执行。

LMT-LicManagerPBS作业调度系统是一套标准的、面向复杂应用的集群操作系统,具有非常友好的应用界面。其主要特点有:
? 简单易懂的人性化操作界面
? 支持动态加入计算节点

? 高速运算作业
? 可以支持数百台计算机系统

? 开放性和兼容性高

? 性能与价格的性价比优越
? 优秀的后台技术支持。

 

结语
    随着高性能计算集群应用规模的不断扩充,集群的管理问题也随之而来。起初集群规模较小,比较容易管理和维护,系统的能耗和运维成本问题还不明显。但随着集群规模的不断扩充,集群系统能耗高、利用效率低、大规模集群系统运维管理困难等缺点逐渐凸显出来。

在LicManagerPBS作业调度系统的帮助下,对用户而言高性能计算集群系统就好像一台具备很多CPU的大服务器,多个用户可以同时使用这个系统。PBS作业调度系统管理用户提交的作业,为各个作业合理地分配资源,从而确保充分利用集群系统的计算能力,并尽可能迅速地得到运算结果。

LicManager集群作业调度管理可以根据用户的需求,动态地完成集群的软硬件资源的管理和调度,保证用户作业公平合理地共享集群资源,提高系统利用率和吞吐率。

 

 

阅读(204) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~