利用torque搭建分布式程序运行环境

来源:互联网 发布:淘宝购物的步骤 编辑:程序博客网 时间:2024/05/19 12:37

利用torque搭建分布式程序运行环境

第一篇自己翻译英文资料以及自己总结的博客。

一、torque简介

Torque提供批量作业和分布计算机资源的控制功能。它基于原始的PBSPortable batch system)项目开发的一款优秀的开源产品并且得到社区和专业的开发机构的支持。它在可扩展性、可靠性和功能上具有非常重要的意义,目前全世界数以万计的政府机构、学术机构、和广告网站都在使用它。torque可以被免费使用,修改,设置可以在授权文件规定的范围内发布出来。

torque可以整合Moab(工作集管理软件,能智能的安排工作,协调资源以使应用程序达到最优的性能,提高系统的利用率,达到组织目标),并且支持用户根据具体系统具体的应用场景定制。

torque有如下一些特性:

1、容错性(Fault Tolerance

1)额外的错误状态检测和处理

2)支持脚本检查节点健康状态

2、调度接口(Scheduling Interface

1)扩展的队列接口给调度者提供额外并且更加精确的信息。

2)扩展的控制接口允许调度者增加工作行为和属性的控制力度

3)允许收集已完成工作的数据

3、可扩展性(Scalability

1)提升了服务器到MOM工作程序的通信模型

2)能够处理有数以万机的计算机节点和工作的集群计算

3)能够处理需要十万个处理器处理的巨大的计算型工作任务

4)基于多线程的TCP通信模型具有快速响应以及高可靠特性

4、易用性(Usability

1)日志输出详细

2)日志输出可读性高

二、PBSPortable batch system

        torque是基于批处理系统(batch system)工作的,批处理系统是一系列计算机以及资源(网络,存储系统,授权服务等等)按照整体大于局部之和的观念的有机集合,一些批处理系统只包括单处理器的善于计算的机器,操作基本对用户透明。另一类批处理系统包括很多的机器同时处理用户的任务。

       在批处理系统中的资源池可以通过给用户提供一个统一的用户界面来降低管理资源的难度。一旦配置正确,批处理系统抽象了许多关于运行和管理作业任务的细节,允许资源的高使用率。比如说用户只需要指定作业最小限度的限制而不需要知道他们的作业运行在哪些具体的机器上面。由于统一的展示界面,批处理系统可以同时运行成千上万的作业任务。

       批处理系统包含四个基本的组件:

1)管理节点(Master Node);(2)提交/交互式节点(Submit/InteractiveNodes);(3)计算节点(Compute Nodes);(4)资源(Resource)


Component


Description


Master Node


一个批处理系统都有一个运行pbs_server程序的管理节点。根据系统需要,管理节点可以参与任务或者也扮演其他三种组件的角色


Submit/Interactive Nodes


提交或者交互式节点给用户提供了管理他们工作的入口点。对于这些节点,用户能够提交并且跟踪它们的工作。另外,一些网站有一个或多个即节点为交互式使用保留比如测试和问题定位环境问题。这些节点有客户端命令(qsubqhold


Computer Nodes

计算节点是系统中工作的执行者。他们的角色是执行提交过来的任务。每一个计算节点,使用pbs_mom程序开始/停止、管理提交的任务。他和在管理节点上的pbs_server服务程序通信。根据系统需要,一个计算节点也可以担任管理节点



Resources


一些系统是为了管理一个在计算节点之上的集群系统的资源。资源包括高速的网卡、存储系统、授权管理等等。获取这些资源是受限制的,并且需要智能管理以提高资源利用率。




三、作业的几种基本状态(Basic Job Flow

      一个作业的生命周期被划分为四个阶段:(1)创建(creation,(2)提交(submission,(3)执行中(execution(4)结束(finalization


Stage


Description


creation


典型的,一个提交脚本程序包含一个作业任务所有的参数。这些参数可以包括作业应该工作运行多久(walltime),需要哪些资源,怎样运行等等。下面是一个提交文件的例子

#PBS-N localBlast

#PBS-S /bin/sh

#PBS-l nodes=1:ppn=2,walltime=240:00:00

#PBS-M user@my.organization.com

#PBS-m ea

source~/.bashrc

cd$HOME/work/dir

shmyBlast.sh -i -v

这个提交脚本指定了作业的名称(localBlast),在甚麽环境下执行(/bin/sh),它需要一个有2个处理器的计算节点,需要运行最多10天,当作业执行完或终止的时候要发邮件给”user@my.organization.com"。另外,用户指定了在哪里以及怎麼去执行


submission


一个作业通过qsub命令提交,一旦被提交,由管理员或技术人员决定工作执行的优先级,甚麽时候被执行等。


execution


作业的执行时间占用它们声明周期中大部分时间,当作业正在执行的时候,可以通过qstat查询它的状态


finalization


当一个作业完成的时候,默认情况下,日志输出stdotu和和错误信息stderr文件被复制到作业被提交的目录下面。



    
    
    

四、torque系统架构

未完待续

五、安装

1、上官网下载安装包www.adaptivecomputing.com/products/open-source/torque/
下载最新的即可
未完待续 
2 0
原创粉丝点击