[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN118550676A - Hpc集群下的资源调度方法、资源调度系统和存储介质 - Google Patents

Hpc集群下的资源调度方法、资源调度系统和存储介质 Download PDF

Info

Publication number
CN118550676A
CN118550676A CN202411031979.9A CN202411031979A CN118550676A CN 118550676 A CN118550676 A CN 118550676A CN 202411031979 A CN202411031979 A CN 202411031979A CN 118550676 A CN118550676 A CN 118550676A
Authority
CN
China
Prior art keywords
resource
operating system
target
cluster
system cluster
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.)
Pending
Application number
CN202411031979.9A
Other languages
English (en)
Inventor
孙福兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Tianhe Computer Technology Co ltd
Original Assignee
Tianjin Tianhe Computer Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Tianhe Computer Technology Co ltd filed Critical Tianjin Tianhe Computer Technology Co ltd
Priority to CN202411031979.9A priority Critical patent/CN118550676A/zh
Publication of CN118550676A publication Critical patent/CN118550676A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及HPC集群技术领域,公开了一种HPC集群下的资源调度方法、资源调度系统和存储介质。该方法包括:资源调度系统中的客户端响应于检测到应用启动命令,生成并发送应用运行请求至资源调度系统中的调度中心,进而调度中心根据目标操作系统标识在资源调度系统的两个集群中确定目标操作系统集群,通过其提供的资源接入接口调度目标资源,控制目标资源运行目标应用,实现了在两种操作系统集群上资源的统一调度,达到跨平台的资源调度的目的,提升了资源调度系统的灵活性和兼容性,提高了资源利用率。

Description

HPC集群下的资源调度方法、资源调度系统和存储介质
技术领域
本发明涉及HPC集群技术领域,尤其涉及一种HPC集群下的资源调度方法、资源调度系统和存储介质。
背景技术
在高性能计算(High-Performance Computing,HPC)集群领域,科学计算软件通常运行在Linux操作系统上。Linux由于其稳定性、高效性和开源特性,成为了HPC环境中首选的操作系统,诸如Gaussian、LAMMPS和GROMACS等科学计算软件,都是为Linux平台设计和优化的。
然而,尽管Linux在HPC集群领域占据主导地位,但仍有一些软件只提供Windows版本,如动漫渲染、金融建模、数据图形分析等软件,这些软件可能包含特定的功能或算法,在某些专业领域无法轻易找到替代品。这就导致用户在HPC集群上运行Windows专业软件时面临挑战,无法使用Windows专业软件。
有鉴于此,特提出本发明。
发明内容
为了解决上述技术问题,本发明提供了一种HPC集群下的资源调度方法、资源调度系统和存储介质,解决现有技术中用户在HPC集群上运行Windows专业软件困难的问题,提升了资源调度系统的灵活性和兼容性,简化了用户操作流程,提高了资源利用率。
本发明实施例提供了一种HPC集群下的资源调度方法,应用于资源调度系统,所述资源调度系统包括客户端、第一操作系统集群、第二操作系统集群以及调度中心,所述方法包括:
所述客户端响应于检测到应用启动命令,生成应用运行请求,并将所述应用运行请求发送至所述调度中心,其中,所述应用运行请求包括目标操作系统标识与目标应用标识;
所述调度中心基于所述目标操作系统标识在所述第一操作系统集群与所述第二操作系统集群中确定目标操作系统集群,通过所述目标操作系统集群提供的资源接入接口,在所述目标操作系统集群中调度目标资源,并控制所述目标资源运行所述目标应用标识对应的目标应用。
本发明实施例提供了一种资源调度系统,所述资源调度系统包括客户端、第一操作系统集群、第二操作系统集群以及调度中心,其中:
所述客户端,用于响应于检测到应用启动命令,生成应用运行请求,并将所述应用运行请求发送至所述调度中心,其中,所述应用运行请求包括目标操作系统标识与目标应用标识;
所述调度中心,用于基于所述目标操作系统标识在所述第一操作系统集群与所述第二操作系统集群中确定目标操作系统集群,通过所述目标操作系统集群提供的资源接入接口,在所述目标操作系统集群中调度目标资源,并控制所述目标资源运行所述目标应用标识对应的目标应用。
本发明实施例提供了一种电子设备,所述电子设备包括:
处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行任一实施例所述的HPC集群下的资源调度方法的步骤。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行任一实施例所述的HPC集群下的资源调度方法的步骤。
本发明实施例具有以下技术效果:
资源调度系统中的客户端响应于检测到应用启动命令,生成应用运行请求并将其发送至资源调度系统中的调度中心,进而调度中心根据目标操作系统标识在资源调度系统中第一操作系统集群与第二操作系统集群中确定目标操作系统集群,通过其提供的资源接入接口,在目标操作系统集群中调度目标资源,并控制目标资源运行目标应用标识所对应的目标应用,实现了在两种操作系统集群上资源的统一调度,达到跨平台的资源调度的目的,提升了资源调度系统的灵活性和兼容性,提高了资源利用率,能够快速调度用户需求应用所对应的操作系统的资源,解决现有技术中用户在HPC集群上运行Windows专业软件困难的问题,并且,用户可以根据需求应用选择相应的操作系统,简化了用户操作流程,提升了用户体验。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种HPC集群下的资源调度方法的流程图;
图2是本发明实施例提供的一种资源调度系统的资源管理示意图;
图3是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
本发明实施例提供的HPC集群下的资源调度方法,适用于在相应的操作系统集群中调度资源来运行用户的需求软件的情况。图1是本发明实施例提供的一种HPC集群下的资源调度方法的流程图。该HPC集群下的资源调度方法应用于资源调度系统,资源调度系统包括客户端、第一操作系统集群、第二操作系统集群以及调度中心。
其中,客户端可以是面向用户并为用户提供服务的程序;在本发明实施例中,客户端具体可以通过网页的形式为用户提供服务,也可以通过应用的形式为用户提供服务。
其中,第一操作系统集群可以是由安装Windows操作系统的各个节点(可以理解为主机)所构成的HPC集群;第二操作系统集群可以是由安装Linux操作系统的各个节点(可以理解为主机)所构成的HPC集群。在本发明实施例中,可以预先确定每个节点的操作系统,进而按照所有节点的操作系统构建第一操作系统集群与第二操作系统集群;或者,可以预先为部分节点安装Windows操作系统,由此部分节点构成第一操作系统集群,并预先为另一部分节点安装Linux操作系统,由此部分节点构成第二操作系统集群。
其中,调度中心与客户端通信连接,调度中心可以是用于根据用户的需求应用在两个操作系统集群中调度相应的资源的组件,即负责统一调度两个操作系统集群中的资源。
参见图1,图1是本发明实施例提供的一种HPC集群下的资源调度方法的流程图,该HPC集群下的资源调度方法具体包括:
S110、客户端响应于检测到应用启动命令,生成应用运行请求,并将应用运行请求发送至调度中心,其中,应用运行请求包括目标操作系统标识与目标应用标识。
其中,应用启动命令可以是用于通过HPC集群中的资源启动目标应用的命令。具体的,应用启动命令可以根据用户的操作生成,例如,用户可以直接通过命令行输入应用启动命令。
在本发明实施例中,考虑到客户端如果运行Linux操作系统中,用户通常通过命令行的方式执行应用启动等操作,此时可以根据用户的输入直接获取应用启动命令,而客户端如果运行在Windows操作系统中,用户通常通过点击控件的方式执行应用启动等操作,此时需要根据用户的控件触发操作进一步生成应用启动命令。
在一种示例中,本发明实施例提供的方法还包括:
客户端对运行环境进行检测,确定对应的运行操作系统;在运行操作系统为第一操作系统的情况下,客户端响应于检测到应用启动操作,通过节点代理服务将应用启动操作转化为应用启动命令。
具体的,客户端可以在启动之后,对用户使用的设备的运行环境进行检测,以确定用户使用的设备的操作系统,即客户端对应的运行操作系统。
若对应的运行操作系统为第二操作系统,即Linux操作系统,则客户端可以直接响应于用户的命令行输入操作,获取命令行中输入的应用启动命令。
若对应的运行操作系统为第一操作系统,即Windows操作系统,则客户端可以响应于检测到应用启动操作,如用户针对目标应用的图标控件的触发操作,调用节点代理服务,以通过节点代理服务生成对应的应用启动命令。其中,节点代理服务可以是客户端中预先设置的用于将Windows操作系统中的控件触发操作转化为命令的服务。
通过上述示例,客户端可以检测运行环境,在检测到的运行操作系统为Windows操作系统的情况下,通过节点代理服务将应用启动操作转化为应用启动命令,可以实现应用启动命令的生成,进而发送请求至调度中心,实现调度中心与客户端之间的资源适配,确保客户端在不同平台操作系统下的兼容性。
在本发明实施例中,客户端响应于检测到应用启动命令,可以根据应用启动命令中声明的目标应用的标识,生成应用运行请求,将该应用运行请求发送至调度中心。其中,应用运行请求用于请求HPC集群中的资源运行目标应用。
具体的,应用运行请求包括目标操作系统标识与目标应用标识。其中,目标操作系统标识可以是应用启动命令中声明的目标操作系统的标识,即用户在命令行中输入的或用户通过客户端展示的控件所选择的。
此外,目标操作系统标识也可以根据目标应用标识确定。如,可以根据目标应用标识获取目标应用的属性信息,通过属性信息中的兼容系统版本号确定目标操作系统标识;或者,可以预先建立的操作系统对应关系,查询与目标应用标识对应的目标操作系统,得到目标操作系统标识。
S120、调度中心基于目标操作系统标识在第一操作系统集群与第二操作系统集群中确定目标操作系统集群,通过目标操作系统集群提供的资源接入接口,在目标操作系统集群中调度目标资源,并控制目标资源运行目标应用标识对应的目标应用。
具体的,调度中心在接收到应用运行请求之后,调度中心可以根据请求中的目标操作系统标识,在两个操作系统集群中,将安装有目标操作系统的集群确定为目标操作系统集群。
进一步的,调度中心可以调用目标操作系统集群提供的资源接入接口,以使用目标操作系统集群提供的资源接入服务,进而通过资源接入服务在目标操作系统集群中调度目标资源。
其中,第一操作系统集群与第二操作系统集群,可以将针对集群内各资源的资源调度功能集成在资源接入接口中,进而提供资源接入接口,调度中心可以通过调用资源接入接口来调度集群内的资源。在本发明实施例中,资源具体可以是集群中的节点,如CPU(Central Processing Unit,中央处理器)主机或GPU(Graphics Processing Unit,图形处理器)主机。
在一种具体的实施方式中,通过目标操作系统集群提供的资源接入接口,在目标操作系统集群中调度目标资源,包括:
在目标操作系统集群为第一操作系统集群的情况下,通过第一操作系统集群提供的集群接口包软件中的资源接入接口,对第一操作系统集群进行资源调度,确定目标资源;
以及,在目标操作系统集群为第二操作系统集群的情况下,通过第二操作系统集群的资源管理实用程序中的资源接入接口,对第二操作系统集群进行资源调度,确定目标资源。
其中,第一操作系统集群提供的资源接入接口,具体可以是集群接口包软件中的API,如,Windows HPC Pack中的资源接入API。第二操作系统集群提供的资源接入接口,具体可以是资源管理实用程序中的API,如,SLURM(Simple Linux Utility for ResourceManagement,用于资源管理的简单Linux实用程序)中的资源接入API。
具体的,若目标操作系统集群为第一操作系统集群,则调度中心可以调用第一操作系统集群提供的集群接口包软件中的资源接入接口,以使用第一操作系统集群提供的资源接入服务,从而通过该资源接入服务对第一操作系统集群进行资源调度,即在第一操作系统集群中确定目标资源。
若目标操作系统集群为第二操作系统集群,则调度中心可以调用第二操作系统集群提供的资源管理实用程序中的资源接入接口,以使用第二操作系统集群提供的资源接入服务,从而通过该资源接入服务对第二操作系统集群进行资源调度,即在第二操作系统集群中确定目标资源。其中,目标资源可以理解为目标节点。
通过上述实施方式,可以利用集群接口包软件(Windows HPC Pack)与资源管理实用程序(SLURM)中的资源接入接口,实现对Windows操作系统集群与Linux操作系统集群的资源调度,让Windows资源和Linux资源可以一起被用户使用,提高资源利用率。
在本发明实施例中,调度中心通过目标操作系统集群提供的资源接入接口,在目标操作系统集群中调度目标资源,具体可以是调度中心调用资源接入接口之后,资源接入服务通过内置的调度算法在目标操作系统集群中进行调度,确定运行目标应用的目标资源,如,通过各资源的剩余占用率等筛选目标资源。即,资源接入接口可以实现集群内资源的调度。
或者,在目标操作系统集群中调度目标资源,还可以是调度中心调用资源接入接口之后,资源接入服务向调度中心反馈目标操作系统集群中各资源的相关信息,进而调度中心根据各资源的相关信息对各资源进行调度,确定目标资源。即,资源接入接口可以实现集群内资源的相关信息的获取与反馈。
例如,调度中心可以根据各资源的剩余占用率选择目标资源,或者,还可以结合各资源的统计使用频次选择目标资源,以优先选择使用频率高的资源,即作业处理效率高的资源。
在本发明实施例中,考虑到若根据统计使用频次选择目标资源,可能会导致部分资源使用频次过少,造成资源利用不均衡的问题,为了在保证作业处理效率的同时,避免资源利用不均衡,还可以在目标资源的数量为多个的情况下,按照频次进行排序,从中选择多个目标资源,避免直接选取使用频次高的资源导致资源利用不均衡的问题。
在一种示例中,通过目标操作系统集群提供的资源接入接口,在目标操作系统集群中调度目标资源,包括如下步骤:
步骤11、基于目标应用标识确定对应的目标应用的资源需求信息,其中,资源需求信息包括资源类型、资源数量以及资源占用率;
步骤12、调用目标操作系统集群提供的资源接入接口,通过资源接入接口确定目标操作系统集群中各资源的统计使用频次与剩余占用率;
步骤13、在目标操作系统集群内满足资源类型的各资源中,筛选出剩余占用率满足资源占用率的各候选资源;
步骤14、若资源数量为多个,则按照统计使用频次由大到小的顺序对各候选资源进行排序,将排序结果中第一个候选资源作为待判断资源,确定待判断资源与排序结果中其他候选资源的统计使用频次之间的相差率;
步骤15、将待判断资源作为目标资源,并将目标资源、以及相差率小于预设相差率阈值的候选资源从排序结果中剔除,返回将排序结果中第一个候选资源作为待判断资源的步骤,直至确定的目标资源的数量满足资源数量。
其中,在步骤11中,调度中心可以根据目标应用标识确定目标应用的资源类型、资源数量以及资源占用率等资源需求信息。资源类型可以是资源对应的主机类型,如CPU或GPU;资源数量可以是期望运行目标应用的资源的数量;资源占用率可以是目标应用运行对资源所造成的占用率。
进一步的,在步骤12中,调度中心可以调用目标操作系统集群提供的资源接入接口,以通过资源接入服务确定目标操作系统集群中各资源的统计使用频次与剩余占用率,其中,统计使用频次可以是资源历史使用总次数,剩余占用率可以是资源当前未被使用的占用率。
进一步的,在步骤13中,调度中心可以在目标操作系统集群中,先筛选出满足资源类型的各资源,进而再从中筛选出剩余占用率不小于资源占用率的各资源作为候选资源。
进一步的,在步骤14中,如果目标应用需求的资源数量为多个,则调度中心可以按照统计使用频次由大到小的顺序对各候选资源进行排序,进而将其中第一个候选资源作为待判断资源,计算待判断资源与其他候选资源的统计使用频次之间的相差率。其中,相差率的获取可以是:先计算待判断资源与其他候选资源的统计使用频次之间的差值,将该差值与待判断资源的统计使用频次之间的比值,作为相差率。
进一步的,在步骤15中,调度中心可以将待判断资源作为目标资源,并将目标资源、以及相差率小于预设相差率阈值的候选资源,均从排序结果中剔除,进而重新返回执行步骤14中将排序结果中第一个候选资源作为待判断资源,以重新再确定待判断资源与其他候选资源的统计使用频次之间的相差率,直至确定的目标资源的数量满足资源数量。其中,预设相差率阈值可以根据集群中资源的数量进行标定,或者,调度中心可以持续检测集群的性能,根据反馈优化预设相差率阈值。
通过上述步骤11-步骤15,可以从统计使用频次高的候选资源开始,先筛选出统计使用频次最高的候选资源作为目标资源,以保证目标应用的作业效率,进而再筛选出统计使用频次之间差距较大的候选资源,作为目标资源,能够保证确定的多个目标资源的频次之间差距较大,避免只使用频次较高的资源导致资源利用不均衡的问题,同时,还可以为集群留下一些频次较高的资源以供其他用户使用,保证所有用户的作业效率,进而提高了用户的使用体验。
当然,如果资源数量为一个,则可以直接按照统计使用频次由大到小的顺序进行排序,将其中第一个候选资源作为目标资源,以保证用户的作业效率。
在一种示例中,在控制目标资源运行目标应用标识对应的目标应用之后,本发明实施例提供的方法还包括:
客户端响应于检测到作业执行命令,生成作业执行请求,并将作业执行请求发送至调度中心;调度中心基于作业执行请求,控制目标资源运行的目标应用执行对应的目标作业,并在目标作业执行的过程中,对目标资源的性能状态与目标作业的执行状态进行检测,并响应于检测到性能状态异常或执行状态异常,向客户端反馈告警信息。
具体的,在目标资源运行目标应用之后,用户可以通过运行的目标应用执行相关作业,如,通过运行的动画处理应用生成视频文件,或者,通过运行的数据分析应用处理数据文件等。
其中,用户可以于命令行中录入作业执行命令,或者,于客户端中触发作业执行控件,以使客户端生成作业执行命令,进而客户端基于该作业执行命令生成作业执行请求,并将其发送至调度中心。
进一步的,调度中心可以根据作业执行请求,控制目标资源运行的目标应用执行对应的目标作业,如,调度中心可以将该作业执行请求通过目标资源转发至目标应用,从而目标应用执行目标作业。
在目标应用执行目标作业的过程中,调度中心可以对目标资源的性能状态与目标作业的执行状态进行检测,其中,性能状态可以反映目标资源是否正常运行以及性能是否异常(如降低),执行状态可以反映目标作业是否正常执行。
具体的,若调度中心检测到目标资源的性能状态异常或目标作业的执行状态异常,则调度中心可以生成告警信息,并将其发送至客户端,以实现故障告警。
通过上述示例,可以实现调度中心对作业与资源的检测以及故障告警,能够帮助用户及时了解到作业或资源存在异常,便于及时处理。
在本发明实施例中,考虑到第一操作系统集群或第二操作系统集群中的资源,可能会使用另一集群中的资源产生的数据,如,Windows操作系统集群中运行的数据绘图应用,需要使用Linux操作系统集群中数据分析应用产生的数据统计文件,为了方便两个集群中的资源获取数据,本发明实施例还可以在资源调度系统中设置两个集群共享的存储池。
在一些实施方式中,资源调度系统还包括存储池,存储池用于存储第一操作系统集群与第二操作系统集群中的资源写入的数据,在控制目标资源运行所述目标应用标识对应的目标应用之后,本发明实施例提供的方法还包括:
目标资源响应于检测到目标应用的数据传输请求,在对应的操作系统集群为第二操作系统集群的情况下,通过第二操作系统集群提供的信息块协议服务,将目标应用的待记录数据写入至存储池,或者,从存储池中读取目标应用的需求数据;
以及,在对应的操作系统集群为第一操作系统集群的情况下,将目标应用的待记录数据写入至存储池,或者,从存储池中读取目标应用的需求数据。
其中,存储池可以是 Lustre高性能文件系统。第二操作系统集群可以提供信息块协议服务,信息块协议服务可以是Samba服务,Samba 服务可以用于在不同的操作系统上实现 SMB(Server Message Block,服务器消息块协议)协议。
具体的,目标资源若检测到目标应用的数据传输请求,如果是第二操作系统集群,则可以通过集群提供的信息块协议服务,将待记录数据写入至存储池或者从存储池中读取目标应用的需求数据。
目标资源若检测到目标应用的数据传输请求,如果是第一操作系统,则可以直接将待记录数据写入至存储池或者从存储池中读取目标应用的需求数据。
通过上述实施方式,可以实现跨平台的数据统一存储与访问,与针对两个集群分别建立文件系统,进而从文件系统中获取数据再进行转换的方式相比,该实施方式可以方便两个集群中的资源随时读写数据,进而可以便于不同操作系统之间的应用可以相互使用数据,简化了用户操作,提高了用户的使用便捷性。
在一种示例中,本发明实施例提供的方法还包括:
调度中心响应于接收到资源配置文件,基于资源配置文件在第一操作系统集群与第二操作系统集群中确定配置集群,并根据资源配置文件对配置集群中的至少一个资源的配置信息进行更新。
其中,资源配置文件可以是用于配置资源对应的节点信息的文件。面向管理员的管理平台或者调度中心对应的调度客户端,可以为管理员提供资源配置界面,管理员可以在资源配置界面中下发资源配置文件。
具体的,调度中心响应于接收到资源配置文件,可以运行批量资源配置代码,通过运行的批量资源配置代码,根据资源配置文件中指定的集群,在第一操作系统集群与第二操作系统集群中确定配置集群,进一步的,根据资源配置文件中指定的资源,对配置集群中的至少一个资源的配置信息进行更新。其中,批量资源配置代码可以是使用Python开发的自研批量管理工具,用于实现对集群资源的高效批量操作和管理。
通过上述示例,可以实现对集群资源配置的批量更新,便于管理员操作,无需单独下发每个资源的配置信息,提高了管理员的操作便捷性与资源配置的更新效率。
在一种示例中,本发明实施例提供的方法还包括:
调度中心响应于接收到操作系统变更请求,基于操作系统变更请求确定待变更资源以及对应的期望操作系统,于待变更资源中安装期望操作系统,并将待变更资源从对应的操作系统集群中剔除,将待变更资源添加至期望操作系统对应的操作系统集群中。
其中,面向管理员的管理平台或者调度中心对应的调度客户端,可以为管理员提供操作系统变更界面,管理员可以在操作系统变更界面中变更一个或多个资源的操作系统,以生成操作系统变更请求。
具体的,调度中心响应于接收到操作系统变更请求,可以根据操作系统变更请求中指定的资源,确定待变更资源,并根据操作系统变更请求中指定的操作系统,确定待变更资源对应的期望操作系统。
进一步的,调度中心可以在待变更资源中安装期望操作系统,在待变更资源安装完成之后,将将待变更资源从对应的操作系统集群中剔除,并将其添加至期望操作系统对应的操作系统集群中。例如,Windows操作系统集群中的资源,在重新安装Linux操作系统之后,需要将该资源从Windows操作系统集群中删除,并添加至Linux操作系统集群中。
通过上述示例,可以实现各个资源的操作系统更新,能够在某一个集群中的资源使用率过高或资源不足的情况下,将另一个集群中的资源转化到该集群中,保证两个集群均能够为所有用户提供资源,减轻集群的负担,避免集群压力过大。
本发明具有以下技术效果:资源调度系统中的客户端响应于检测到应用启动命令,生成应用运行请求并将其发送至资源调度系统中的调度中心,进而调度中心根据目标操作系统标识在资源调度系统中第一操作系统集群与第二操作系统集群中确定目标操作系统集群,通过其提供的资源接入接口,在目标操作系统集群中调度目标资源,并控制目标资源运行目标应用标识所对应的目标应用,实现了在两种操作系统集群上资源的统一调度,达到跨平台的资源调度的目的,提升了资源调度系统的灵活性和兼容性,提高了资源利用率,能够快速调度用户需求应用所对应的操作系统的资源,解决现有技术中用户在HPC集群上运行Windows专业软件困难的问题,并且,用户可以根据需求应用选择相应的操作系统,简化了用户操作流程,提升了用户体验。
本发明实施例还提供了一种资源调度系统,所述资源调度系统包括客户端、第一操作系统集群、第二操作系统集群以及调度中心,其中:
所述客户端,用于响应于检测到应用启动命令,生成应用运行请求,并将所述应用运行请求发送至所述调度中心,其中,所述应用运行请求包括目标操作系统标识与目标应用标识;
所述调度中心,用于基于所述目标操作系统标识在所述第一操作系统集群与所述第二操作系统集群中确定目标操作系统集群,通过所述目标操作系统集群提供的资源接入接口,在所述目标操作系统集群中调度目标资源,并控制所述目标资源运行所述目标应用标识对应的目标应用。
可选的,所述客户端还用于对运行环境进行检测,确定对应的运行操作系统;在所述运行操作系统为第一操作系统的情况下,响应于检测到应用启动操作,通过节点代理服务将所述应用启动操作转化为应用启动命令。
可选的,所述调度中心还用于在所述目标操作系统集群为第一操作系统集群的情况下,通过所述第一操作系统集群提供的集群接口包软件中的资源接入接口,对所述第一操作系统集群进行资源调度,确定目标资源;以及,在所述目标操作系统集群为第二操作系统集群的情况下,通过所述第二操作系统集群的资源管理实用程序中的资源接入接口,对所述第二操作系统集群进行资源调度,确定目标资源。
可选的,所述调度中心还用于:
基于所述目标应用标识确定对应的目标应用的资源需求信息,其中,所述资源需求信息包括资源类型、资源数量以及资源占用率;调用所述目标操作系统集群提供的资源接入接口,通过所述资源接入接口确定所述目标操作系统集群中各资源的统计使用频次与剩余占用率;
在所述目标操作系统集群内满足所述资源类型的各资源中,筛选出剩余占用率满足所述资源占用率的各候选资源;
若所述资源数量为多个,则按照统计使用频次由大到小的顺序对各候选资源进行排序,将排序结果中第一个候选资源作为待判断资源,确定所述待判断资源与所述排序结果中其他候选资源的统计使用频次之间的相差率;
将所述待判断资源作为目标资源,并将所述目标资源、以及相差率小于预设相差率阈值的候选资源从所述排序结果中剔除,返回将排序结果中第一个候选资源作为待判断资源的步骤,直至确定的目标资源的数量满足所述资源数量。
可选的,所述客户端还用于响应于检测到作业执行命令,生成作业执行请求,并将所述作业执行请求发送至所述调度中心;
所述调度中心还用于基于所述作业执行请求,控制所述目标资源运行的目标应用执行对应的目标作业,并在所述目标作业执行的过程中,对所述目标资源的性能状态与所述目标作业的执行状态进行检测,并响应于检测到所述性能状态异常或所述执行状态异常,向所述客户端反馈告警信息。
可选的,所述资源调度系统还包括存储池,所述存储池用于存储所述第一操作系统集群与所述第二操作系统集群中的资源写入的数据;所述目标资源用于响应于检测到所述目标应用的数据传输请求,在对应的操作系统集群为所述第二操作系统集群的情况下,通过所述第二操作系统集群提供的信息块协议服务,将所述目标应用的待记录数据写入至所述存储池,或者,从所述存储池中读取所述目标应用的需求数据;以及,在对应的操作系统集群为所述第一操作系统集群的情况下,将所述目标应用的待记录数据写入至所述存储池,或者,从所述存储池中读取所述目标应用的需求数据。
可选的,所述调度中心还用于响应于接收到资源配置文件,基于所述资源配置文件在所述第一操作系统集群与所述第二操作系统集群中确定配置集群,并根据所述资源配置文件对所述配置集群中的至少一个资源的配置信息进行更新。
可选的,所述调度中心还用于响应于接收到操作系统变更请求,基于所述操作系统变更请求确定待变更资源以及对应的期望操作系统,于所述待变更资源中安装所述期望操作系统,并将所述待变更资源从对应的操作系统集群中剔除,将所述待变更资源添加至所述期望操作系统对应的操作系统集群中。
图2是本发明实施例提供的一种资源调度系统的资源管理示意图。如图2所示,资源调度系统中调度中心包括作业管理器与资源管理器。
其中,用户可以通过客户端提交作业或查看作业,为用户提供友好的作业提交和监控接口,简化用户操作。
作业管理器可以根据提交的作业(可以理解为应用运行请求)进行跨平台调度,即通过集群提供的适配接口,调度Windows或Linux资源,其中,Windows资源和Linux资源可以连接到存储池。
并且,资源管理器还可以管理两个集群中的资源,通过批量管理工具对资源进行系统配置,或者,对资源进行软件安装,或者,对资源进行操作系统安装。此外,资源管理器还可以获取作业状态,并进行资源的性能监控,以及,通过日志统计的方式实现作业的执行状态监控,并能够在异常时进行故障告警,实现从作业提交到完成的全流程管理,包括作业调度、执行、监控和日志记录,以及,持续监控集群性能,根据反馈优化调度策略。
此外,资源管理器还可以对用户资源进行管理,通过AD(Active Directory)域或LDAP(Lightweight Directory Access Protocol)实现用户统一认证。
此外,资源管理器还可以监控集群性能,根据监控结果优化调度策略,提高资源利用率。还可以在调度中心中设计安全性增强,以确保集群操作的安全性,防止数据泄露和未授权访问;并设计容错机制,确保集群在部分节点故障时仍能正常运行。
本发明实施例提供的资源调度系统,不依赖于特定操作系统,能够在Windows和Linux平台上无缝运行,提高了系统的灵活性和兼容性;通过统一的调度中心,实现了跨平台的资源管理和调度,简化了资源分配过程,提高了资源利用率。并且,用户可以根据应用的需求选择对应的平台,简化了操作流程,提升了用户体验。
此外,调度中心利用现有的HPC Pack和SLURM API,减少了开发工作量,同时确保了与现有HPC集群之间的兼容性。通过AD或LDAP实现用户统一认证,简化了用户管理,提高了系统的安全性。并且,结合Lustre和Samba,提供了高性能和跨平台的存储访问,解决了不同平台间的数据共享问题。
此外,调度中心通过批量管理工具提高了对集群的管理和自动化操作的效率,提供了从作业提交到完成的全流程管理,使得作业监控和调度更加高效和透明。
图3是本发明实施例提供的一种电子设备的结构示意图。如图3所示,电子设备400包括一个或多个处理器401和存储器402。
处理器401可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。
存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所说明的本发明任意实施例的HPC集群下的资源调度方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如初始外参、阈值等各种内容。
在一个示例中,电子设备400还可以包括:输入装置403和输出装置404,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。该输入装置403可以包括例如键盘、鼠标等等。该输出装置404可以向外部输出各种信息,包括预警提示信息、制动力度等。该输出装置404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图3中仅示出了该电子设备400中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备400还可以包括任何其他适当的组件。
除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本发明任意实施例所提供的HPC集群下的资源调度方法的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本发明的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本发明任意实施例所提供的HPC集群下的资源调度方法的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,本发明所用术语仅为了描述特定实施例,而非限制本申请范围。如本发明说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。
还需说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”等应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案。

Claims (10)

1.一种HPC集群下的资源调度方法,其特征在于,应用于资源调度系统,所述资源调度系统包括客户端、第一操作系统集群、第二操作系统集群以及调度中心,所述方法包括:
所述客户端响应于检测到应用启动命令,生成应用运行请求,并将所述应用运行请求发送至所述调度中心,其中,所述应用运行请求包括目标操作系统标识与目标应用标识;
所述调度中心基于所述目标操作系统标识在所述第一操作系统集群与所述第二操作系统集群中确定目标操作系统集群,通过所述目标操作系统集群提供的资源接入接口,在所述目标操作系统集群中调度目标资源,并控制所述目标资源运行所述目标应用标识对应的目标应用。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述客户端对运行环境进行检测,确定对应的运行操作系统;
在所述运行操作系统为第一操作系统的情况下,所述客户端响应于检测到应用启动操作,通过节点代理服务将所述应用启动操作转化为应用启动命令。
3.根据权利要求1所述的方法,其特征在于,通过所述目标操作系统集群提供的资源接入接口,在所述目标操作系统集群中调度目标资源,包括:
在所述目标操作系统集群为第一操作系统集群的情况下,通过所述第一操作系统集群提供的集群接口包软件中的资源接入接口,对所述第一操作系统集群进行资源调度,确定目标资源;以及,
在所述目标操作系统集群为第二操作系统集群的情况下,通过所述第二操作系统集群的资源管理实用程序中的资源接入接口,对所述第二操作系统集群进行资源调度,确定目标资源。
4.根据权利要求1所述的方法,其特征在于,通过所述目标操作系统集群提供的资源接入接口,在所述目标操作系统集群中调度目标资源,包括:
基于所述目标应用标识确定对应的目标应用的资源需求信息,其中,所述资源需求信息包括资源类型、资源数量以及资源占用率;
调用所述目标操作系统集群提供的资源接入接口,通过所述资源接入接口确定所述目标操作系统集群中各资源的统计使用频次与剩余占用率;
在所述目标操作系统集群内满足所述资源类型的各资源中,筛选出剩余占用率满足所述资源占用率的各候选资源;
若所述资源数量为多个,则按照统计使用频次由大到小的顺序对各候选资源进行排序,将排序结果中第一个候选资源作为待判断资源,确定所述待判断资源与所述排序结果中其他候选资源的统计使用频次之间的相差率;
将所述待判断资源作为目标资源,并将所述目标资源、以及相差率小于预设相差率阈值的候选资源从所述排序结果中剔除,返回将排序结果中第一个候选资源作为待判断资源的步骤,直至确定的目标资源的数量满足所述资源数量。
5.根据权利要求1所述的方法,其特征在于,在控制所述目标资源运行所述目标应用标识对应的目标应用之后,所述方法还包括:
所述客户端响应于检测到作业执行命令,生成作业执行请求,并将所述作业执行请求发送至所述调度中心;
所述调度中心基于所述作业执行请求,控制所述目标资源运行的目标应用执行对应的目标作业,并在所述目标作业执行的过程中,对所述目标资源的性能状态与所述目标作业的执行状态进行检测,并响应于检测到所述性能状态异常或所述执行状态异常,向所述客户端反馈告警信息。
6.根据权利要求1所述的方法,其特征在于,所述资源调度系统还包括存储池,所述存储池用于存储所述第一操作系统集群与所述第二操作系统集群中的资源写入的数据,在控制所述目标资源运行所述目标应用标识对应的目标应用之后,所述方法还包括:
所述目标资源响应于检测到所述目标应用的数据传输请求,在对应的操作系统集群为所述第二操作系统集群的情况下,通过所述第二操作系统集群提供的信息块协议服务,将所述目标应用的待记录数据写入至所述存储池,或者,从所述存储池中读取所述目标应用的需求数据;以及,
在对应的操作系统集群为所述第一操作系统集群的情况下,将所述目标应用的待记录数据写入至所述存储池,或者,从所述存储池中读取所述目标应用的需求数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述调度中心响应于接收到资源配置文件,基于所述资源配置文件在所述第一操作系统集群与所述第二操作系统集群中确定配置集群,并根据所述资源配置文件对所述配置集群中的至少一个资源的配置信息进行更新。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述调度中心响应于接收到操作系统变更请求,基于所述操作系统变更请求确定待变更资源以及对应的期望操作系统,于所述待变更资源中安装所述期望操作系统,并将所述待变更资源从对应的操作系统集群中剔除,将所述待变更资源添加至所述期望操作系统对应的操作系统集群中。
9.一种资源调度系统,其特征在于,所述资源调度系统包括客户端、第一操作系统集群、第二操作系统集群以及调度中心,其中:
所述客户端,用于响应于检测到应用启动命令,生成应用运行请求,并将所述应用运行请求发送至所述调度中心,其中,所述应用运行请求包括目标操作系统标识与目标应用标识;
所述调度中心,用于基于所述目标操作系统标识在所述第一操作系统集群与所述第二操作系统集群中确定目标操作系统集群,通过所述目标操作系统集群提供的资源接入接口,在所述目标操作系统集群中调度目标资源,并控制所述目标资源运行所述目标应用标识对应的目标应用。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至8任一项所述的HPC集群下的资源调度方法的步骤。
CN202411031979.9A 2024-07-30 2024-07-30 Hpc集群下的资源调度方法、资源调度系统和存储介质 Pending CN118550676A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411031979.9A CN118550676A (zh) 2024-07-30 2024-07-30 Hpc集群下的资源调度方法、资源调度系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411031979.9A CN118550676A (zh) 2024-07-30 2024-07-30 Hpc集群下的资源调度方法、资源调度系统和存储介质

Publications (1)

Publication Number Publication Date
CN118550676A true CN118550676A (zh) 2024-08-27

Family

ID=92448649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411031979.9A Pending CN118550676A (zh) 2024-07-30 2024-07-30 Hpc集群下的资源调度方法、资源调度系统和存储介质

Country Status (1)

Country Link
CN (1) CN118550676A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102204210A (zh) * 2011-05-18 2011-09-28 华为技术有限公司 启动应用的方法、服务器和系统
JP2011242968A (ja) * 2010-05-18 2011-12-01 Nippon Telegr & Teleph Corp <Ntt> サーバクラスタシステム、サーバクラスタ管理装置およびサーバクラスタ管理方法
US20200153888A1 (en) * 2018-11-12 2020-05-14 Pivotal Software, Inc. Message broker configuration
WO2020238425A1 (zh) * 2019-05-30 2020-12-03 杭州海康威视数字技术股份有限公司 一种应用程序启动方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011242968A (ja) * 2010-05-18 2011-12-01 Nippon Telegr & Teleph Corp <Ntt> サーバクラスタシステム、サーバクラスタ管理装置およびサーバクラスタ管理方法
CN102204210A (zh) * 2011-05-18 2011-09-28 华为技术有限公司 启动应用的方法、服务器和系统
US20200153888A1 (en) * 2018-11-12 2020-05-14 Pivotal Software, Inc. Message broker configuration
WO2020238425A1 (zh) * 2019-05-30 2020-12-03 杭州海康威视数字技术股份有限公司 一种应用程序启动方法及装置

Similar Documents

Publication Publication Date Title
US8239505B2 (en) Progressively implementing declarative models in distributed systems
US8584127B2 (en) Storage medium storing job management program, information processing apparatus, and job management method
US9122530B2 (en) Management apparatus and management method
CN110365762B (zh) 服务处理方法、装置、设备及存储介质
CN111666141B (zh) 任务调度方法、装置、设备及计算机存储介质
CN112506612B (zh) 一种集群巡检方法、装置、设备及可读存储介质
CN104834602A (zh) 一种程序发布方法、装置和程序发布系统
CN111240806B (zh) 一种分布式容器镜像构建调度方法
CN113157411B (zh) 一种基于Celery的可靠可配置任务系统及装置
CN112313627B (zh) 事件到无服务器函数工作流实例的映射机制
CN111600771B (zh) 网络资源探测系统、方法
CN111464331B (zh) 一种线程创建的控制方法、系统及终端设备
US9317354B2 (en) Dynamically determining an external systems management application to report system errors
US9405603B2 (en) Naming of nodes in net framework
CN118550676A (zh) Hpc集群下的资源调度方法、资源调度系统和存储介质
CN116707890A (zh) 容器安全检测方法、设备、系统及存储介质
CN114816662A (zh) 应用于Kubernetes的容器编排方法和系统
CN109634721B (zh) 一种虚拟机与主机的启动通信方法及相关装置
KR20230063015A (ko) 가상화 서버에서 가상머신 cpu 자원을 관리하는 장치 및 방법
CN113656378A (zh) 一种服务器管理方法、装置、介质
CN116382835B (zh) 基于集群的应用可视化方法、系统、设备和介质
CN112148348A (zh) 任务处理方法、装置及存储介质
JP2018173836A (ja) コンピュータシステム、サーバ装置、プログラム及び障害検出方法
US9691039B2 (en) Smart ordering system for proactive mitigation of system scarcity in a cloud or data center environment
WO2016122675A1 (en) Resource allocation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Sun Fuxing

Inventor after: Feng Jinghua

Inventor after: Xu Bin

Inventor after: Yang Mantang

Inventor after: Zhang Baochen

Inventor after: Zhao Fukun

Inventor after: Li Sihang

Inventor before: Sun Fuxing