CN111031022A - 基于Slurm的资源管理调度方法、装置、电子设备及存储介质 - Google Patents
基于Slurm的资源管理调度方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111031022A CN111031022A CN201911234895.4A CN201911234895A CN111031022A CN 111031022 A CN111031022 A CN 111031022A CN 201911234895 A CN201911234895 A CN 201911234895A CN 111031022 A CN111031022 A CN 111031022A
- Authority
- CN
- China
- Prior art keywords
- user
- node
- access
- determining whether
- login
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Abstract
本申请提供了一种基于Slurm的资源管理调度方法、装置、电子设备及存储介质。调度方法包括:对节点的访问进行限制:根据IP地址的类型确定是否允许IP地址访问对应的节点,以及根据用户的类型确定是否允许用户访问对应的节点;对用户在登录节点使用的资源进行限制:根据用户在登录节点使用的CPU资源和预设的CPU资源阈值,确定是否进行CPU限制;对计算节点的登录进行限制:根据用户提交作业的情况,确定是否允许用户登录到计算节点;对计算节点中的非作业用户的大计算进程进行查杀;对GPU计算节点中的非GPU作业进行取消。上述方法实现了资源的智能化和自动化的监管和调度。
Description
技术领域
本申请涉及高性能计算平台的运维和管理的技术领域,具体涉及一种基于Slurm的资源管理调度方法、装置、电子设备及存储介质。
背景技术
随着信息技术的飞速发展,高性能计算得到众多科研领域的青睐,如生物基因、材料设计、金融计算、计算机科学等领域。高性能计算是使用并行化技术,将计算复杂度较高的计算任务分解成众多小型计算任务,将其分配给众多处理器同时计算,以实现高性能计算的目的。
高性能计算平台一般是由高性能网络(InfiniBand/OPA)将各个节点相互连接,构成一个高性能计算集群。Slurm是一个可用于高性能计算集群的开源集群管理器和作业调度系统,其维护一个待处理的作业队列并管理此集群的整体资源。然而现有的Slurm调度系统是默认是实现用户在各节点间的无障碍跳转,也就是说,用户可以通过登录节点直接ssh登录任意一计算节点,并在此节点直接绕过Slurm调度软件进行作业计算。这将导致用户可以不再受Slurm调度软件的资源管理的限制,随意使用计算资源,造成管理和运维的不便。此外,Slurm调度软件在登录节点的监管也存在严重的缺陷,用户可以直接无限制的使用资源,这将导致平台登录门口的宕机。
综上所述,现有的基于Slurm的资源管理调度方法导致资源的分配和使用不够合理,容易增加Slurm调度软件无效工作负担,从而增加软件的管理和运维难度以及宕机风险。
发明内容
本申请针对现有方式的缺点,提出一种基于Slurm的资源管理调度方法、装置、电子设备及存储介质,用以解决现有的基于Slurm的资源管理调度方法导致资源的分配和使用不够合理的技术问题。
第一方面,本申请实施例提供了一种基于Slurm的资源管理调度方法,包括:
对节点的访问进行限制:根据IP地址的类型确定是否允许IP地址访问对应的节点,以及根据用户的类型确定是否允许用户访问对应的节点;
对用户在登录节点使用的资源进行限制:根据用户在登录节点使用的CPU资源和预设的CPU资源阈值,确定是否进行CPU限制;
对计算节点的登录进行限制:根据用户提交作业的情况,确定是否允许用户登录到计算节点;
对计算节点中的非作业用户的大计算进程进行查杀:获取已提交作业的用户信息,根据非作业用户进程的CPU使用率和预设的使用率阈值,确定是否查杀该用户的进程;
对GPU计算节点中的非GPU作业进行取消。
在本申请的一个实施例中,根据IP地址的类型确定是否允许IP地址访问对应的节点,包括如下至少一项:
管理节点允许预先指定的IP地址root访问;
登录节点允许预先指定的IP地址root访问;
计算节点允许预先指定的IP地址root访问。
在本申请的一个实施例中,根据用户的类型确定是否允许用户访问对应的节点,包括:
管理节点禁止非root用户访问;
登录节点允许所有的用户访问;
计算节点禁止所有用户直接访问。
在本申请的一个实施例中,根据用户在登录节点使用的CPU资源和预设的CPU资源阈值,确定是否进行CPU限制,包括:
在登录节点获取用户进程;
获取每个用户进程的PID,若确定用户使用的CPU资源超过预设的CPU资源阈值,则将对应的进程的CPU限制在预设值以下。
在本申请的一个实施例中,获取已提交作业的用户信息,根据非作业用户进程的CPU使用率和预设的使用率阈值,确定是否查杀该用户的进程,包括:
通过Squeue指令查询在当前计算节点已提交作业的用户信息;
通过PS指令查看非作业用户的大进程的信息;
判断大进程信息的CPU使用率是否超过预设的使用率阈值,若是,则查杀对应用户的进程。
在本申请的一个实施例中,对GPU计算节点中的非GPU作业进行取消,包括:
通过squeue指令获取当前计算节点的作业信息;
通过轮询指令查询获取到的各作业信息的GPU申请和使用情况;
判断作业信息中是否包含申请GPU的字段信息,若否,则对该对该作业进行取消操作。
第二方面,本申请实施例提供了一种基于Slurm的资源管理调度装置,包括:访问限制模块、资源限制模块、登录限制模块、进程查杀模块和非GPU作业取消模块;
访问限制模块,用于对节点的访问进行限制:根据IP地址的类型确定是否允许IP地址访问对应的节点,以及根据用户的类型确定是否允许用户访问对应的节点;
资源限制模块,用于对用户在登录节点使用的资源进行限制:根据用户在登录节点使用的CPU资源和预设的CPU资源阈值,确定是否进行CPU限制;
登录限制模块,用于对计算节点的登录进行限制:根据用户提交作业的情况,确定是否允许用户登录到计算节点;
进程查杀模块,用于对计算节点中的非作业用户的大计算进程进行查杀:获取已提交作业的用户信息,根据非作业用户进程的CPU使用率和预设的使用率阈值,确定是否查杀该用户的进程;
非GPU作业取消模块,用于对GPU计算节点中的非GPU作业进行取消。
第三方面,本申请实施例提供了一种电子设备,包括:处理器和存储器;存储器配置用于存储机器可读指令,指令在由处理器执行时,使得处理器执行本申请实施例提供的基于Slurm的资源管理调度方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本申请实施例提供的基于Slurm的资源管理调度方法。
本申请实施例提供的技术方案,至少具有如下有益效果:
在本申请提供的基于Slurm的资源管理调度方法中,通过合理地为IP地址和用户设置权限,以及根据用户的作业情况,来确定各节点的访问和登录权限来,有效地避免资源被无节制地随意使用,从而降低管理和运维的难度。另外,根据进程信息来及时地为用户分配资源或限制用户的资源,在避免资源被异常进程无效地利用的同时,又将有限的资源分配至重要的进程中,提高了资源的利用率以及工作效率。上述方法既保证了高性能计算平台的安全运行,也实现了平台中资源的智能化和自动化的监管和调度。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请实施例提供的对用户在登录节点使用的资源进行限制的一种具体的流程示意图;
图2是本申请实施例提供的对计算节点的登录进行限制的一种具体的流程示意图;
图3是本申请实施例提供的计算节点中的非作业用户的大计算进程进行查杀的一种具体的流程示意图;
图4是本申请实施例提供的对GPU计算节点中的非GPU作业进行取消的一种具体的流程示意图;
图5是本申请实施例提供的一种基于Slurm的资源管理调度装置的模块示意图;
图6是本申请实施例提供的一种电子设备的模块示意图。
具体实施方式
下面详细描述本申请,本申请实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的部件或具有相同或类似功能的部件。此外,如果已知技术的详细描述对于示出的本申请的特征是不必要的,则将其省略。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种基于Slurm的资源管理调度方法,包括:
对节点的访问进行限制:根据IP地址的类型确定是否允许IP地址访问对应的节点,以及根据用户的类型确定是否允许用户访问对应的节点;
对用户在登录节点使用的资源进行限制:根据用户在登录节点使用的CPU资源和预设的CPU资源阈值,确定是否进行CPU限制;
对计算节点的登录进行限制:根据用户提交作业的情况,确定是否允许用户登录到计算节点;
对计算节点中的非作业用户的大计算进程进行查杀:获取已提交作业的用户信息,根据非作业用户进程的CPU使用率和预设的使用率阈值,确定是否查杀该用户的进程;
对GPU计算节点中的非GPU作业进行取消。
应当说明的是,在执行上述步骤时,使用到的软件资源包括Slurm,还可以包括CpuLimit模块、pam_access.so插件和Linux基本的指令集等。
在本申请提供的基于Slurm的资源管理调度方法中,通过合理地为IP地址和用户设置权限,以及根据用户的作业情况,来确定各节点的访问和登录权限来,有效地避免资源被无节制地随意使用,从而降低管理和运维的难度。另外,根据进程信息来及时地为用户分配资源或限制用户的资源,在避免资源被异常进程无效地利用的同时,又将有限的资源分配至重要的进程中,提高了资源的利用率以及工作效率。上述方法既保证了高性能计算平台的安全运行,也实现了平台中资源的智能化和自动化的监管和调度。
在本申请的一个实施例中,根据IP地址的类型确定是否允许IP地址访问对应的节点,包括如下至少一项:
管理节点允许预先指定的IP地址root访问;
登录节点允许预先指定的IP地址root访问;
计算节点允许预先指定的IP地址root访问。
本领域的技术人员可以理解,若IP地址不属于预先指定的IP地址,则无法root访问管理节点、登录节点和计算节点。
在本申请的一个实施例中,根据用户的类型确定是否允许用户访问对应的节点,包括:
管理节点禁止非root用户访问;
登录节点允许所有的用户访问;
计算节点禁止所有用户直接访问。
应当说明的是,此处的“计算节点禁止所有用户直接访问”,并不是指不允许用户访问计算节点,而是指当用户满足某些条件时才能够访问计算节点。具体情况参见后续的有关“对计算节点的登录进行限制”的内容。
上述对节点的访问进行限制的具体步骤,可以通过pam_access.so插件实现。该pam_access.so插件的功能和作用是根据主机名(包括普通主机名或者FQDN)、IP地址和用户实现全面的访问控制。
pam_access.so模块的具体工作行为根据配置文件
/etc/security/access.conf来决定。
具体的实现方法如下:
(a1)在/etc/pam.d/sshd添加如下一句:
account required pam_access.so
(a2)在/etc/security/access.conf添加如下三行:
+:root:xxx.xxx.xxx.xxx#允许root访问的ip地址
-:root:ALL#禁止其他root访问
+:ALL:ALL#允许所有的非root用户访问
该配置文件的主体包含了三个字段——权限、用户和访问发起方。格式上是一个用“:”隔开的表。
第一个字段:权限(permission),使用“+”表示授予权限,用“-”表示禁止权限。
第二个字段:用户(user),定义了用户、组以及用“@”表示的在不同主机上的同名用户和同一主机上不同名用户。
第三个字段:访问发起方(origins),定义了发起访问的主机名称、域名称、终端名称。
在本申请的一个实施例中,如图1所示,根据用户在登录节点使用的CPU资源和预设的CPU资源阈值,确定是否进行CPU限制,具体包括:
S101:在登录节点获取用户进程。
S102:获取每个用户进程的PID,之后执行步骤S103或步骤S104。
S103:若确定用户使用的CPU资源超过预设的CPU资源阈值,则将对应的进程的CPU限制在预设值以下。
可选地,CPU资源阈值可以根据实际的设计需要而定。
S104:若确定用户使用的CPU资源未超过预设的CPU资源阈值,则不予处理。
上述对用户在登录节点使用的资源进行限制的具体步骤S101至S104,可以通过cpulimit插件来实现。
cpulimit插件的安装步骤为:
#yum install epel-release;
#yum install cpulimit。
cpulimit插件实现步骤S101至S104通过如下代码实现:具体设置策略如下:
进一步地,更具体的实现方法如下:
本领域的技术人员可以理解,上述对用户在登录节点使用的资源进行限制的具体步骤S101至S104,还可以通过其他形式的代码实现,此处不再赘述。
在本申请的一个实施例中,根据用户提交作业的情况,确定是否允许用户登录到计算节点,如图2所示,包括:
S201:判断用户在登录节点是否已完成提交作业的操作。
若是,执行步骤S202;若否,执行步骤S203。
S202:允许用户ssh到已提交的作业对应的计算节点。
S203:禁止用户ssh到计算节点。
上述对计算节点的登录进行限制的步骤S201至步骤S203,可以通过Slurm的PAM插件来实现,具体包括:
(d1)添加不包含pam_systemd.so的PAM配置:
grep-vpam_systemd.so/etc/pam.d/password-auth>
/etc/pam.d/password-auth-no-systemd
(d2)/etc/security/access.conf里添加如下:
+:root:ALL
-:ALL:ALL
(d3)/etc/pam.d/sshd里添加:
account sufficient pam_access.so
account required pam_slurm.so
(d4)在/etc/pam.d/目录下创建slurm文件,文件内容如下:
auth required pam_localuser.so
accountrequired pam_unix.so
sessionrequired pam_limits.so
本领域的技术人员可以理解,上述对计算节点的登录进行限制的步骤S201至步骤S203,还可以通过其他形式的代码实现,此处不再赘述。
在本申请的一个实施例中,获取已提交作业的用户信息,根据非作业用户进程的CPU使用率和预设的使用率阈值,确定是否查杀该用户的进程,如图3所示,包括:
S301:通过Squeue指令查询在当前计算节点已提交作业的用户信息。
S302:通过PS指令查看非作业用户的大进程的信息。
S303:判断大进程信息的CPU使用率是否超过预设的使用率阈值,若是,则查杀对应用户的进程。
可选地,使用率阈值可以根据实际的设计需要而定。
上述对计算节点中的非作业用户的大计算进程进行查杀的步骤S301至步骤S303,可以通过abnormalPorcess.sh脚本实现,具体包括:
(e1)编写abnormalPorcess.sh脚本,abnormalPorcess.sh脚本如下:
(e2)配置crontab定时任务计划,使脚本定制执行。
本领域的技术人员可以理解,上述对计算节点中的非作业用户的大计算进程进行查杀的步骤S301至步骤S303,还可以通过其他形式的代码实现,此处不再赘述。
在本申请的一个实施例中,如图4所示,对GPU计算节点中的非GPU作业进行取消,包括:
S401:通过squeue指令获取当前计算节点的作业信息。
S402:通过轮询指令查询获取到的各作业信息的GPU申请和使用情况。
S403:判断作业信息中是否包含申请GPU的字段信息,若否,则对该对该作业进行取消(scancel)操作。
可选地,判断作业信息中是否包含申请GPU的字段信息,具体指是否包括(TresPerNode=GPU)。
上述对GPU计算节点中的非GPU作业进行取消的步骤S401至步骤S403,可以通过gpuabnormalJob.sh脚本实现,具体包括:
(f1)编写gpuabnormalJob.sh脚本,gpuabnormalJob.sh脚本如下:
(f2)配置crontab定时任务计划,使脚本定制执行。
本领域的技术人员可以理解,上述对GPU计算节点中的非GPU作业进行取消的步骤S401至步骤S403,还可以通过其他形式的代码实现,此处不再赘述。
基于同一发明构思,本申请实施例提供了一种基于Slurm的资源管理调度装置500,如图5所示,资源管理调度装置500包括:访问限制模块501、资源限制模块502、登录限制模块503、进程查杀模块504和非GPU作业取消模块505。
访问限制模块501,用于对节点的访问进行限制:根据IP地址的类型确定是否允许IP地址访问对应的节点,以及根据用户的类型确定是否允许用户访问对应的节点;
资源限制模块502,用于对用户在登录节点使用的资源进行限制:根据用户在登录节点使用的CPU资源和预设的CPU资源阈值,确定是否进行CPU限制;
登录限制模块503,用于对计算节点的登录进行限制:根据用户提交作业的情况,确定是否允许用户登录到计算节点;
进程查杀模块504,用于对计算节点中的非作业用户的大计算进程进行查杀:获取已提交作业的用户信息,根据非作业用户进程的CPU使用率和预设的使用率阈值,确定是否查杀该用户的进程;
非GPU作业取消模块505,用于对GPU计算节点中的非GPU作业进行取消。
本申请实施例提供的基于Slurm的资源管理调度装置500,与前面所述的各实施例具有相同的发明构思及相同的有益效果,该基于Slurm的资源管理调度装置500中未详细示出的内容可参照前面所述的各实施例,在此不再赘述。
基于同一发明构思,本申请实施例提供了一种电子设备600,如图6所示,电子设备600包括:处理器601和存储器602。
存储器602,配置用于存储机器可读指令,指令在由处理器601执行时,使得处理器601执行本申请实施例提供的基于Slurm的资源管理调度方法。
本申请实施例中的存储器602可以是ROM(Read-Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,可以是RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
本申请实施例中的处理器601可以是CPU(Central Processing Unit,中央处理器)、通用处理器、DSP(Digital Signal Processor,数据信号处理器)、ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable GateArray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器601也可以是实现计算功能的组合,例如包含一个或多个微处理器601组合,DSP和微处理器的组合等。
本技术领域技术人员可以理解,本申请实施例提供的电子设备600可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中。
本申请实施例提供的电子设备600,与前面所述的各实施例具有相同的发明构思及相同的有益效果,该电子设备600中未详细示出的内容可参照前面所述的各实施例,在此不再赘述。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器601执行时本申请实施例提供的基于Slurm的资源管理调度方法。
该计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM、RAM、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本申请实施例提供的计算机可读存储介质,与前面所述的各实施例具有相同的发明构思及相同的有益效果,该计算机可读存储介质中未详细示出的内容可参照前面所述的各实施例,在此不再赘述。
本申请实施例提供的计算机可读存储介质,与前面的各实施例具有相同的发明构思及相同的有益效果,该计算机可读存储介质中未详细示出的内容可参照前面的各实施例,在此不再赘述。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种基于Slurm的资源管理调度方法,其特征在于,包括:
对节点的访问进行限制:根据IP地址的类型确定是否允许IP地址访问对应的节点,以及根据用户的类型确定是否允许用户访问对应的节点;
对用户在登录节点使用的资源进行限制:根据用户在登录节点使用的CPU资源和预设的CPU资源阈值,确定是否进行CPU限制;
对计算节点的登录进行限制:根据用户提交作业的情况,确定是否允许用户登录到计算节点;
对计算节点中的非作业用户的大计算进程进行查杀:获取已提交作业的用户信息,根据非作业用户进程的CPU使用率和预设的使用率阈值,确定是否查杀该用户的进程;
对GPU计算节点中的非GPU作业进行取消。
2.根据权利要求1所述的基于Slurm的资源管理调度方法,其特征在于,所述根据IP地址的类型确定是否允许IP地址访问对应的节点,包括如下至少一项:
管理节点允许预先指定的IP地址root访问;
登录节点允许预先指定的IP地址root访问;
计算节点允许预先指定的IP地址root访问。
3.根据权利要求1所述的基于Slurm的资源管理调度方法,其特征在于,所述根据用户的类型确定是否允许用户访问对应的节点,包括:
管理节点禁止非root用户访问;
登录节点允许所有的用户访问;
计算节点禁止所有用户直接访问。
4.根据权利要求1所述的基于Slurm的资源管理调度方法,其特征在于,所述根据用户在登录节点使用的CPU资源和预设的CPU资源阈值,确定是否进行CPU限制,包括:
在登录节点获取用户进程;
获取每个用户进程的PID,若确定用户使用的CPU资源超过预设的CPU资源阈值,则将对应的进程的CPU限制在预设值以下。
5.根据权利要求1所述的基于Slurm的资源管理调度方法,其特征在于,所述根据用户提交作业的情况,确定是否允许用户登录到计算节点,包括:
判断用户在登录节点是否已完成提交作业的操作;若是,则允许用户ssh到已提交的作业对应的计算节点;若否,则禁止用户ssh到计算节点。
6.根据权利要求1所述的基于Slurm的资源管理调度方法,其特征在于,所述获取已提交作业的用户信息,根据非作业用户进程的CPU使用率和预设的使用率阈值,确定是否查杀该用户的进程,包括:
通过Squeue指令查询在当前计算节点已提交作业的用户信息;
通过PS指令查看非作业用户的大进程的信息;
判断大进程信息的CPU使用率是否超过预设的使用率阈值,若是,则查杀对应用户的进程。
7.根据权利要求1所述的基于Slurm的资源管理调度方法,其特征在于,所述对GPU计算节点中的非GPU作业进行取消,包括:
通过squeue指令获取当前计算节点的作业信息;
通过轮询指令查询获取到的各作业信息的GPU申请和使用情况;
判断作业信息中是否包含申请GPU的字段信息,若否,则对该对该作业进行取消操作。
8.一种基于Slurm的资源管理调度装置,其特征在于,包括:
访问限制模块,用于对节点的访问进行限制:根据IP地址的类型确定是否允许IP地址访问对应的节点,以及根据用户的类型确定是否允许用户访问对应的节点;
资源限制模块,用于对用户在登录节点使用的资源进行限制:根据用户在登录节点使用的CPU资源和预设的CPU资源阈值,确定是否进行CPU限制;
登录限制模块,用于对计算节点的登录进行限制:根据用户提交作业的情况,确定是否允许用户登录到计算节点;
进程查杀模块,用于对计算节点中的非作业用户的大计算进程进行查杀:获取已提交作业的用户信息,根据非作业用户进程的CPU使用率和预设的使用率阈值,确定是否查杀该用户的进程;
非GPU作业取消模块,用于对GPU计算节点中的非GPU作业进行取消。
9.一种电子设备,包括:
处理器;以及
存储器,配置用于存储机器可读指令,指令在由处理器执行时,使得处理器执行如权利要求1-7中任一项所述的基于Slurm的资源管理调度方法。
10.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-7中任一项所述的基于Slurm的资源管理调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911234895.4A CN111031022A (zh) | 2019-12-05 | 2019-12-05 | 基于Slurm的资源管理调度方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911234895.4A CN111031022A (zh) | 2019-12-05 | 2019-12-05 | 基于Slurm的资源管理调度方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111031022A true CN111031022A (zh) | 2020-04-17 |
Family
ID=70207568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911234895.4A Pending CN111031022A (zh) | 2019-12-05 | 2019-12-05 | 基于Slurm的资源管理调度方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111031022A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931162A (zh) * | 2020-07-31 | 2020-11-13 | 南方科技大学 | 超级计算机系统登陆方法、装置、系统及存储介质 |
CN112052088A (zh) * | 2020-08-31 | 2020-12-08 | 北京升鑫网络科技有限公司 | 自适应的进程cpu资源限制方法、装置、终端及存储介质 |
CN114745385A (zh) * | 2022-04-12 | 2022-07-12 | 吉林大学 | 一种构建slurm调度并行计算集群的方法 |
CN115202850A (zh) * | 2022-09-09 | 2022-10-18 | 国家超级计算天津中心 | 作业调度方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593192A (zh) * | 2013-11-19 | 2014-02-19 | 湖南大学 | 一种基于slurm调度的算法集成与评测平台及方法 |
US20150256481A1 (en) * | 2014-03-06 | 2015-09-10 | Jisto Inc. | Elastic Compute Cloud Based On Underutilized Server Resources Using A Distributed Container System |
CN108319514A (zh) * | 2018-01-26 | 2018-07-24 | 山东超越数控电子股份有限公司 | 一种基于Slurm作业管理的可视化调度系统 |
CN108334409A (zh) * | 2018-01-15 | 2018-07-27 | 北京大学 | 一种细粒度的高性能云资源管理调度方法 |
-
2019
- 2019-12-05 CN CN201911234895.4A patent/CN111031022A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593192A (zh) * | 2013-11-19 | 2014-02-19 | 湖南大学 | 一种基于slurm调度的算法集成与评测平台及方法 |
US20150256481A1 (en) * | 2014-03-06 | 2015-09-10 | Jisto Inc. | Elastic Compute Cloud Based On Underutilized Server Resources Using A Distributed Container System |
CN108334409A (zh) * | 2018-01-15 | 2018-07-27 | 北京大学 | 一种细粒度的高性能云资源管理调度方法 |
CN108319514A (zh) * | 2018-01-26 | 2018-07-24 | 山东超越数控电子股份有限公司 | 一种基于Slurm作业管理的可视化调度系统 |
Non-Patent Citations (1)
Title |
---|
陆忠华等: "基于Slurm的深度学习高性能计算平台设计及其调度实现技术", 《科研信息化技术与应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931162A (zh) * | 2020-07-31 | 2020-11-13 | 南方科技大学 | 超级计算机系统登陆方法、装置、系统及存储介质 |
CN112052088A (zh) * | 2020-08-31 | 2020-12-08 | 北京升鑫网络科技有限公司 | 自适应的进程cpu资源限制方法、装置、终端及存储介质 |
CN114745385A (zh) * | 2022-04-12 | 2022-07-12 | 吉林大学 | 一种构建slurm调度并行计算集群的方法 |
CN114745385B (zh) * | 2022-04-12 | 2023-05-30 | 吉林大学 | 一种构建slurm调度并行计算集群的方法 |
CN115202850A (zh) * | 2022-09-09 | 2022-10-18 | 国家超级计算天津中心 | 作业调度方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111031022A (zh) | 基于Slurm的资源管理调度方法、装置、电子设备及存储介质 | |
US10235097B2 (en) | Area and performance optimized namespace sharing method in virtualized PCIE based SSD controller | |
US8924961B2 (en) | Virtual machine scheduling methods and systems | |
US8676976B2 (en) | Microprocessor with software control over allocation of shared resources among multiple virtual servers | |
EP2798491B1 (en) | Method and device for managing hardware errors in a multi-core environment | |
EP3842973B1 (en) | Security schemes for multiple trusted-execution-environments (tees) and multiple rich-execution-environments (rees) | |
CN102576310A (zh) | 将物理计算资源的一部分分配给逻辑分区 | |
US10257166B2 (en) | Guest netfilter protection by virtual machine function | |
JP2006244483A (ja) | パーティション間で実行可能プログラムを転送するためのコンピュータシステム及び方法 | |
US9183391B2 (en) | Managing device driver cross ring accesses | |
CN106056000B (zh) | 基于系统权限的移动设备存储分区配置方法及装置 | |
Weisberg et al. | Enhancing Transportation System Networks Reliability by Securer Operating System | |
JP2010157234A (ja) | 効率的なリマッピング・エンジンの利用 | |
US20090172797A1 (en) | Method and system for securing application program interfaces in unified extensible firmware interface | |
JP4348639B2 (ja) | マルチプロセッサシステム、ワークロード管理方法 | |
US20150160973A1 (en) | Domain based resource isolation in multi-core systems | |
US9916264B2 (en) | Privilege based memory pinning mechanism | |
US11360702B2 (en) | Controller event queues | |
US10481951B2 (en) | Multi-queue device assignment for application groups | |
Asmussen et al. | Efficient and scalable core multiplexing with M³v | |
US20170286325A1 (en) | Method and system for defining logical block addressing (lba) access permission in storage devices | |
CN107273188B (zh) | 一种虚拟机中央处理单元cpu绑定方法及装置 | |
CN110780999A (zh) | 一种多核cpu的调度系统和方法 | |
CN110348221B (zh) | 双体系结构的可信计算平台的构建方法及可信计算平台 | |
CN106681771A (zh) | 一种系统重装方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200417 |
|
RJ01 | Rejection of invention patent application after publication |