CN104615487B - 并行任务优化系统和方法 - Google Patents
并行任务优化系统和方法 Download PDFInfo
- Publication number
- CN104615487B CN104615487B CN201510015287.XA CN201510015287A CN104615487B CN 104615487 B CN104615487 B CN 104615487B CN 201510015287 A CN201510015287 A CN 201510015287A CN 104615487 B CN104615487 B CN 104615487B
- Authority
- CN
- China
- Prior art keywords
- task
- assignment file
- dispatch server
- file
- scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种并行任务优化系统和方法,系统包括:调度服务器和多个任务提交终端通过第一网络环境互连,调度服务器和多个计算节点通过第二网络环境互连;多个计算节点运行有虚拟机,该虚拟机上运行有单处理器程序;任务提交终端在第一网络环境下通过第一命令行向调度服务器上载任务文件;调度服务器根据第一命令行和任务文件,在第二网络环境下,将任务文件调度到多个计算节点之一,任务文件包括数据参数;单处理器程序根据数据参数进行处理得到计算结果;通过调度服务器将结果返回到任务提交终端。因此,本发明通过调度服务器对任务的并行处理,以及根据数据参数,在多个计算节点运行相应计算,实现了大量并行任务的快速计算,降低了计算耗时。
Description
技术领域
本发明涉及电力系统的运行、调度和控制,尤其涉及一种并行任务优化系统和方法。
背景技术
随着我国电力行业的发展,电网规模不断扩大。电力系统本身是一个非常复杂的非线性系统,诸多因素影响着电力系统运行、调度和控制,也使得调度员潮流计算、优化潮流计算等计算和分析变得越来越复杂。一直以来,电网模拟以及潮流计算,优化等计算都是基于一台主机,单个程序的计算,依靠单个处理器,单个程序依次进行计算的计算速度比较慢,且反应时间比较长。对于某些计算耗时长,需要频繁计算,反复验证的计算,单个计算节点上的运行已经不能满足人们的需求。
发明内容
本发明的提供一种并行任务优化系统和方法,通过调度服务器对任务的并行处理,以及在多个计算节点运行有虚拟机,并虚拟机上运行单处理器程序,根据任务文件中的数据参数做相应的计算,用以提高计算速度,降低计算耗时。
第一方面,本发明提供了一种并行任务优化系统,所述系统包括:
所述系统包括:任务提交终端调度服务器和多个计算节点;所述调度服务器和多个所述任务提交终端通过第一网络环境互连,所述调度服务器和所述多个计算节点通过第二网络环境互连;所述多个计算节点运行有虚拟机,该虚拟机上运行有单处理器程序;
所述任务提交终端在第一网络环境下通过第一命令行向所述调度服务器上载任务文件;所述调度服务器对所述第一命令行和所述任务文件进行解析,并且在第二网络环境下,根据解析后的第一命令行和任务文件,将所述解析后的任务文件调度到所述多个计算节点之一,其中,解析后的任务文件包括数据参数;所述单处理器程序根据所述数据参数进行作业处理,得到计算结果;通过所述调度服务器将所述计算结果返回到所述任务提交模块;其中,所述调度服务器实时从进行计算的计算节点中获取所述作业的执行状态;所述任务提交终端通过第二命令行从所述调度服务器获取所述执行状态,所述执行状态包括任务文件上传状态以及调度所述任务文件执行状态。
优选地,所述调度服务器采用IBM Platform LSF作业调度平台,所述单处理器程序采用DIgSILENT软件进行计算。
优选地,所述调度服务器包括任务处理队列,所述任务处理队列用以存储所述任务提交终端通过第一命令行上载的所述任务文件;所述任务处理队列预设第一阈值;当所述任务处理队列中存储所述任务文件的数量达到所述第一阈值时,所述任务处理队列向所述任务提交终端发送禁止上载任务文件信息。
优选地,在预设的时间间隔内,所述第一进程将任务处理队列中的所述任务文件发送给第二进程;
根据所述第一命令行和所述任务文件,所述第二进程,调度决策可利用的所述多个计算节点之一执行任务计算,并将调度决策结果返回给所述第一进程;
当所述第一进程接收到所述调度决策结果后,根据所述调度决策结果,所述第一进程将所述解析后的任务文件调度到相应的计算节点。
优选地,所述调度服务器还包括第三进程;当所述第一进程接收到所述调度决策结果,并向计算节点发送所述任务文件时,所述第三进程创建所述任务文件的子进程和调度执行环境,并通过远程调度执行服务器开始调度分配。
优选地,所述单处理器程序用以启动计算程序;根据数据参数,导入与所述数据参数相对应的算例;根据所述算例执行计算程序,得到计算结果。
第二方面,本发明提供一种并行任务优化方法,所述方法包括:
任务提交终端在第一网络环境下通过第一命令行向调度服务器下载上载任务文件;
所述调度服务器对所述第一命令行和所述任务文件进行解析,并且在第二网络环境下,根据解析后的第一命令行和任务文件,将所述解析后的任务文件调度到所述多个计算节点之一,其中,解析后的任务文件包括数据参数;所述多个计算节点运行有虚拟机,该虚拟机上运行有单处理器程序
所述单处理器程序根据所述数据参数进行处理,得到计算结果;
通过所述调度服务器将所述结果返回到所述任务提交模块;
其中,所述调度服务器实时从进行计算的计算节点中获取所述作业的执行状态;所述任务提交终端通过第二命令行从所述调度服务器获取所述执行状态,所述执行状态包括任务文件上传状态以及调度所述任务文件执行状态。
优选地,所述调度服务器包括任务处理队列,所述任务处理队列用以存储所述任务提交终端通过第一命令行上载的所述任务文件;所述任务处理队列预设第一阈值;当所述任务处理队列中存储所述任务文件的数量达到所述第一阈值时,所述任务处理队列向所述任务提交终端发送禁止上载任务文件信息。
优选地,所述调度服务器包括第一进程和第二进程,所述调度服务器对所述第一命令行和所述任务文件进行解析,并且在第二网络环境下,根据解析后的第一命令行和任务文件,将所述解析后的任务文件调度到所述多个计算节点之一,具体包括:
在预设的时间间隔内,所述第一进程将任务处理队列中的所述任务文件发送给第二进程;
所述第二进程根据所述第一命令行和所述任务文件,调度决策可利用的所述多个计算节点之一执行任务计算,并将调度决策结果返回给所述第一进程;
当所述第一进程接收到所述调度决策结果后,所述第一进程根据所述调度决策结果,将所述解析后的任务文件调度到所述调度结果中的计算节点。
优选地,所述调度服务器还包括第三进行,所述根据所述调度决策结果,所述第一进程将所述解析后的任务文件调度到相应的计算节点,具体为:
当在所述第一进程接收到所述调度决策结果后,并向计算节点发送所述任务文件时,所述第三进行创建所述任务文件的子进程和调度执行环境,并通过远程调度执行服务器开始调度分配。
优选地,所述单处理器程序根据所述数据参数进行处理,得到计算结果,具体为:启动计算程序;根据数据参数,导入与所述数据参数相对应的算例;根据所述算例执行计算程序,得到计算结果。
因此,本发明提供的并行任务优化系统和方法,通过调度服务器对任务的并行处理,以及在多个计算节点运行有虚拟机,并虚拟机上运行单处理器程序,根据任务文件中的数据参数做相应的计算,实现了大量并行任务的快速计算,降低了计算耗时。
附图说明
图1为本发明实施例一提供的一种并行任务优化系统的示意图;
图2为本发明实施例一提供的一种并行任务优化系统的构架示意图;
图3为本发明实施例一提供的一种并行任务优化系统的应用框架示意图;
图4为本发明实施例二提供的一种并行任务优化方法的流程图;
图5为本发明一种实施例提供的任务提交终端提交任务文件的方法流程图;
图6为本发明一种实施例提供的调度服务器对任务文件进行调度的方法流程图;
图7为本发明一种实施例提供的多个计算节点进行计算的方法流程图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例一提供的一种并行任务优化系统的示意图。
图2为本发明实施例一提供的一种并行任务优化系统的构架示意图。
图3为本发明实施例一提供的一种并行任务优化系统的应用框架示意图;
如图1、2所示,本发明实施例一提供的并行任务优化系统包括任务提交终端101、调度服务器102和多个计算节点103。
调度服务器102和多个任务提交终端101通过第一网络环境互连,调度服务器102和多个计算节点103通过第二网络环境互连;多个计算节点103运行有虚拟机,该虚拟机上运行有单处理器程序。
其中,第一网络环境可以具体为公共网络,在一个优选实施例中,调度服务器102和多个任务提交终端101采用遵从FTP协议的网络进行连接。第二网络环境可以为局域网。
任务提交终端101与调度服务器102、调度服务器102与多个计算节点103之间的交互过程具体为:任务提交终端101在第一网络环境下通过第一命令行向调度服务器102上载任务文件;调度服务器102对所述第一命令行和任务文件进行解析,并且在第二网络环境下,根据解析后的第一命令行和任务文件,将解析后的任务文件调度到所述多个计算节点之一,其中,解析后的任务文件包括数据参数;单处理器程序根据数据参数进行处理,得到计算结果;通过调度服务器102将结果返回到任务提交模块。
如图3所示,任务提交终端101,目前的交换接口支持Windows平台。对最终用户已具备了任务提交终端101与调度服务器102的互连功能,遵循统一的整体网络规划和开放的网络技术标准。为任务提交终端101提供了交互平台,并保障了数据传输的安全性和标准性。通过这一平台,用户可以提交系统所能识别的任务数据。
调度服务器102包括部署在Windows server 2003上的虚拟机集群以及作业调度系统,支持凝思系统、Linux、Windows XP、Windows7、Windows Server等不同操作系统。调度服务器102是将用户提交的任务文件的实时数据进行提取、转换整合到本地数据,是整个系统的并行计算任务数据来源。同时,调度服务器102依据提交的顺序分配计算资源。
多个计算节点103可以具体为分布在各物理主机的虚拟计算节点。完成任务数据的接收,调用计算程序,实现计算,返回结果。
任务提交终端101与调度服务器102、调度服务器102与多个计算节点103之间的交互过程具体为:任务提交终端101在第一网络环境下通过第一命令行向调度服务器102上载任务文件;调度服务器102对所述第一命令行和任务文件进行解析,并且在第二网络环境下,根据解析后的第一命令行和任务文件,将解析后的任务文件调度到所述多个计算节点之一,其中,解析后的任务文件包括数据参数;单处理器程序根据数据参数进行处理,得到计算结果;通过调度服务器102将结果返回到任务提交模块。
调度服务器102可以具体采用IBM Platform LSF(Load Sharing Facility)作业调度平台,或者采用其他作业调度平台;在多个计算节点103上,完成任务数据的接收,可以具体采用调用DIgSILENT程序,来实现计算并返回结果,也可以采用其他计算软件进行计算。
其中,所述调度服务器包括任务处理队列(未示出),所述任务处理队列用以存储所述任务提交终端通过第一命令行上载的所述任务文件;所述任务处理队列预设第一阈值;当所述任务处理队列中存储所述任务文件的数量达到所述第一阈值时,所述任务处理队列向所述任务提交终端发送禁止上载任务文件信息。所述调度服务器101还包括第一进程(未示出)、第二进程(未示出)和第三进程(未示出);所述第一进程具体用于在预设的时间间隔内将任务队列中的所述任务文件发送给第二进程;所述第二进程用于根据所述第一命令行和所述任务文件,调度决策可利用的所述多个计算节点之一执行任务计算,并将调度决策结果返回给所述第一进程;所述第一进程还用于,当所述第一进程接收到所述调度决策结果后,根据所述调度决策结果,将所述解析后的任务文件调度到相应的计算节点。当所述第一进程接收到所述调度决策结果,并向计算节点发送所述任务文件时,所述第三进程创建所述任务文件的子进程和调度执行环境,并通过远程调度执行服务器开始调度分配。
计算节点接收到任务文件之后,并通过计算节点上携带的单处理器程序启动计算程序;根据数据参数,导入与所述数据参数相对应的算例;计算程序根据所述算例执行计算程序,最终得到计算结果。
除此之外,调度服务器101还用以通过与多个计算节点102共享方式获取计算结果;任务提交终端103再通过公共网络方式从调度服务器101中拷贝计算结果。
因此,本发明提供的并行任务优化系统,通过调度服务器对任务的并行处理,以及在多个计算节点运行有虚拟机,并虚拟机上运行单处理器程序,根据任务文件中的数据参数做相应的计算,实现了大量并行任务的快速计算,降低了计算耗时。
图4为本发明实施例二提供的一种并行任务优化方法的流程图。
如图4所示,发明实施例提供的一种并行任务优化方法包括如下步骤:
步骤201,调度服务器下载任务提交终端在第一网络环境下通过第一命令行上载的任务文件。
步骤202,调度服务器对所述第一命令行和所述任务文件进行解析,并且在第二网络环境下,根据解析后的第一命令行和任务文件,将所述解析后的任务文件调度到所述多个计算节点之一。
具体地,所述调度服务器包括任务处理队列,所述任务处理队列用以存储所述任务提交终端通过第一命令行上载的所述任务文件;所述任务处理队列预设第一阈值;当所述任务处理队列中存储所述任务文件的数量达到所述第一阈值时,所述任务处理队列向所述任务提交终端发送禁止上载任务文件信息。
所述调度服务器还包括第一进程和第二进程,在预设的时间间隔内,所述第一进程将任务队列中的所述任务文件发送给第二进程;所述第二进程根据所述第一命令行和所述任务文件,调度决策可利用的所述多个计算节点之一执行任务计算,并将调度决策结果返回给所述第一进程;当所述第一进程接收到所述调度决策结果后,所述第一进程根据所述调度决策结果,将所述解析后的任务文件调度到所述调度结果中的计算节点。
在所述第一进程接收到所述选择结果之后,创建所述任务文件的子进程和计算环境,并通过远程单核处理程序执行步骤203。
其中,解析后的任务文件包括数据参数,所述多个计算节点运行有虚拟机,该虚拟机上运行有单处理器程序。
步骤203,单处理器程序根据所述数据参数进行处理,得到计算结果。
具体第,单处理器程序启动计算程序;根据数据参数,导入与所述数据参数相对应的算例;根据所述算例执行计算程序,得到计算结果
步骤204,通过所述调度服务器将所述结果返回到所述任务提交模块。
具体地,调度服务器通过与多个计算节点共享方式获取计算结果;任务提交终端再通过公共网络方式从调度服务器中拷贝计算结果。
除步骤201至步骤204外,分别在步骤201、202以及203之后,所述方法还包括所述调度服务器实时从进行计算的计算节点中获取所述作业的执行状态;所述任务提交终端通过第二命令行从所述调度服务器获取所述执行状态。该步骤方便用户对作业进程的实时监控。
其中,所述执行状态包括任务文件上传状态以及调度所述任务文件执行状态。
因此,本发明提供的并行任务优化方法,通过调度服务器对任务的并行处理,以及在多个计算节点运行有虚拟机,并虚拟机上运行单处理器程序,根据任务文件中的数据参数做相应的计算,实现了大量并行任务的快速计算,降低了计算耗时。
下面根据实施例一提供的并行任务优化系统,以基于IBM Platform LSF作业调度系统的平台和DIgSILENT程序提供的计算能力为例,对任务提交终端提交任务文件的过程、调度服务器调度任务文件的过程以及计算节点进行计算的过程进行详细说明。
LSF把用户的机器结合起来组成一个集群,它运行于集群之中为其提供一套资源管理的框架,利用该框架能够接受用户运行工作的请求,并能根据一定的分配和调度策略选择集群中性能最好的资源来完成任务。
LSF平台管理批处理负载,它将一个分布式计算网络平台作为一个超级计算机,将用户对资源的请求匹配,这个平台智能地将合适的工作分给正确的资源,使资源有效利用,减少浪费并实现最佳性能。
它使多个计算资源作为一个单一的系统映像,呈现给用户,实现基于共享资源的负载均衡,一个IBM Platform LSF平台集群可以分成两组主机,分别是管理主机和计算主机。管理主机为集群提供专业化的服务,计算主机运行用户的工作量。
在LSF计算集群中,存在如下不同的功能的部分:
集群(Cluster):是一组运行LSF软件的计算机,他们融合了计算能力、负载信息和资源信息,并被作为一个独立的单元
机器(host):集群中的计算机有不同的功能。主机器(Master Host)作为LSF的服务器扮演着集群的总体协调、任务调试和分配的角色。客户机(Client Host)是只能提交任务的机器;
任务(Job):任务是LSF系统中执行工作的基本单元,它们可以是一些复杂的计算问题、仿真问题或者任务需要计算能力的事情。通常任务以命令的形式提交给LSF,LSF可以根据一定的策略调度、控制和跟踪这些任务。
任务处理队列(Queue):任务处理队列是任务的容器,所有的任务都要在任务处理队列中等待被LSF分配给执行的机器。当用户向队列中提交一个任务时,它不需要指定执行的机器,LSF会把任务分配给集群中最适合执行任务的机器运行。
LSF任务调度系统在部署完成之后,对最终用户是透明的。在用户使用LST前需要设置相应的环境变量,设置环境变量可以具体通过以下方式:
csh用户,登录系统后执行
source/export/l sf/conf/cshrc.lsf
bash用户,登录系统后执行
./export/lsf/conf/prof i le.lsf
用户也可写入.cshrc或.bashrc,则登录后就能设置相应的环境变量。
当用户利用LSF提交作业时,可以选择两种方式进行作业提交。
方式一、LSF使用bsub命令提交作业。
bsub命令常见用法如下:
bsub n z q QUEUENAME i inputf i le o outputfi le COMMAND
其中z代表了提交作业需要的cpu数,q指定作业提交到的队列,
创建时间:2006-12-1215:54:001
如果不采用q选项,系统把作业提交到默认作业队列(作业队列详细介绍请看下一节)。inputfi le代表程序需要读入的文件名(例如namelist等),outputfile代表一个文件,作业提交后标准输出的信息将会保存到这个文件中。COMMAND是用户要运行的程序。对于串行程序COMMAND可以直接使用用户的程序名
例如,对一个运行时间12小时内完成的串行作业mytest,提交方式为:
bsub n 1q QS_Norm o mytest.out./mytest
对于并行作业COMMAND为“a mpich_gm mpirun.lsf程序名”
因为并行作业必须用到MyriNET库,所以提交的时候必须使用a mpich_gmmpirun.lsf
例如对于一个12个小时内完成,使用16个cpu的并行作业mytest,提交方式为:
bsub n 16q QN_Norm o mytest.out a mpich_gm mpirun.lsf./mytest
方式二、使用脚本提交作业。
bsub命令可以使用输入脚本多次提交具有相同参数的作业,格式为:创建时间:2006-12-1215:54:002#BSUB n Z#BSUB q QUEUENAME#BSUB o OUTPUTFILE COMMAND
该脚本的参数与命令行“bsub n Z q QUEUENAME o outputfi le COMMAND”参数相同。提交时为bsub<脚本名,例如要提交一个12小时内完成,可以编写作业脚本bsub.scriptfi le#BSUB#BSUB q QN_Norm#BSUB o mytest.out a mpich_gmmpirun.lsf./mytest作业提交方法为:bsub<bsub.scriptfi le
多计算节点目前运行在Windows XP系统的虚拟机中,主要负责使用DIgSILENT程序,实现用户预定义的功能。在运行过程中,多计算节点全自动根据所提交的算例和相关参数,驱动DIgSILENT程序,计算,回收计算结果。
电力系统电磁机电暂态混合仿真程序DIgSILENT/PowerFactory是德国DIgSILENTGmbH公司开发的电力系统仿真软件,软件包含了几乎常用的所有电力系统分析的功能,如潮流、短路计算、机电暂态及电磁暂态计算、谐波分析、小干扰稳定分析等。提供了全面的电力系统元件的模型库,包括发电机、电动机、控制器、动态负荷、线路、变压器、并联设备的模型,风电机组电气部分的模型。
并且该软件使用数据库概念的数据存储方式,分级的面向对象数据管理器,灵活的项目方案管理系统;
本发明实施例一提供的并行任务优化系统的多计算节点使用AutoIt语言开发。它是一种自动脚本语言AutoIt,自动控制工具。它可以被用来自动完成任何基于Windows或DOS的简单任务。
AutoIt运行时读取一个指定的脚本文件。这个脚本文件使得AutoIt完成一系列操作,包括
执行程序(Windows应用程序,DOS命令,等等。)
发出按键和鼠标点击(所有字符,不受键盘布局约束)。
窗口操作(例如最小化,隐藏,恢复,等待,激活
简单剪贴板文本操作。
本自动程序基于DIgSILENT软件提供的Windows标准的操作模式、图模一体化的处理方式,利用面向连续运行过程的仿真语言DSL和面向程序化过程的编程语言DPL技术,实现用户提交任务的自动执行。
该计算核心的功能在执行结束之后,自动关闭已打开的DIgSILENT软件,并维护自身的状态。
图5为本发明一种实施例提供的任务提交终端提交任务文件的方法流程图。
如图5所示,本发明实施例提供的任务提交终端提交任务文件的方法包括如下步骤:
步骤301,接收解析用户参数。
具体地,在程序启动后,任务提交终端检查用户提交任务文件中的数据参数,如果在检查过程中,解析用户提交的数据参数不能满足程序运行的需要,程序会给出错数据参数的信息,数据参数说明如下:
-c表示本次任务执行的命令
-t表示本次运算的文件名
-i表示激活算例名
-n表示DIgSILENT用户名
-p表示DIgSILENT密码
-v表示pfd文件名
基本过程如下所示:
步骤302,与调度服务器连接。
具体地,程序连接调度服务器,调度服务器包括FTP服务器和WMI(WindowsManagement Instrumentat ion,Windows管理规范)控制台。
FTP服务器用以实现用户任务数据文件的上传和结果文件的回收。FTP协议是一种常用的数据传输协议,具有以下优点:
完全基于网络,具有网络文件的上传与下载特性。如支持断点续传,不受工作组与IP地址限制等;拥有完善的用户权限管理系统,比起网络共享来说,可以详细设置每个用户的权限。如只能上传,不能修改或删除等;安全性高,可以进行数据的加密传输,更好保护个人隐私。
WMI是一项核心的Windows管理技术。程序使用WMI管理远程计算机。WMI允许通过一个公共的接口访问多种操作系统构成单元,因此不必分别对待各种底层接口或所谓的“提供者”。利用WMI可以高效地管理远程和本地的计算机;系统使用WMI连接远程主控端服务器,如下所示:
步骤303,提交任务。
具体地,当程序连接到远程调度服务器时,自动调用WMI对象,激活主控端服务器中的作业管理命令行,依据用户参数,提交计算任务。如下所示:
步骤304,扫描任务文件执行状态。
具体地,任务文件提交运行过程中,系统使用WMI控制台,向调度服务器询问任务执行的进展。询问的结果通过文本文件形式由FTP协议传回任务提交终端,并由程序解析后,显现给任务提交用户,便于用户实时监控任务文件的上载状态。
步骤305,回收任务文件执行结果。
当任务结束后,主控服务器主动将执行结果返回到FTP服务器对应的任务文件夹中;任务提交终端将执行结果从对应的文件夹中拷贝下来,完成任务执行。
在任务提交终端向调度服务器上载任务文件的整个过程,程序将向用户屏幕展示运行的结果,及时将信息反馈给任务提交者。
图6为本发明一种实施例提供的调度服务器对任务文件进行调度的方法流程图。
如图6所示,本发明实施例提供的调度服务器对任务文件进行调度的方法包括步骤如下:
步骤401,接收任务提交终端上载的任务文件。
具体地,任务提交终端可以具体采用LSF客服端,或者为一个运行bsub命令的服务器,当任务提交终端通过第一命令行向调度服务器上载任务文件时,如果第一命令行中不包括任务文件上载位置指令时,任务文件将被上载到系统默认的队列中,任务文件在队列中等待安排,这些作业处于等待状态。
步骤402,调度任务文件,得到调度决策结果。
具体地,在一个预定的时间间隔内,后台的主进程mbatchd将队列中的作业,将这些作业按设定的计划,传递给主调度进程mbschd;根据作业的优先权制定调度决策、调度机制和可利用资源,主调度进程mbschd评估这份工作时,得到调度结果,即主调度进程mbschd选择最佳的计算节点,在哪里作业可以运行,并将它的调度决策结果返回给后台主进程mbatchd;主负载信息管理进程(LIM)收集资源信息,主负载信息管理进程LIM与后台主进程mbatchd主进程交流这些信息,反过来mbatchd主进程使用之前交流信息支持调度决策结果。
步骤403,根据调度决策结果,分配作业。
具体地,当后台主进程Mbatchd主进程接收到Mbschd发送的调度结果时,立即分配作业到与调度结果相应的计算节点。
步骤404,运行作业。
具体地,当后台主进程Mbatchd将作业向计算节点发送,后台主进程Mbatchd向从属批处理进程sbatchd)发送的作业发送指令时,从属批处理进程为这份作业创建一个子处理进程Sbatchd和一个执行环境,通过使用一个远程执行服务器开始这个作业。
步骤405,返回调度作业输出结果。
具体地,当一个作业完成时,如果这个作业没有任何问题,它处于一个完成状态。如果有错误作业无法完成,这份作业处于退出状态。子处理进程Sbatchd传达作业信息,包括错误提示和给后台主进程Mbatchd的输出信息。
调度作业完成之后,进入计算节点进行计算,计算节点运行在Windows XP系统的虚拟机中,主要负责使用DIgSILENT程序,实现用户预定义的功能。在运行过程中,计算节点全自动根据所提交的算例和相关参数,驱动DIgSILENT程序,计算,回收计算结果。
电力系统电磁机电暂态混合仿真程序DIgSILENT/PowerFactory是德国DIgSILENTGmbH公司开发的电力系统仿真软件,软件包含了几乎常用的所有电力系统分析的功能,如潮流、短路计算、机电暂态及电磁暂态计算、谐波分析、小干扰稳定分析等。提供了全面的电力系统元件的模型库,包括发电机、电动机、控制器、动态负荷、线路、变压器、并联设备的模型,风电机组电气部分的模型。并且该软件使用数据库概念的数据存储方式,分级的面向对象数据管理器,灵活的项目方案管理系统。
本系统的计算核心层使用AutoIt语言开发。它是一种自动脚本语言AutoIt,自动控制工具。它可以被用来自动完成任何基于Windows或DOS的简单任务。
AutoIt运行时读取一个指定的脚本文件。这个脚本文件使得AutoIt完成一系列操作,包括
执行程序(Windows应用程序,DOS命令,等等。)
发出按键和鼠标点击(所有字符,不受键盘布局约束)。
窗口操作(例如最小化,隐藏,恢复,等待,激活
简单剪贴板文本操作。
本自动程序基于DIgSILENT软件提供的Windows标准的操作模式、图模一体化的处理方式,利用面向连续运行过程的仿真语言DSL和面向程序化过程的编程语言DPL技术,实现用户提交任务的自动执行。
图7为本发明一种实施例提供的多个计算节点进行计算的方法流程图。
如图7所示,本发明实施例提供的多个计算节点进行计算的方法包括如下步骤:
步骤501,启动DIgSILENT。
具体地,自动计算核心首要确认DIgSILENT软件执行程序的位置,然后以系统管理员的权限启动.exe,并等待该动作执行完成后,再进行下一步操作。
RunAs('Admini s trator','1',@ComputerName,0,$s tartPath,@Sys temDir,@SW_MAXIMIZE,0x10000)
Shel lExecuteWa i t("自动脚本程序路径-i-d-sC:\DIgSILENT\pf140\digpf.exe")
采用以上打开方式,主要考虑到以上两个操作在存在安全控制的系统下,依然能够有效地打开DIgSILENT程序,并赋予足够的权限。
步骤502,输入用户名/密码。
具体地,在DIgSILENT程序中,处于非服务器模式下,软件要求使用者提供用户名和密码,这些参数在运行之前,由用户以运行参数的方式提供。在程序执行过程中,计算核心识别DIgSILENT程序打开用户名/密码输入窗口之后,获取输入框的焦点,并按照参数内容,模拟用户,输入用户名和密码。在输入结束后,定位确认按钮,并触发按钮,完成输入用户名/密码操作。主要操作如下所示:
WinWa i tAct ive($ma inWindow,"",10)
等待主窗体打开完成。
SendAndLog("启动主程序完毕",-1,True)
对执行状态写日志。
WinWai t($logOnWindow,"",10)
等待登陆窗口打开
SendAndLog("等待登陆窗口",-1,True)
对执行状态写日志。
WinAct ivate(登陆窗口句柄)
;创建新窗口
完成用户登录操作后,DIgSILENT程序正常进入主界面,在该界面下,系统全屏扩展,防止可能的分辨率和现实器因素造成的控件定位不准确的问题。
步骤503,导入本次算例数据文件。
DIgSILENT程序以数据库方式存储每个计算的内容。在计算开始前,计算的算例以pfd文件的形式,部署在计算运行的虚拟机本地。计算核心访问该pfd文件,并导入到程序中,完成数据准备过程。在导入算例的过程中,依据算例的大小和虚拟机的性能,这个过程花费的时间不确定,所以在导入过程中,自动程序自动依据DIgSILENT程序的输出对导入过程进行检测,确定完成的程度。主要过程分为三步:
第一步:打开导入窗口
第三步:启动导入,并监控完成程度;
步骤504,激活算例
在导入算例之后,计算的数据准备完成。DIgSILENT程序要求对导入的算例进行激活操作。激活操作定位一个项目,该项目中包含这次执行的数据和DPL程序。激活操作的主要流程是遍历系统中已导入的算例名称,查找匹配参数指定的算例,完成激活操作。主要代码如下所示:
步骤505,激活DIgSILENT命令行。
算例激活之后,计算核心将自动执行用户提供的指令。本系统使DIgSILENT程序的命令行窗口来进行计算接口。程序使用相对定位的方式,定位命令行窗口启动按钮。方法是先定位最上部的工具条,然后定位最右边的按钮,最后定位命令行窗口按钮。
步骤506,输入命令,并启动执行
当命令行窗口被正确打开后,计算核心输入命令,并监控计算运行过程。
步骤507,命令执行完,并关闭DIgSILENT。
当计算核心判定命令已成功执行完毕之后,核心程序进入查找遗留的查找窗口和退出清除过程。该过程保证下次系统在得到指令后能够再次顺利的启动。
步骤508,参数说明
自动计算核心是以可执行程序的形式,提供给系统的。具体的调用参数包括以下六个方面,提供的顺序按照以及形式如下所示:
算例用户名:mm3
算例密码:mm3
算例文件所在的路径:
\\192.168.1.252\ftp\f825de27d90d4e7db2202b5ddf5d31ec
算例文件名:testgrid.pfd
需要激活的算例名:平台接口试验电网
此次执行的命令:ExportDGS
组合完成的参数顺序为:
mm3mm3\\192.168.1.252\ftp\f825de27d90d4e7db2202b5ddf5d31ectestgrid.pfd平台接口试验电网ExportDGS
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种并行任务优化系统,其特征在于,所述系统包括:任务提交终端、调度服务器和多个计算节点;所述调度服务器和多个所述任务提交终端通过第一网络环境互连,所述调度服务器和所述多个计算节点通过第二网络环境互连;所述多个计算节点运行有虚拟机,该虚拟机上运行有单处理器程序;
所述任务提交终端在第一网络环境下通过第一命令行向所述调度服务器上载任务文件;所述调度服务器对所述第一命令行和所述任务文件进行解析,并且在第二网络环境下,根据解析后的第一命令行和任务文件,将所述解析后的任务文件调度到所述多个计算节点之一,其中,解析后的任务文件包括数据参数;所述单处理器程序用以启动计算程序;根据数据参数,导入与所述数据参数相对应的算例;根据所述算例执行计算程序,得到计算结果;通过所述调度服务器将所述计算结果返回到所述任务提交终端;其中,所述调度服务器实时从进行计算的计算节点中获取作业的执行状态;所述任务提交终端通过第二命令行从所述调度服务器获取所述执行状态,所述执行状态包括任务文件上传状态以及调度所述任务文件执行状态;
所述调度服务器包括第一进程、第二进程和第三进程;
在预设的时间间隔内,所述第一进程将任务处理队列中的所述任务文件发送给第二进程;
根据所述第一命令行和所述任务文件,所述第二进程,调度决策可利用的所述多个计算节点之一执行任务计算,并将调度决策结果返回给所述第一进程;
当所述第一进程接收到所述调度决策结果后,根据所述调度决策结果,所述第一进程将所述解析后的任务文件调度到相应的计算节点;
当所述第一进程接收到所述调度决策结果,并向计算节点调度所述任务文件时,所述第三进程创建所述任务文件的子进程和调度执行环境,并通过远程调度执行服务器开始调度分配;
所述调度服务器采用IBM Platform LSF作业调度平台,所述单处理器程序采用DIgSILENT软件进行计算。
2.根据权利要求1所述的系统,其特征在于,所述调度服务器包括任务处理队列,所述任务处理队列用以存储所述任务提交终端通过第一命令行上载的所述任务文件;所述任务处理队列预设第一阈值;当所述任务处理队列中存储所述任务文件的数量达到所述第一阈值时,所述任务处理队列向所述任务提交终端发送禁止上载任务文件信息。
3.一种并行任务优化方法,应用于如权利要求1所述系统,其特征在于,所述方法包括:
任务提交终端在第一网络环境下通过第一命令行向调度服务器上载任务文件;
所述调度服务器对所述第一命令行和所述任务文件进行解析,并且在第二网络环境下,根据解析后的第一命令行和任务文件,将所述解析后的任务文件调度到所述多个计算节点之一,其中,解析后的任务文件包括数据参数,所述多个计算节点运行有虚拟机,该虚拟机上运行有单处理器程序;
启动计算程序;根据数据参数,导入与所述数据参数相对应的算例;根据所述算例执行计算程序,得到计算结果;通过所述调度服务器将所述结果返回到所述任务提交模块;
其中,所述调度服务器实时从进行计算的计算节点中获取所述作业的执行状态;所述任务提交终端通过第二命令行从所述调度服务器获取所述执行状态,所述执行状态包括任务文件上传状态以及调度所述任务文件执行状态;
所述调度服务器包括第一进程、第二进程和第三进程;
在预设的时间间隔内,所述第一进程将任务处理队列中的所述任务文件发送给第二进程;
所述第二进程根据所述第一命令行和所述任务文件,调度决策可利用的所述多个计算节点之一执行任务计算,并将调度决策结果返回给所述第一进程;
当在所述第一进程接收到所述调度决策结果后,并向计算节点发送所述任务文件时,所述第三进程创建所述任务文件的子进程和调度执行环境,并通过远程调度执行服务器开始调度分配。
4.根据权利要求3所述的方法,其特征在于,所述调度服务器包括任务处理队列,所述任务处理队列用以存储所述任务提交终端通过第一命令行上载的所述任务文件;所述任务处理队列预设第一阈值;当所述任务处理队列中存储所述任务文件的数量达到所述第一阈值时,所述任务处理队列向所述任务提交终端发送禁止上载任务文件信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510015287.XA CN104615487B (zh) | 2015-01-12 | 2015-01-12 | 并行任务优化系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510015287.XA CN104615487B (zh) | 2015-01-12 | 2015-01-12 | 并行任务优化系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104615487A CN104615487A (zh) | 2015-05-13 |
CN104615487B true CN104615487B (zh) | 2019-03-08 |
Family
ID=53149943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510015287.XA Active CN104615487B (zh) | 2015-01-12 | 2015-01-12 | 并行任务优化系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104615487B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045663B (zh) * | 2015-08-24 | 2018-12-04 | 马金栋 | 快速部署虚拟机的方法与系统 |
CN109426571B (zh) * | 2017-08-28 | 2022-05-13 | 阿里巴巴集团控股有限公司 | 函数调用和数据访问的方法、系统、存储介质、处理器和装置 |
CN110569252B (zh) * | 2018-05-16 | 2023-04-07 | 杭州海康威视数字技术股份有限公司 | 一种数据处理系统及方法 |
CN108803548B (zh) * | 2018-08-20 | 2021-04-20 | 张家港康得新光电材料有限公司 | 设备并联运行管理的方法和装置 |
CN112840320A (zh) * | 2018-12-21 | 2021-05-25 | 深圳鲲云信息科技有限公司 | 一种资源平台独享资源的方法、装置及电子设备 |
CN110543361B (zh) * | 2019-07-29 | 2023-06-13 | 中国科学院国家天文台 | 一种天文数据并行处理装置和方法 |
CN111221662B (zh) * | 2019-10-16 | 2021-01-05 | 贝壳找房(北京)科技有限公司 | 任务调度方法、系统及装置 |
CN110750349B (zh) * | 2019-10-26 | 2022-07-29 | 武汉中海庭数据技术有限公司 | 一种分布式任务调度方法及系统 |
CN111158658B (zh) * | 2019-11-22 | 2024-04-02 | 深圳市元征科技股份有限公司 | 指令处理方法、装置、终端设备及存储介质 |
CN112488848A (zh) * | 2020-11-17 | 2021-03-12 | 中国人寿保险股份有限公司 | 一种通过前台系统自主调度保险业务监控任务的方法 |
CN114968559B (zh) * | 2022-05-06 | 2023-12-01 | 苏州国科综合数据中心有限公司 | 基于lsf的多主机多gpu分布式布置深度学习模型的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262557A (zh) * | 2010-05-25 | 2011-11-30 | 运软网络科技(上海)有限公司 | 通过总线架构构建虚拟机监控器的方法及性能服务框架 |
CN102404385A (zh) * | 2011-10-25 | 2012-04-04 | 华中科技大学 | 面向高性能计算的虚拟集群部署系统和部署方法 |
CN102467570A (zh) * | 2010-11-17 | 2012-05-23 | 日电(中国)有限公司 | 用于分布式数据仓库的连接查询系统和方法 |
US20120197959A1 (en) * | 2011-01-28 | 2012-08-02 | Oracle International Corporation | Processing pattern framework for dispatching and executing tasks in a distributed computing grid |
CN103617086A (zh) * | 2013-11-20 | 2014-03-05 | 东软集团股份有限公司 | 一种并行计算方法及系统 |
-
2015
- 2015-01-12 CN CN201510015287.XA patent/CN104615487B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262557A (zh) * | 2010-05-25 | 2011-11-30 | 运软网络科技(上海)有限公司 | 通过总线架构构建虚拟机监控器的方法及性能服务框架 |
CN102467570A (zh) * | 2010-11-17 | 2012-05-23 | 日电(中国)有限公司 | 用于分布式数据仓库的连接查询系统和方法 |
US20120197959A1 (en) * | 2011-01-28 | 2012-08-02 | Oracle International Corporation | Processing pattern framework for dispatching and executing tasks in a distributed computing grid |
CN102404385A (zh) * | 2011-10-25 | 2012-04-04 | 华中科技大学 | 面向高性能计算的虚拟集群部署系统和部署方法 |
CN103617086A (zh) * | 2013-11-20 | 2014-03-05 | 东软集团股份有限公司 | 一种并行计算方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104615487A (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104615487B (zh) | 并行任务优化系统和方法 | |
Ponce et al. | Deploying a top-100 supercomputer for large parallel workloads: The Niagara supercomputer | |
CN101946258B (zh) | 基于计算机的业务过程在专用硬件上的基于模型的部署 | |
CN104160376B (zh) | 虚拟机的离线准备 | |
CN104317610B (zh) | 一种hadoop平台自动安装部署的方法及装置 | |
CN107784152A (zh) | 包括多个模拟器的模拟 | |
US20100262558A1 (en) | Incorporating Development Tools In System For Deploying Computer Based Process On Shared Infrastructure | |
US20100262559A1 (en) | Modelling Computer Based Business Process And Simulating Operation | |
CN108462746A (zh) | 一种基于openstack的容器部署方法及架构 | |
CN104243617B (zh) | 一种异构集群中面向混合负载的任务调度方法及系统 | |
CN101454766A (zh) | 组合软件服务的管理 | |
Teng et al. | Simmapreduce: A simulator for modeling mapreduce framework | |
CN110661842B (zh) | 一种资源的调度管理方法、电子设备和存储介质 | |
CN107370796A (zh) | 一种基于Hyper TF的智能学习系统 | |
CN110098952A (zh) | 一种服务器的管理方法和装置 | |
Aubakirov et al. | Development of system architecture for e-government cloud platforms | |
CN113157379A (zh) | 集群节点资源调度方法及装置 | |
CN108876286A (zh) | 一种面向航迹处理与电磁分析的分布式实时处理系统 | |
Aksakalli et al. | Systematic approach for generation of feasible deployment alternatives for microservices | |
CN113641483A (zh) | 一种基于人工智能的机器人流程自动化系统 | |
CN107944743A (zh) | 一种大型机系统的运行维护方法、装置及系统 | |
Voinea et al. | POSUM: A portfolio scheduler for mapreduce workloads | |
Sun et al. | V-mcs: A configuration system for virtual machines | |
Tiwari et al. | Automation of FaaS Serverless Frameworks OpenFaaS and OpenWhisk in Private Cloud | |
Abidi et al. | Desktop grid computing at the age of the web |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |