一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

作业的输入/输出信息的获取方法和装置与流程

2022-03-19 15:06:52 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,由于涉及一种作业的输入/输出信息的获取方法和装置。


背景技术:

2.高性能计算(high performance computing,简称hpc)服务的主要目的是提高运算速度及能力,以达到每秒万亿次级的计算速度。其可以解决大规模科学问题的计算和海量数据的处理,如气象预报、汽车模拟仿真、军事研究、生物制药、基因测序、核爆炸模拟等等。可以提供高性能计算服务的计算机可称之为“高性能计算机”或“hpc计算机”。
3.目前若hpc计算机执行有占用了存储系统大量的输入/输出(input/output,简称i/o)资源的作业,则可能会导致该hpc计算机其它的作业不能获得足够的i/o资源而无法被执行或者执行被严重延后。因此,hpc计算机需要获取正在执行的作业的i/o信息,以发现占用了存储系统大量的i/o资源的作业,并控制该作业对存储系统的访问,防止存储系统过载。但是目前hpc计算机获取的正在执行的作业的i/o信息不够准确。


技术实现要素:

4.本技术提供一种作业的输入/输出信息的获取方法和装置,可以准确的获取作业的i/o信息。
5.第一方面,本技术实施例提供一种作业的输入/输出信息的获取方法,所述方法应用于第一节点,所述第一节点运行有分布式文件系统监控进程和任务管理进程,所述方法包括:调用分布式文件系统监控进程获取各进程的输入/输出i/o信息、根据各所述进程的i/o信息获取各所述进程对应的至少一个作业的i/o信息以及将所述至少一个作业的i/o信息存储至少一个存储文件中;调用至少一个任务管理进程从所述至少一个存储文件中读取所述至少一个作业的i/o信息,以及向第二节点发送所述至少一个作业的i/o信息,所述至少一个任务管理进程与所述至少一个作业一一对应。
6.其中,i/o信息可包括如下中的至少一项:累加读字节、累加写字节、读带宽、写带宽、读延迟、写延迟。
7.本方案中第一节点调用分布式文件系统监控进程聚合属于同一个作业的各进程的i/o信息,得到作业的i/o信息,无需调用其它进程根据属于同一个作业的各进程的i/o信息,得到作业的i/o信息,由于分布式文件系统监控进程聚合属于同一个作业的各进程的i/o信息的准确度比其它进程聚合属于同一个作业的各进程的i/o信息的准确度要高,因此,本方案可以提高获取到的作业的i/o信息的准确度。
8.在一种可能的实施方式中,所述进程与预设环境变量信息相关联,所述预设环境变量信息包括该进程对应的作业的标识。其中,在属于不同簇的作业的标识相同,所述预设环境变量信息还可包括该进程对应的作业所属簇的标识。
9.本方案中被计算节点调用分布式文件系统监控进程获取i/o信息的进程是与预设
环境变量信息相关联的进程时,一是可以使得分布式文件系统监控进程仅收集关联有预设环境变量信息的进程的i/o信息,避免分布式文件系统监控进程收集到冗余信息,节省了第一节点的资源;二是可以使得分布式文件系统监控进程无需获知作业与进程之间的对应关系,根据关联相同预设环境变量信息的进程即可确定对应同一个作业进程,以实现分布式文件系统监控进程根据各进程的i/o信息获取各进程对应的至少一个作业的i/o信息,提高了至少一个作业的i/o信息获取的效率。
10.在一种可能的实施方式中,所述至少一个作业中的每个作业对应一个存储文件。本方案中每个作业对应一个存储文件时,可以通过存储文件的生命周期反应作业的生命周期,以使分布式文件系统监控进程可以准确的确定作业的终止时机。
11.在一种可能的实施方式中,还包括:调用所述至少一个任务管理进程中的第一任务管理进程创建的所述至少一个存储文件中的第一存储文件。比如调用第一任务管理进程在第一目录下创建所述第一存储文件。可选的,所述第一节点上还运行有创建进程,所述方法还包括:调用创建进程根据接收到的第一目录创建指令创建所述第一目录。
12.本方案中至少一个存储文件是第一节点调用任务管理进程创建的,其不会随着分布式文件系统监控进程异常关闭而消失,因此即使分布式文件系统监控进程异常关闭后重启,计算节点调用分布式文件系统监控进程之前获取到的至少一个作业的i/o信息不会丢失,保证了作业的i/o信息获取的连续性和可靠性。
13.在一种可能的实施方式中,还包括:在至少一个作业中的第一作业终止时,调用所述第一任务管理进程读取第一存储文件中未被读取的所述第一存储文件中的i/o信息,以及删除所述第一存储文件;所述第一存储文件用于存储所述第一作业的i/o信息;调用所述分布式文件系统监控进程释放在内存中存储的所述第一作业对应的各进程的i/o信息。
14.也就是说,本方案在第一作业终止后,删除第一存储文件,以使分布式文件系统监控进程获知第一作业已经终止,无需继续收集第一作业对应的各进程的i/o信息,反之,若第一存储文件一直存在,则说明第一作业对应的进程在运行,需要继续收集第一作业对应的各进程的i/o信息。即本实施的方法可以使得分布式文件系统监控进程准确的获知何时停止收集作业对应的进程的i/o信息,不会出现由于误判作业的部分进程已经终止而导致该部分进程的i/o信息被丢弃的现象,进一步提高了得到的作业的i/o信息准确度。
15.第二方面,本技术实施例提供一种作业的输入/输出信息的获取装置,该装置上运行有分布式文件系统监控进程和任务管理进程,所述装置包括:处理模块,用于调用分布式文件系统监控进程获取各进程的输入/输出i/o信息、根据各所述进程的i/o信息获取各所述进程对应的至少一个作业的i/o信息以及将所述至少一个作业的i/o信息存储至少一个存储文件中;所述处理模块,还用于调用至少一个任务管理进程从所述至少一个存储文件中读取所述至少一个作业的i/o信息;发送模块,用于向第二节点发送所述至少一个作业的i/o信息,所述至少一个任务管理进程与所述至少一个作业一一对应。
16.在一种可能的实施方式中,所述进程与预设环境变量信息相关联,所述预设环境变量信息包括该进程对应的作业的标识。
17.在一种可能的实施方式中,所述预设环境变量信息还包括该进程对应的作业所属簇的标识。
18.在一种可能的实施方式中,所述至少一个作业中的每个作业对应一个存储文件。
19.在一种可能的实施方式中,所述处理模块还用于:调用所述至少一个任务管理进程中的第一任务管理进程创建所述至少一个存储文件中的第一存储文件。
20.在一种可能的实施方式中,所述处理模块还用于:在至少一个作业中的第一作业终止时,调用所述第一任务管理进程读取第一存储文件中未被读取的所述第一存储文件中的i/o信息,以及删除所述第一存储文件;所述第一存储文件用于存储所述第一作业的i/o信息;调用所述分布式文件系统监控进程释放在内存中存储的所述第一作业对应的各进程的i/o信息。
21.在一种可能的实施方式中,所述处理模块具体用于:调用所述第一任务管理进程在第一目录下创建所述第一存储文件。
22.在一种可能的实施方式中,所述装置上还运行有创建进程,所述处理模块还用于:调用创建进程根据接收到的第一目录创建指令创建所述第一目录。
23.在一种可能的实施方式中,所述i/o信息包括如下中的至少一项:累加读字节、累加写字节、读带宽、写带宽、读延迟、写延迟。
24.第三方面,本技术实施例提供一种电子设备,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行如第一方面或第一方面任一可能的实施方式中所述的方法。
25.第四方面,本技术实施例提供一种作业的输入/输出信息的获取系统,包括:第一节点和第二节点;
26.所述第一节点上运行有分布式文件系统监控进程和任务管理进程,所述第一节点用于:调用分布式文件系统监控进程获取各进程的输入/输出i/o信息、根据各所述进程的i/o信息获取各所述进程对应的至少一个作业的i/o信息以及将所述至少一个作业的i/o信息存储至少一个存储文件中;所述第一节点还用于调用至少一个任务管理进程从所述至少一个存储文件中读取所述至少一个作业的i/o信息,以及向所述第二节点发送所述至少一个作业的i/o信息,所述至少一个任务管理进程与所述至少一个作业一一对应。
27.在一种可能的实施方式中,所述进程与预设环境变量信息相关联,所述预设环境变量信息包括该进程对应的作业的标识。
28.在一种可能的实施方式中,所述预设环境变量信息还包括该进程对应的作业所属簇的标识。
29.在一种可能的实施方式中,所述至少一个作业中的每个作业对应一个存储文件。
30.在一种可能的实施方式中,所述第一节点还用于:调用所述至少一个任务管理进程中的第一任务管理进程创建所述至少一个存储文件中的第一存储文件。
31.在一种可能的实施方式中,所述第一节点还用于:在至少一个作业中的第一作业终止时,调用所述第一任务管理进程读取第一存储文件中未被读取的所述第一存储文件中的i/o信息,以及删除所述第一存储文件;所述第一存储文件用于存储所述第一作业的i/o信息;调用所述分布式文件系统监控进程释放在内存中存储的所述第一作业对应的各进程的i/o信息。
32.在一种可能的实施方式中,所述第一节点具体用于:调用所述第一任务管理进程在第一目录下创建所述第一存储文件。
33.在一种可能的实施方式中,所述第一节点上还运行有创建进程,所述第一节点还
用于:调用创建进程根据接收到的第一目录创建指令创建所述第一目录。
34.在一种可能的实施方式中,所述i/o信息包括如下中的至少一项:累加读字节、累加写字节、读带宽、写带宽、读延迟、写延迟。
35.第五方面,本技术实施例提供一种存储介质,所述存储介质包括计算机程序,所述计算机程序用于实现如第一方面或第一方面任一可能的实施方式中所述的方法。
36.第六方面,本技术实施例提供一种芯片,包括处理器、存储器和通信接口,所述处理器、存储器与所述通信接口连接,所述处理器用于读取并执行所述存储器中存储的计算机程序,以执行前述第一方面或第一方面任一可能的实施方式中所述的方法。
附图说明
37.图1为目前的一种获取作业的i/o信息的过程示意图;
38.图2为目前的另一种获取作业的i/o信息的过程示意图;
39.图3为本技术实施例提供的一种系统架构图;
40.图4为本技术实施例提供的i/o信息的获取方法的流程图一;
41.图5为本技术实施例提供的i/o信息的获取方法的流程图二;
42.图6为本技术实施例提供的作业的i/o信息的获取方法的过程示意图;
43.图7为本技术实施例提供的作业的输入/输出信息的获取装置的示意图;
44.图8为本技术实施例的电子设备的一种实现方式的示意性框图;
45.图9为本技术实施例提供的作业的输入/输出信息的获取系统的示意性框图。
具体实施方式
46.首先对本技术涉及的要素进行说明。
47.1、分布式计算系统:分布式计算系统包括多台通过网络互联的计算机,比如多台通过网络互联的hpc计算机。分布式计算系统中的多台计算机可包括至少一个管理节点和多个计算节点,管理节点用于接收用户提交的作业,并将作业分配至计算节点,计算节点执行主节点分配的作业。一个作业可被分配至一个计算节点或多个计算节点来执行。
48.2、容器(container):计算机操作系统中的一种虚拟化技术。该技术使得进程运行于相对独立和隔离的环境(包含独立的文件系统、命名空间、资源视图等),从而能够简化软件的部署流程,增强软件的可移植性和安全性,并提高系统资源利用率。容器技术广泛应用于云计算领域的服务化场景。简单来说,容器可以认为是一个受到资源限制、并与其它进程相互隔离的进程。
49.3、作业(job):作业是一项特定的计算业务所需要执行的一组程序实例的集合,通常对应于一台或多台计算机上的一组进程、容器或其他运行实体。由于容器也是进程,因此,可以认为一个作业对应多个进程。
50.从另一个角度来讲,作业会被切分成一个或一个以上的阶段(stage),每个阶段内部包含一个或多个并发执行的任务(task),也可以说每个作业被切分成多个任务,每个任务对应一个进程。
51.4、进程(process):进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
52.5、分布式文件系统(distributed file system,dfs)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。其中,共享并行文件系统(general parallel file system,gpfs)是ibm公司开发的,通常应用于hpc集群,它保证在hpc集群内的所有节点可以并行访问整个文件系统。gpfs允许客户共享文件,而这些文件可能分布在不同节点的不同硬盘上。lustre是一种类似于gpfs的开源并行分布式文件系统,通常应用于hpc集群。
53.6、输入/输出(i/o),通常指数据在存储器或其他周边设备的之间的输入输出。
54.为了更好的理解本技术,下面对目前存在的问题进行说明。
55.目前在分布式计算系统中应用的一种获取作业的i/o信息的方案如图1所示,计算节点开机后,启动调度器代理进程。计算节点接收到来自管理节点的作业后,启动作业,每个作业启动后对应一个或多个进程。进程在运行过程中会基于gpfs访问存储系统,从而产生i/o统计信息。
56.继续参见图1,计算节点调用gpfs系统监控进程以进程为维度收集i/o信息,并周期性地把收集到各进程的i/o信息备份到一个内存文件中。然后计算节点调用调度器代理进程周期性地读取该内存文件中的各进程的i/o信息,并根据作业与进程之间的对应关系,聚合属于同一作业的进程的i/o信息,得到作业维度的i/o信息。比如,作业a包括进程1~5,则将进程1~5的i/o信息聚合,得到作业a的i/o信息。
57.这种方案存在如下的不足:(1)、计算节点调用gpfs系统监控进程收集了计算节点上所有进程的i/o信息,计算节点上所有进程中包括一些非作业对应的进程,也就是说计算节点可能会收集大量冗余信息,例如图2中属于非作业对应的进程的“系统进程”的i/o信息,gpfs系统监控进程也收集了;同时计算节点调用调度器代理进程读取存储各进程的i/o信息的文件时,也读取到了这些冗余信息,因此需要将这些冗余信息去除,浪费了计算节点的资源,增加了计算节点的功耗。
58.(2)、计算节点调用调度器代理进程根据作业与进程之间的对应关系,聚合属于同一作业的进程的i/o信息时,容易出错,导致得到的作业的i/o信息不准确。
59.(3)gpfs系统监控进程不知道什么时候停止收集某个进程的i/o信息,只能通过设置一个超时时间来判定。当一个进程在超过一段时间没有i/o操作,就会认为该进程已经退出,不需要在收集了,从内存中丢掉原来已经收集到的该进程的i/o信息。但是实际中很多情况是进程在初始化和结束的时候会有大量的io操作,在执行期间基本很少有io操作。所以这样就导致gpfs系统监控进程可能收集到了作业对应的部分进程的i/o信息,最终导致得到的作业的i/o信息不准确。
60.目前在分布式计算系统中应用的另一种获取作业的i/o信息的方案如图2所示,计算节点开机后,启动调度器代理进程。计算节点接收到来自管理节点的作业后,计算节点调用任务管理进程为该作业对应的进程设置一个环境变量(job_id),然后启动该作业,每个作业启动后对应的一个或多个进程与作业标识相关联。进程在运行过程中会基于lustre访问存储系统,从而产生i/o统计信息。
61.继续参见图2,计算节点通过调用调度器代理进程读取用于存储进程的i/o信息的内存文件(比如,/proc/xxx文件),来触发lustre系统监控进程以进程为维度收集关联有环
境变量的进程的i/o信息。调度器代理进程获取到关联有job_id的i/o信息后,根据作业与进程之间的对应关系,聚合属于同一作业的进程的i/o信息,得到作业维度的i/o信息。
62.这种方案中lustre系统监控进程只收集关联有job_id的进程的i/o信息,不会收集些非作业对应的进程的i/o信息,解决了图1所示的方案(1)中所述的不足。但是同样存在图1所示的方案(2)和(3)中所述的得到的作业的i/o信息不准确的技术问题。
63.此外,这种方案还存在如下的不足,lustre系统监控进程收集关联有环境变量的进程的i/o信息是通过调用调度器代理进程读取用于存储进程的i/o信息的内存文件触发的,由于lustre系统监控进程收集的时间会随着job进程的增多而加长,若调度器代理进程长时间没有从该文件中读取到i/o信息,调度器代理进程不能确定lustre系统监控进程是还没有收集完毕,还是已经挂了。
64.因此,目前获取作业的i/o信息的方法存在得到的i/o信息不够准确的技术问题。为了解决该技术问题,提出了本技术中的作业的i/o信息的获取方法。
65.图3为本技术实施例提供的一种系统架构图。参见图3,该系统架构包括至少一个第二节点和至少一个第一节点。其中,第二节点可以是分布式系统架构中的管理节点,也可以是终端设备,还可以是其它的服务器;第一节点可以是分布式系统架构中的计算节点或云服务器,也可以是其它的服务器,比如云服务器或应用服务器。例如,在第二节点为分布式系统架构中的管理节点时,第一节点可以是分布式系统架构中的计算节点或云服务器且第一节点的数量为多个。
66.其中,第一节点运行有作业,第一节点中的作业可以是第二节点分配的,也可以是基于其它节点发送的请求生成的。
67.具体地,第一节点调用分布式文件系统监控进程获取各进程的输入/输出i/o信息、根据各所述进程的i/o信息获取各进程对应的至少一个作业的i/o信息以及将至少一个作业的i/o信息存储至少一个存储文件中;第一节点调用至少一个任务管理进程从至少一个存储文件中读取至少一个作业的i/o信息,以及向第二节点发送至少一个作业的i/o信息,至少一个任务管理进程与至少一个作业一一对应。本技术中第一节点调用分布式文件系统监控进程聚合属于同一个作业的各进程的i/o信息以得到该作业的i/o信息,由于分布式文件系统监控进程聚合属于同一个作业的各进程的i/o信息的准确度比其它进程聚合属于同一个作业的各进程的i/o信息的准确度要高,因此,本技术可以提高获取到的作业的i/o信息的准确度。
68.下面采用具体的实施例对本技术的i/o信息的获取方法进行说明。
69.图4为本技术实施例提供的i/o信息的获取方法的流程图一,本实施的执行主体为第一节点,该第一节点上运行有分布式文件系统监控进程和任务管理进程。参见图4,本实施例的方法包括:
70.步骤s401、第一节点调用分布式文件系统监控进程获取各进程的输入/输出i/o信息、根据各进程的i/o信息获取各所述进程对应的至少一个作业的i/o信息以及将所述至少一个作业的i/o信息存储至少一个存储文件中。
71.本实施例中的分布式文件系统监控进程可以是gpfs系统监控进程,还可以是lustre系统监控进程,还可是其它的分布式文件系统监控进程,本实施例中并不限制。
72.第一节点周期性的调用分布式文件系统监控进程获取各进程的i/o信息,其中,i/
o信息可包括监控周期内多个时刻下的累加读字节、累加写字节、读带宽、写带宽、读延迟、写延迟中的至少一项。
73.第一节点调用分布式文件系统监控进程获取到各进程的i/o信息后,分布式文件系统监控进程根据各进程的i/o信息获取各进程对应的至少一个作业的i/o信息。此处的各进程可对应至少一个作业,比如,进程1和进程2为作业1对应的进程,进程3和进程4为作业2对应的进程,进程1、进程2、进程3和进程4对应两个作业:作业1和作业2。
74.一种方案中,计算节点调用分布式文件系统监控进程根据各进程的i/o信息获取各进程对应的至少一个作业的i/o信息可包括:计算节点调用分布式文件系统监控进程根据对应同一作业的进程的i/o信息,获取该作业的i/o信息。其中,“根据对应同一作业的进程的i/o信息,获取该作业的i/o信息”也可以称为“聚合对应同一作业的进程的i/o信息,得到该作业的i/o信息”。可选的,计算节点可调用其它的进程向分布式文件系统监控进程发送作业与进程之间的对应关系,或者,计算节点可调用分布式文件系统监控进程从相关的存储设备中获取作业与进程之间的对应关系。
75.示例性地,进程1和进程2为作业1对应的进程,进程1的i/o信息包括时刻1的累加读字节1、累加写字节1、读带宽1、写带宽1、读延迟1、写延迟1,以及时刻2的累加读字节2、累加写字节2、读带宽2、写带宽2、读延迟2、写延迟2。进程2的i/o信息包括时刻1的累加读字节3、累加写字节3、读带宽3、写带宽3、读延迟3、写延迟3,以及时刻2的累加读字节4、累加写字节4、读带宽4、写带宽4、读延迟4、写延迟4。则将累加读字节1和累加读字节3相加,得到时刻1的总累加读字节,将累加写字节1和累加写字节3相加,得到时刻1的总累加写字节,将读带宽1与读带宽3相加得到时刻1的总读带宽,将写带宽1与写带宽3相加得到时刻1的总写带宽,将读延迟1与读延迟3相加得到时刻1的总读延迟,将写延迟1与写延迟3相加得到时刻1的总写延迟。时刻1的总累加读字节、时刻1的总累加写字节、时刻1的总读带宽、时刻1的总写带宽、时刻1的总读延迟以及时刻1的总写延迟为作业1在时刻1的i/o信息。采用作业1在时刻1的i/o信息类似的方法,得到作业1在时刻2的i/o信息,即作业1的i/o信息:作业1在时刻1的i/o信息以及作业1在时刻2的i/o信息。
76.可选的,本实施例中被计算节点调用分布式文件系统监控进程获取i/o信息的进程是与预设环境变量信息相关联的进程。预设环境变量信息可以包括该进程对应的作业的标识(job_id)。在不同簇中的作业的标识可能相同的情况下,预设环境变量信息还包括该进程对应的作业所属簇的标识(cluster_id)。可以理解的是,对应同一个作业的进程与相同的预设环境变量信息相关联,对应不同作业的进程关联的预设环境变量信息不相同。比如至少一个作业中的任意一个第一作业,第一节点在接收到第一作业后,调用任务管理进程设置第一预设环境变量信息,第一预设环境变量信息包括第一作业的标识,可选的,第一预设环境变量信息还可包括第一作业所属簇的标识。在第一作业开始执行后,第一作业对应的进程继承该第一预设环境变量信息,也就是第一作业与该第一预设环境变量相关联。
77.在本实施例中被计算节点调用分布式文件系统监控进程获取i/o信息的进程是与预设环境变量信息相关联的进程时,一是可以使得分布式文件系统监控进程仅收集关联有预设环境变量信息的进程的i/o信息,避免分布式文件系统监控进程收集到冗余信息,节省了第一节点的资源;二是可以使得分布式文件系统监控进程无需获知作业与进程之间的对应关系(即无需计算节点调用其它的进程向分布式文件系统监控进程发送作业与进程之间
的对应关系,也无需调用分布式文件系统监控进程从相关的存储设备中获取作业与进程之间的对应关系),根据关联相同预设环境变量信息的进程即可确定对应同一个作业进程,以实现分布式文件系统监控进程根据各进程的i/o信息获取各进程对应的至少一个作业的i/o信息,提高了至少一个作业的i/o信息获取的效率。
78.分布式文件系统监控进程得到各进程对应的至少一个作业的i/o信息之后,将至少一个作业的i/o信息存储至少一个存储文件中。
79.其中,至少一个作业中的每个作业可对应一个存储文件,比如,至少一个作业中的任意一个第一作业的i/o信息存储至少一个存储文件中的第一存储文件中,则第一作业对应第一存储文件。或者,至少一个作业对应一个存储文件。
80.在一种实现方式中,至少一个存储文件是第一节点调用任务管理进程创建的。一种具体的实现中,第一节点调用任务管理进程在第一目录下创建至少一个存储文件,即第一目录用于存放至少一个存储文件。在至少一个作业中的每个作业对应一个存储文件的情况下,对于至少一个作业中的任意一个第一作业,第一节点接收到第一作业后,在第一目录下创建第一存储文件。其中,第一目录的获取方法可如下:在第一节点启动后,第一节点可调用创建进程根据接收到的第一目录创建指令创建第一目录。
81.在至少一个存储文件是第一节点调用任务管理进程创建的存储文件时,即使分布式文件系统监控进程异常关闭后重启,计算节点调用分布式文件系统监控之前获取到的至少一个作业的i/o信息不会丢失,保证了作业的i/o信息获取的连续性和可靠性。
82.在另一种实现方式中,至少一个存储文件是内存文件。
83.步骤s402、第一节点调用至少一个任务管理进程从至少一个存储文件中读取至少一个作业的i/o信息,以及向第二节点发送至少一个作业的i/o信息,至少一个任务管理进程与至少一个作业一一对应。
84.也就是说,第一节点每接收到一个作业,就启动一个对应该作业的任务管理进程。对于至少一个任务管理进程中的第一任务管理进程,第一节点可周期性的调用该第一任务管理进程从至少一个存储文件中读取第一作业的i/o信息,即第一任务管理进程是计算节点接收到第一作业后启动的。
85.在分布式计算系统中,第一节点调用至少一个任务管理进程向第二节点发送至少一个作业的i/o信息包括:第一节点调用至少一个任务管理进程向第一节点上运行的调度器代理进程发送至少一个作业的i/o信息,第一节点调用调度器代理进程向第二节点发送至少一个作业的i/o信息。
86.其中,第二节点接收到至少一个作业的i/o信息后,可通过显示器显示至少一个作业的i/o信息,以使管理用户获知各作业的i/o信息。若管理用户发现至少一个作业中存在占用了存储系统大量的i/o资源的目标作业,比如目标作业的累积写字节超过了预设字节,则第二节点可接收终止目标作业的指令,以及将该指令发送至第一节点,第一节点根据该指令终止该目标作业。
87.本实施例中第一节点调用分布式文件系统监控进程聚合属于同一个作业的各进程的i/o信息,得到作业的i/o信息,无需调用其它进程根据属于同一个作业的各进程的i/o信息,得到作业的i/o信息,由于分布式文件系统监控进程聚合属于同一个作业的各进程的i/o信息的准确度比其它进程聚合属于同一个作业的各进程的i/o信息的准确度要高,因
此,本技术可以提高获取到的作业的i/o信息的准确度。
88.此外,在本实施例中的各进程中的进程与预设环境变量信息相关联时,还可以节省了第一节点的资源以及提高至少一个作业的i/o信息的获取效率。
89.为了进一步的提高至少一个作业的i/o信息的获取效率,本实施例在上一实施例的基础上作了进一步的改进,本实施例的方法中至少一个作业中的每个作业对应一个存储文件。参见图5,本实施例的方法在上一实施例的基础上,还包括:
90.步骤s501、在至少一个作业中的第一作业终止时,第一节点调用第一任务管理进程读取第一存储文件中未被读取的第一存储文件中的i/o信息,第一存储文件用于存储第一作业的i/o信息。
91.可以理解的是,若至少一个作业中的第一作业终止时,第一文件不存在未被第一节点调用第一任务管理进程读取的i/o信息,则步骤s501不存在。
92.步骤s502、第一节点调用第一任务管理进程删除第一存储文件。
93.也就是说,第一任务管理进程可以监控到第一节点上的第一作业的运行状态,在监控到第一作业终止后,第一任务管理进程判断第一存储文件中是否存在未读取的i/o信息,若不存在,则删除第一存储文件,若存在,则在读取完毕未读取的i/o信息后,删除第一存储文件。也就是说,采用第一存储文件的生命周期,指示第一作业对应的进程的生命周期。
94.步骤s503、第一节点调用分布式文件系统监控进程释放在内存中存储的第一作业对应的各进程的i/o信息。
95.分布式文件系统监控进程确定第一存储文件被删除后,确定第一作业对应的进程终止,分布式文件系统监控进程释放在内存中存储的第一作业对应的各进程的i/o信息,也即不再收集第一作业对应的各进程的i/o信息,或者说不再收集关联有第一预设环境信息的进程的i/o信息。
96.也就是说,本实施的方法在第一作业终止后,删除第一存储文件,以使分布式文件系统监控进程获知第一作业已经终止,无需继续收集第一作业对应的各进程的i/o信息,反之,若第一存储文件一直存在,则说明第一作业对应的进程在运行,需要继续收集第一作业对应的各进程的i/o信息。即本实施的方法可以使得分布式文件系统监控进程准确的获知何时停止收集作业对应的进程的i/o信息,不会出现由于误判作业的部分进程已经终止而导致该部分进程的i/o信息被丢弃的现象,进一步提高了得到的作业的i/o信息准确度。
97.下面通过一个示例对上述实施例中的作业的i/o信息的获取方法进行示例性说明。
98.图6为本技术实施例提供的作业的i/o信息的获取方法的过程示意图,参见图6,该示例应用于分布式计算系统中的计算节点。计算节点接收到作业1、作业2和作业3后,分别启动任务管理进程1、任务管理进程2和任务管理进程3。计算节点调用任务管理进程1在第一目录下创建用于存储作业1的存储文件1、调用任务管理进程2在第一目录下创建用于存储作业1的存储文件2以及调用任务管理进程3在第一目录下创建用于存储作业3的存储文件3。计算节点调用任务管理进程1为作业1设置环境变量信息:作业1的标识11以及作业1所属簇的标识22,计算节点调用任务管理进程2为作业2设置环境变量信息:作业2的标识10以及作业1所属簇的标识21,计算节点调用任务管理进程3为作业3以及1设置环境变量信息作
业3的标识00以及作业1所属簇的标识20。作业1启动后,作业1对应的进程与标识11和标识22相关联,作业2对应的进程与标识10和标识21相关联,作业3对应的进程与标识00和标识20相关联。计算节点调用分布式文件系统监控进程收集当前监控周期内关联标识11和标识22的进程的i/o信息、关联标识10和标识21的进程的i/o信息以及关联标识00和标识20的进程的i/o信息。聚合关联标识11和标识22的进程的i/o信息得到作业1的i/o信息,将作业1的i/o信息存储至存储文件1中,将作业2的i/o信息存储至存储文件2中以及将将作业3的i/o信息存储至存储文件3中。
99.计算节点调用任务管理进程1从存储文件1中读取未被读取过的作业1的i/o信息并将读取到的作业1的i/o信息发送至调度器代理进程,以使调度器代理进程将读取到的作业1的i/o信息发送至管理节点。计算节点调用任务管理进程2从存储文件2中读取未被读取过的作业2的i/o信息并将读取到的作业2的i/o信息发送至调度器代理进程,以使调度器代理进程将读取到的作业2的i/o信息发送至管理节点。计算节点调用任务管理进程3从存储文件3中读取未被读取过的作业3的i/o信息并将读取到的作业3的i/o信息发送至调度器代理进程,以使调度器代理进程将读取到的作业3的i/o信息发送至管理节点。
100.以上对本技术涉及的方法进行了说明,下面对本技术涉及的装置和系统进行说明。
101.图7为本技术实施例提供的作业的输入/输出信息的获取装置的示意图,参见图7,本实施例的装置包括:处理模块701和发送模块702。
102.该装置上运行有分布式文件系统监控进程和任务管理进程。处理模块701,用于调用分布式文件系统监控进程获取各进程的输入/输出i/o信息、根据各所述进程的i/o信息获取各所述进程对应的至少一个作业的i/o信息以及将所述至少一个作业的i/o信息存储至少一个存储文件中;所述处理模块701,还用于调用至少一个任务管理进程从所述至少一个存储文件中读取所述至少一个作业的i/o信息;发送模块702,用于向第二节点发送所述至少一个作业的i/o信息,所述至少一个任务管理进程与所述至少一个作业一一对应。
103.可选的,所述进程与预设环境变量信息相关联,所述预设环境变量信息包括该进程对应的作业的标识。
104.可选的,所述预设环境变量信息还包括该进程对应的作业所属簇的标识。
105.可选的,所述至少一个作业中的每个作业对应一个存储文件。
106.可选的,所述处理模块701还用于:调用所述至少一个任务管理进程中的第一任务管理进程创建所述至少一个存储文件中的第一存储文件。
107.可选的,所述处理模块701还用于:在至少一个作业中的第一作业终止时,调用所述第一任务管理进程读取第一存储文件中未被读取的所述第一存储文件中的i/o信息,以及删除所述第一存储文件;所述第一存储文件用于存储所述第一作业的i/o信息;调用所述分布式文件系统监控进程释放在内存中存储的所述第一作业对应的各进程的i/o信息。
108.可选的,所述处理模块701具体用于:调用所述第一任务管理进程在第一目录下创建所述至少一个存储文件。
109.可选的,所述装置上还运行有创建进程,所述处理模块701还用于:调用创建进程根据接收到的第一目录创建指令创建所述第一目录。
110.可选的,所述i/o信息包括如下中的至少一项:累加读字节、累加写字节、读带宽、
写带宽、读延迟、写延迟。
111.本实施例的装置,可以用于执行上述方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。本实施例中的装置可为第一节点的全部或部分。
112.图8为本技术实施例的电子设备的一种实现方式的示意性框图。本实施例的电子设备可以是上述的第一节点,也可以是支持第一节点实现上述方法的芯片、芯片系统、或处理器等,还可以是支持实现上述方法的芯片、芯片系统、或处理器等。该电子设备可用于实现上述方法实施例中描述的第一节点对应的方法,具体可以参见上述方法实施例中的说明。
113.所述电子设备可以包括一个或多个处理器801,所述处理器801也可以称为处理单元,可以实现一定的控制功能。所述处理器801可以是通用处理器或者专用处理器等。
114.在一种可选的设计中,处理器801也可以存有指令和/或数据803,所述指令和/或数据803可以被所述处理器运行,使得所述电子设备执行上述方法实施例中描述的方法。
115.在另一种可选的设计中,处理器801中可以包括用于实现接收和发送功能的收发单元。例如该收发单元可以是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路可以是分开的,也可以集成在一起。上述收发电路、接口或接口电路可以用于代码/数据的读写,或者,上述收发电路、接口或接口电路可以用于信号的传输或传递。
116.可选的,所述电子设备中可以包括一个或多个存储器802,其上可以存有指令804,所述指令可在所述处理器上被运行,使得所述电子设备执行上述方法实施例中描述的方法。可选的,所述存储器中还可以存储有数据。可选的,处理器中也可以存储指令和/或数据。所述处理器和存储器可以单独设置,也可以集成在一起。例如,上述方法实施例中所描述的对应关系可以存储在存储器中,或者存储在处理器中。
117.可选的,所述电子设备还可以包括收发器805和/或天线806。所述处理器801可以称为处理单元,对所述电子设备进行控制。所述收发器805可以称为收发单元、收发机、收发电路或者收发器等,用于实现收发功能。
118.本实施例中描述的处理器和收发器可以用各种ic工艺技术来制造,例如互补金属氧化物半导体(complementary metal oxide semiconductor,cmos)、n型金属氧化物半导体(nmetal-oxide-semiconductor,nmos)、p型金属氧化物半导体(positive channel metal oxide semiconductor,pmos)、双极结型晶体管(bipolar junction transistor,bjt)、双极cmos(bicmos)、硅锗(sige)、砷化镓(gaas)等。
119.应理解,本技术实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
120.可以理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储
器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
121.本技术实施例中描述的电子设备的范围并不限于此,而且电子设备的结构可以不受图8的限制。本技术实施例中描述的电子设备可以是独立的设备或者可以是较大设备的一部分。
122.图9为本技术实施例提供的作业的输入/输出信息的获取系统的示意性框图。参见图9,本实施例中的系统包括第一节点901和第二节点902。
123.所述第一节点901上运行有分布式文件系统监控进程和任务管理进程,所述第一节点901用于:调用分布式文件系统监控进程获取各进程的输入/输出i/o信息、根据各所述进程的i/o信息获取各所述进程对应的至少一个作业的i/o信息以及将所述至少一个作业的i/o信息存储至少一个存储文件中;所述第一节点901还用于调用至少一个任务管理进程从所述至少一个存储文件中读取所述至少一个作业的i/o信息,以及向所述第二节点902发送所述至少一个作业的i/o信息,所述至少一个任务管理进程与所述至少一个作业一一对应。
124.可选的,所述进程与预设环境变量信息相关联,所述预设环境变量信息包括该进程对应的作业的标识。
125.可选的,所述预设环境变量信息还包括该进程对应的作业所属簇的标识。
126.可选的,所述至少一个作业中的每个作业对应一个存储文件。
127.可选的,所述第一节点901还用于:调用所述至少一个任务管理进程中的第一任务管理进程创建所述至少一个存储文件中的第一存储文件。
128.可选的,所述第一节点901还用于:在至少一个作业中的第一作业终止时,调用所述第一任务管理进程读取第一存储文件中未被读取的所述第一存储文件中的i/o信息,以及删除所述第一存储文件;所述第一存储文件用于存储所述第一作业的i/o信息;调用所述分布式文件系统监控进程释放在内存中存储的所述第一作业对应的各进程的i/o信息。
129.可选的,所述第一节点901具体用于:调用所述第一任务管理进程在第一目录下创建所述至少一个存储文件。
130.可选的,所述第一节点901上还运行有创建进程,所述第一节点901还用于:调用创建进程根据接收到的第一目录创建指令创建所述第一目录。
131.可选的,所述i/o信息包括如下中的至少一项:累加读字节、累加写字节、读带宽、写带宽、读延迟、写延迟。
132.本实施例的系统可以用于执行上述方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
133.本技术还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例的功能。
134.本技术还提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现上述任一方法实施例的功能。
135.在上述实施例使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,dvd))、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
136.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
137.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
138.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
139.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。
140.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
141.应理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施
例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
142.还应理解,在本技术中,“当

时”、“若”以及“如果”均指在某种客观情况下终端设备或者服务器会做出相应的处理,并非是限定时间,且也不要求终端设备或者服务器实现时一定要有判断的动作,也不意味着存在其它限定。
143.本技术中对于使用单数表示的元素旨在用于表示“一个或多个”,而并非表示“一个且仅一个”,除非有特别说明。本技术中,在没有特别说明的情况下,“至少一个”旨在用于表示“一个或者多个”,“多个”旨在用于表示“两个或两个以上”。
144.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a可以是单数或者复数,b可以是单数或者复数。
145.字符“/”一般表示前后关联对象是一种“或”的关系。
146.本文中术语
“……
中的至少一个”或
“……
中的至少一种”,表示所列出的各项的全部或任意组合,例如,“a、b和c中的至少一种”,可以表示:单独存在a,单独存在b,单独存在c,同时存在a和b,同时存在b和c,同时存在a、b和c这六种情况,其中a可以是单数或者复数,b可以是单数或者复数,c可以是单数或者复数。
147.应理解,在本技术各实施例中,“与a相应的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献