一种面向超算集群调度的通用作业收集方法及中间件技术

技术编号:35903656 阅读:15 留言:0更新日期:2022-12-10 10:40
本发明专利技术提出了一种面向超算集群调度的通用作业收集方法及中间件,涉及集群调度技术领域,用于解决不同调度系统数据接口不兼容的问题以及同一调度系统不同版本数据接口不兼容的问题,该方法包括:采用主动收集和被动收集两种模式获取各个超算集群调度系统的作业信息;对获取的作业信息进行解析,生成结构化数据;将生成的结构化数据存储在不同的用户介质中;本发明专利技术采用部分策略模式、适配器模式的思想,遵守编码的五大设计原则(单一职责原则、开闭原则、里氏替换原则、接口分离原则、依赖反转原则),以一种非侵入性、可拔插的形式,在不修改S l urm或其他调度系统本身代码的前提下,保证旧有集群的稳定性、健壮性。健壮性。健壮性。

【技术实现步骤摘要】
一种面向超算集群调度的通用作业收集方法及中间件


[0001]本专利技术属于集群调度
,尤其涉及一种面向超算集群调度的通用作业收集方法及中间件。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]当前,各超算集群调度未能形成统一的规范,市面上存在多个调度系统,例如Slurm、PBS、LSF等多个开源调度系统;以上调度系统面向不同领域、不同产品,都会自己设计相应的作业查询接口,或者持久化存储方式,因此各调度系统的数据结构不一致、存储的形式不一致,而且采用异地存储。
[0004]对于用户以及超算管理人员来说,想查询不同调度系统的个人作业非常繁琐,需要登录不同的调度平台或者系统查询;甚至有些调度系统不会提供相应的接口,或者只支持单一的命令行方式查询作业,这无异增加了用户的学习成本以及超算集群管理人员运维成本;另一方面,异地式的数据存储,难以进行一系列的业务统计。
[0005]即使是同一超算集群调度系统,随着版本的更迭以及bug的修复,不同版本之间也可能存在不兼容性;例如已知slurm调度系统,从20版本开始支持api接口,如果集群运行的是slurm20之前的版本,只能通过命令行的方式获取作业信息;超算集群用户及管理人员难以从宏观上把握作业信息,不仅给用户增加使用难度,而且还会增加运维成本。因此,对灵活可配置的中心化作业收集的需求十分迫切,需要一种完善、高效的作业信息收集方案。

技术实现思路

[0006]为克服上述现有技术的不足,本专利技术提供了一种面向超算集群调度的通用作业收集方法及中间件,采用部分策略模式、适配器模式的思想,遵守编码的五大设计原则(单一职责原则、开闭原则、里氏替换原则、接口分离原则、依赖反转原则),以一种非侵入性、可拔插的形式,在不修改Slurm或其他调度系统本身代码的前提下,保证旧有集群的稳定性、健壮性,完善或者解决不同调度系统数据接口不兼容的问题以及同一调度系统不同版本数据接口不兼容的问题。
[0007]为实现上述目的,本专利技术的一个或多个实施例提供了如下技术方案:
[0008]本专利技术第一方面提供了一种面向超算集群调度的通用作业收集方法;
[0009]一种面向超算集群调度的通用作业收集方法,包括:
[0010]采用主动收集和被动收集两种模式获取各个超算集群调度系统的作业信息;
[0011]对获取的作业信息进行解析,生成结构化数据;
[0012]将生成的结构化数据存储在不同的用户介质中。
[0013]进一步的,采用部分策略模式+适配器模式,面向接口编程,为不同超算集群调度系统定义各自的收集器,获取各个超算集群调度系统的作业信息时,适配不同的收集器进
行作业信息收集。
[0014]进一步的,所述主动收集,通过监控调度系统作业变化的监控器,将发生变化的作业信息主动推送到收集器中。
[0015]进一步的,所述被动收集,通过定时器设置定时任务的方式,收集各个超算集群调度系统的作业信息。
[0016]进一步的,获取的作业信息,包括结构化数据和非机构化数据。
[0017]进一步的,对获取的作业信息进行解析,是将非结构化数据,解析成符合存储器进行存储和更新的结构化数据。
[0018]进一步的,所述用户介质,包括搜索引擎、数据库、文件。
[0019]本专利技术第二方面提供了一种面向超算集群调度的通用作业收集中间件。
[0020]一种面向超算集群调度的通用作业收集中间件,包括收集器、解析器和存储器;
[0021]收集器,被配置为:采用主动收集和被动收集两种模式获取各个超算集群调度系统的作业信息;
[0022]解析器,被配置为:对获取的作业信息进行解析,生成结构化数据;
[0023]存储器,被配置为:将生成的结构化数据存储在不同的用户介质中。
[0024]进一步的,以一种非侵入性、可拔插的形式来实现。
[0025]进一步的,还包括扩展器,需二次开发时,只需要实现扩展器中的通用接口,并将其注入中间件中。
[0026]以上一个或多个技术方案存在以下有益效果:
[0027]本专利技术提供了一种面向超算集群调度的通用作业收集方法及中间件,采用部分策略模式、适配器模式的思想,遵守编码的五大设计原则(单一职责原则、开闭原则、里氏替换原则、接口分离原则、依赖反转原则),以一种非侵入性、可拔插的形式,在不修改Slurm或其他调度系统本身代码的前提下,保证旧有集群的稳定性、健壮性,完善或者解决不同调度系统数据接口不兼容的问题以及同一调度系统不同版本数据接口不兼容的问题。
[0028]本专利技术在不改动原有调度系统代码的基础上,实现了中心化的存储及管理,解决了多调度系统数据难以管理、多调度系统数据接口不兼容的问题;若用户需要额外功能,可针对本调度中间件持久化之后的介质进行功能扩展;本调度中间件实现了超算集群不停机的基础上进行功能和性能扩展的效果。
[0029]本专利技术实现了持久化的数据存储,既可以使用现成的市面上成熟的数据分析软件进行统计分析,也可导出为文件,如Excel,使用Excel强大的功能进行统计分析;若需定制化分析,也可自主进行编码分析。
[0030]本专利技术附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0031]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0032]图1为第一个实施例的方法流程图。
[0033]图2为第一个实施例中主动收集的流程图。
[0034]图3为第一个实施例中被动收集的流程图。
[0035]图4为第二个实施例的系统结构图。
具体实施方式
[0036]下面结合附图与实施例对本专利技术作进一步说明。
[0037]应该指出,以下详细说明都是示例性的,旨在对本专利技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义。
[0038]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本专利技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0039]实施例一
[0040]本实施例公开了一种面向超算集群调度的通用作业收集方法;
[0041]如图1所示,一种面向超算集群调度的通用作业收集方法,包括:
[0042]步骤S1、采用主动收集和被动收集两种模式获取各个超算集群调度系统的作业信息;
[0043]采用部分策略模式+适配器模式,面向接口编程,为不同超算集群调度系统定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向超算集群调度的通用作业收集方法,其特征在于,包括:采用主动收集和被动收集两种模式获取各个超算集群调度系统的作业信息;对获取的作业信息进行解析,生成结构化数据;将生成的结构化数据存储在不同的用户介质中。2.如权利要求1所述的一种面向超算集群调度的通用作业收集方法,其特征在于,采用部分策略模式+适配器模式,面向接口编程,为不同超算集群调度系统定义各自的收集器,获取各个超算集群调度系统的作业信息时,适配不同的收集器进行作业信息收集。3.如权利要求2所述的一种面向超算集群调度的通用作业收集方法,其特征在于,所述主动收集,通过监控调度系统作业变化的监控器,将发生变化的作业信息主动推送到收集器中。4.如权利要求2所述的一种面向超算集群调度的通用作业收集方法,其特征在于,所述被动收集,通过定时器设置定时任务的方式,收集各个超算集群调度系统的作业信息。5.如权利要求1所述的一种面向超算集群调度的通用作业收集方法,其特征在于,获取的作业信息,包括结构化数据和...

【专利技术属性】
技术研发人员:刘辉边卓陈彦言徐希豪
申请(专利权)人:济南超级计算中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1