CN115562846A - 一种资源调度的方法、装置及计算节点 - Google Patents
一种资源调度的方法、装置及计算节点 Download PDFInfo
- Publication number
- CN115562846A CN115562846A CN202110750487.5A CN202110750487A CN115562846A CN 115562846 A CN115562846 A CN 115562846A CN 202110750487 A CN202110750487 A CN 202110750487A CN 115562846 A CN115562846 A CN 115562846A
- Authority
- CN
- China
- Prior art keywords
- processor
- process group
- processor core
- slave
- binding relationship
- 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
- 238000000034 method Methods 0.000 title claims abstract description 392
- 238000012544 monitoring process Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 12
- 238000009795 derivation Methods 0.000 claims description 4
- 238000005192 partition Methods 0.000 claims 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 20
- 238000010586 diagram Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- 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]
-
- 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
-
- 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Abstract
一种资源调度的方法,应用于高性能计算领域,该方法包括:获取进程组和处理器的绑定关系,该绑定关系用于指示至少一个进程组中第一进程组的至少一个从线程和处理器中多个处理器核的绑定关系,第一进程组为至少一个进程组中任意一个进程组;然后,监测第一处理器核的工作状态,第一处理器核为上述多个处理器核中任意一个处理器核;当第一处理器核为空闲状态时,根据上述绑定关系调度第一处理器核运行第一从线程,第一从线程为第一进程组中与第一处理器核存在绑定关系的任意一个从线程。由此提高第一处理器核的利用率,提升高性能计算系统的性能。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及高性能计算(high performancecomputing,HPC)领域中一种资源调度的方法、装置及计算节点。
背景技术
HPC系统,是指使用同一计算机的多个处理器或者某一集群中多台计算机的计算系统和环境执行复杂运算处理的系统,以解决科学研究、工程应用等领域的超大计算问题。HPC系统中运行多种HPC应用,例如,气象预测、石油分析、天文观测和图像处理。
目前,用户在利用HPC系统实现超大计算任务时,通常将超大计算任务分解成多个子任务,然后通过编程让HPC系统并行运行多个进程从而实现多个子任务。在HPC系统并行运行多个进程时,由于多个进程中的每个进程的从线程所在的处理器核仅在进程的并行执行区域工作,在进程的串行执行区域以及通信区域时,从线程所在的处理器核空闲,而一个进程的运行过程包括的串行执行区域以及通信区域通常多于并行执行区域,也就是说,在HPC系统并行运行多个进程的过程中,多个进程中的从线程所在的处理器核大多时间是空闲的,利用率较低。
因此,如何提高从线程所在的处理器核的利用率,是本领域技术人员亟需解决的问题。
发明内容
本申请提供一种资源调度的方法、装置及计算节点,可以有效地提高从线程所在的处理器核的利用率,提升HPC系统的性能。
第一方面,提供一种资源调度的方法,该方法包括:获取进程组和处理器的绑定关系,该绑定关系用于指示至少一个进程组中第一进程组的至少一个从线程和处理器中多个处理器核的绑定关系,第一进程组为至少一个进程组中任意一个进程组;然后,监测第一处理器核的工作状态,第一处理器核为上述多个处理器核中任意一个处理器核;当第一处理器核为空闲状态时,根据上述绑定关系调度第一处理器核运行第一从线程,第一从线程为第一进程组中与第一处理器核存在绑定关系的任意一个从线程。
根据本方案,资源调度装置可以监测第一处理器核的工作状态,在第一处理器核为空闲状态时,根据获取的用于指示至少一个进程组中第一进程组的至少一个从线程和处理器中多个处理器核的绑定关系,调度第一处理器核运行第一从线程,使得第一处理器核在HPC系统并行运行多个进程的过程中,处于空闲状态的时间大大减少,从而提升第一处理器核的利用率,提升HPC系统的性能。
此外,在第一处理器核与至少两个从线程具有绑定关系的情况下,资源调度装置可以调度第一处理器核运行所述至少两个从线程,相较于现有技术中,一个处理器核仅负责运行一个从线程,本方案可以节省处理器核,节省下来的处理器核可以用于实现其他的计算任务,能够进一步提升HPC系统的性能。
在一种可能的实现方式中,在上述获取进程组和处理器的绑定关系之前,上述方法还包括:根据第一规则建立至少一个进程组;然后,根据第二规则建立至少一个进程组和处理器的绑定关系。
根据本实现方式,资源调度装置根据第一规则建立至少一个进程组,可以使得资源调度装置构建的进程组中的进程之间的差异较小,根据第二规则建立至少一个进程组和处理器的绑定关系,可以尽量使得选择出的每个处理器核都负责运行一个第一进程的从线程和一个第二进程的从线程,每个处理器核的利用率都可以得到提高。
在一种可能的实现方式中,上述第一规则用于指示按照进程配置划分上述至少一个进程组,则上述根据第一规则建立至少一个进程组,包括:选择进程配置满足第一条件的第一进程和第二进程构建上述第一进程组,其中,第一条件包括进程配置相同或进程配置的差异小于第一阈值。
根据本实现方式,资源调度装置选择进程配置满足第一条件的第一进程和第二进程构建上述第一进程组,若第一条件包括进程配置相同,可以使得资源调度装置建立第一进程组和处理器核的绑定关系时,选择出的处理器核的数量与第一进程组中的第一进程和第二进程的进程配置相同,从而使得选择出的每个处理器核都负责运行一个第一进程的从线程和一个第二进程的从线程,每个处理器核的利用率都可以得到提高;若第一条件包括进程配置的差异小于第一阈值,可以使得资源调度装置建立第一进程组和处理器核的绑定关系时,选择出的处理器核的数量与第一进程组中的第一进程和第二进程的进程配置的差异小于第一阈值,从而使得选择出的处理器核中的大多数处理器核都负责运行一个第一进程的从线程和一个第二进程的从线程,仅有极少数处理器核仅负责运行一个线程,可以提高大多数处理器核的利用率。
在一种可能的实现方式中,上述第二规则用于指示按照分时复用策略构建上述绑定关系,则上述根据第二规则建立至少一个进程组和处理器的绑定关系,包括:从第一进程组中选择至少两个从线程,至少两个从线程在同一时刻无需同时执行处理任务;然后,从处理器的多个处理器核中选择一个第一处理器核;然后,记录第一处理器核和上述至少两个从线程的对应关系,其中,第一处理器核用于运行上述至少两个从线程。
根据本实现方式,资源调度装置构建第一处理器核和上述至少两个从线程的对应关系,上述至少两个从线程在同一时刻无需同时执行处理任务,这样可以使得第一处理器核分时运行上述至少两个从线程,实现上述至少两个从线程分时复用第一处理器核,减少第一处理器核处于空闲状态的时间,提高第一处理器核的利用率。
在一种可能的实现方式中,上述方法还包括:接收导出指令;然后,根据导出指令导出进程组和处理器的绑定关系,导出的绑定关系包括处理器核与其对应的从线程之间的绑定关系,具体可以包括处理器核的标识、从线程的标识、处理器核所归属的处理器的标识,或者,从线程所归属的进程的标识中至少一种,导出的绑定关系可以以文件、表格、数据结构等形式呈现。
根据本实现方式,导出处理器中具有绑定关系的处理器核与其对应的从线程之间的绑定关系,用户可以很容易地获知处理器中的某个处理器核与进程组中的哪些从线程具有绑定关系,便于用户掌握处理器核运行从线程的详细情况,若用户有修改之前构建的处理器核与从线程之间的绑定关系的需求,也可以根据查看到的绑定关系进行修改。
在一种可能的实现方式中,上述第一进程组中任意一个进程包括主线程和从线程。
根据本实现方式,本申请提供的方法可以应用于任何需要并行运行包括主线程和从线程的多个进程的计算系统,使得这类计算系统在并行运行多个进程时,能够提高从线程所在的处理器核的利用率,提高计算系统的性能。
在一种可能的实现方式中,上述方法应用于HPC系统,上述第一进程组中任意一个进程为消息传递协议(message passing interface,MPI)进程。
根据本实现方式,本申请提供的方法可以应用于需要并行运行包括主线程和从线程的多个MPI进程的HPC系统,使得HPC系统在并行运行多个MPI进程时,能够提高MPI进程中的从线程所在的处理器核的利用率,提高HPC系统的性能。
在一种可能的实现方式中,上述方法应用于多线程并发(open multi-processing,简称为OpenMP)系统,上述第一进程组中任意一个进程为OpenMP进程。
根据本实现方式,本申请提供的方法可以应用于需要并行运行包括主线程和从线程的多个OpenMP进程的OpenMP系统,使得OpenMP系统在并行运行多个OpenMP进程时,能够提高OpenMP进程中的从线程所在的处理器核的利用率,提高HPC系统的性能。
第二方面,提供一种资源调度装置,该装置包括用于执行第一方面或第一方面任一种可能实现方式中的资源调度方法的各个模块。
第三方面,提供了一种计算节点,该计算节点包括处理器和存储器,存储器用于存储计算机指令,该计算节点运行时,处理器执行计算机指令以实现如上述第一方面或者第一方面的任意可能的实现方式提供的方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所描述的方法。
第五方面,提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所描述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是本申请涉及的一种应用场景的示意图;
图2是本申请提供的一种资源调度方法的流程示意图;
图3是本申请提供的一种资源调度方法的应用示例的流程示意图;
图4示例性示出了进程组0与处理器的绑定关系图;
图5示例性示出了一种HPC系统运行进程1和进程2的过程示意图;
图6是本申请提供的一种资源调度装置的结构示意图;
图7是本申请提供的一种计算节点的结构示意图。
具体实施方式
为了便于本领域技术人员对本申请实施例的理解,首先对本申请实施例中涉及到的相关概念或者术语等进行介绍。
(1)HPC,指使用同一计算机的多个处理器或者某一集群中多台计算机的计算系统和环境执行复杂运算处理的系统。HPC系统通常以多台计算机构成的集群形态部署,大多数基于集群的HPC系统使用高性能网络(例如,InfiniBand或Myrinet)互连。用户在利用HPC系统实现超大计算任务时,通常是将超大计算任务分成多个进程(也可以称为子任务),该多个进程由HPC系统中的多个计算机并行运行,或者由单个计算机中的多个中央处理器(central processing unit,CPU)/多个处理器核并行运行。
(2)消息传递协议(message passing interface,MPI),是HPC系统常用的一种编程规范,可以针对多个计算节点并行计算而提供相应的API接口,也可以针对单个计算节点上多处理器/多处理器核的并行计算而提供相应的API接口。MPI能协调多个计算节点间的并行计算,因此并行规模上的可伸缩性很强,能在多种类型的计算节点上使用。
(3)多线程并发(open multi-processing,OpenMP),也是HPC系统常用的一种编程规范,可以针对单个计算节点上多处理器/多处理器核并行计算而提供相应的API接口。OpenMP在多处理器/多处理器核结构上的效率很高、内存开销小、编程语句简洁直观,因此编程容易、编译器实现也容易。一个进程共享的内存可以被该进程中所有线程访问,这种编程方式主要用于多处理器核共享内存的场景。
(4)进程(process),是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。
(5)线程(thread),是进程的一个实体,是CPU调度和分派的基本单位,线程是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器),但是线程可与同属一个进程的其他的线程共享进程所拥有的全部资源。
(6)主线程,当一个程序启动时,就有一个进程被操作系统创建,在进程被创建的同时,主线程也被创建并立即开始运行。因为主线程是程序开始时就运行的,如果需要再创建线程,那么创建的线程就是从线程(也可以称为子线程),从线程被创建之后,立即开始运行,从线程的运行和主线程的运行是并行的。操作系统可以同时创建多个从线程,并让多个从线程和主线程一起实现并行计算。通常,每个进程至少包括一个线程,即主线程。
(7)进程的通信区域,指进程的主线程与其他进程的主线程进行通信的区域。
(8)进程的并行执行区域,指进程的主线程与进程的从线程同时开始进行运算的区域。
(9)进程的串行执行区域,包括进程的主线程为并行执行区域准备计算所需的数据的区域、主线程为通信区域准备通信所需的数据的区域、主线程汇总并行执行区域所得的计算结果的区域。
下面结合附图对本申请涉及的应用场景进行简要说明。
本申请主要涉及用于实现超大计算任务的计算系统,该计算系统可以通过并行运行多个包括主线程和从线程的进程实现超大计算任务,该计算系统可以是HPC系统或者OpenMP系统,在计算系统是OpenMP系统时,上述多个进程分别为一个OpenMP进程,OpenMP进程表示基于OpenMP编程的程序生成的进程;在计算系统是HPC系统时,上述多个进程可以分别为一个MPI进程,MPI进程表示基于MPI编程的程序生成的进程,上述多个进程还可以分别为基于MPI和OpenMP混合编程的程序生成的进程,此处不作具体限定。
下面以计算系统为HPC系统,上述多个进程分别为基于MPI和OpenMP混合编程的程序生成的进程为例,对本申请提供的资源调度的方法、装置以及计算节点进行详细描述。
请参见图1,图1为本申请涉及的一种基于集群的HPC系统的结构示意图,该HPC系统可以应用于多个领域,如气象预测、石油分析、天文观测和图像处理等,实现高性能计算。如图1所示,HPC系统包括多个计算节点100、管理节点200和存储节点300,管理节点200、多个计算节点100和存储节点300可以是服务器。
管理节点200,用于管理计算节点100和存储节点300,如监控多个计算节点100的工作情况、远程开启计算节点100或者远程关闭计算节点100等。
存储节点300负责提供存储服务,如存储用于计算节点100执行计算任务的代码、执行计算任务所需的原始数据以及计算节点100执行计算任务得到的计算结果等。
计算节点100用于执行超大计算任务,计算节点100在执行超大计算任务时,可以为多个计算节点100的多个处理器协同执行,也可以为同一计算节点100上的多个处理器协同执行,还可以为同一计算节点100上的一个处理器中的多个处理器核协同执行。
多个计算节点100之间、计算节点100与管理节点200之间、计算节点100与存储节点300之间可以通过高速网络(如以太网、InfiniBand或Myrinet等)连接,以进行高速通信。
更具体地,如图1所示,计算节点100包括硬件110和软件120,其中,硬件110包括计算资源、存储资源以及网络资源,计算资源可以采用异构计算架构,例如,硬件110包括运行在该计算节点的多个处理器,具体可以采用CPU和图形处理器(graphics processingunit,GPU)的部署形态,CPU和人工智能(artificial intelligence,AI)芯片,CPU、GPU和AI芯片的部署形态等等,此处不作具体限定。计算节点100中包括的CPU可以为一个或多个,每个CPU包括的处理器核可以为一个或多个。存储资源可以包括内存等等。网络资源可以包括网卡等等。
软件120包括计算引擎121和应用客户端122等,计算引擎121指集成了各种各样算法的计算工具或计算模块,其提供调用接口给应用客户端122,使得应用客户端122在实现高性能计算时,可以通过计算引擎121提供的接口调用计算引擎121中的算法实现具体的计算过程。应用客户端122可以为气象预测、石油分析、天文观测和图像处理等HPC应用。
可以理解,图1所示的HPC系统仅仅是作为一种示例,在实际应用中,HPC系统可以包括更少或者更多的模块,例如,包括进程调度器,其职责是调度HPC系统内所有的进程,为它们分配CPU资源,以实现最大限度利用CPU资源。可选地,HPC系统也可以以单个服务器形式部署,此时,管理节点、存储节点和计算节点分别为该服务器中计算单元,例如,管理节点和计算节点可以分别由服务器中处理器实现,存储节点由服务器的磁盘实现。
为了解决现有技术存在的从线程所在的处理器核利用率低的问题,本申请提供一种应用于图1所示的HPC系统的资源调度装置123。
如图1所示,资源调度装置123可以为部署在单个计算节点100上的一个软件模块,可选地,资源调度装置123也可以由计算节点中硬件实现,例如,由计算节点100中一个处理器实现资源调度装置123的功能。可选地,资源调度装置123也可以为部署在多个计算节点100外设备中的一个软件模块,还可以为独立于管理节点200、计算节点130以及存储节点300的单个服务器部署,与管理节点200、计算节点100以及存储节点300之间可以通过高速网络连接。
为了便于描述,在接下来的实施例中,均以图1所示的资源调度装置123在单个计算节点100且以软件形式部署为例进行描述。下面以图1所示的资源调度装置123为执行主体,结合图2进一步介绍本申请提供的资源调度的方法,如图2所示,方法流程包括:
S201、资源调度装置123根据第一规则建立至少一个进程组。
其中,第一规则为划分进程组的规则,例如,按照进程配置划分上述至少一个进程组。进一步地,第一规则可以为根据业务需求或用户要求预先配置的规则。
以资源调度装置123根据第一规则建立第一进程组(第一进程组为至少一个进程组中的任意一个进程组)为例,在本申请中,资源调度装置123建立第一进程组的具体过程可以为:选择进程配置满足第一条件的第一进程和第二进程构建第一进程组,其中,第一条件包括进程配置相同或进程配置的差异小于第一阈值,进程配置可以为进程包括的线程数,进程配置的差异可以为第一进程和第二进程各自包括的线程数的差值。第一阈值则可以为经验值或根据统计数据确定的统计值,也可以根据进程和线程的关系设置,以便保证进程组的数量和每个进程组中线程的数量更均衡,或者,结合进程组待绑定的处理器核的算力确定该进程组中线程的数量。
举例来讲,假设HPC系统需要并行运行的多个进程为进程1、进程2、进程3和进程4、进程1的进程配置为4个线程、进程2的进程配置为4个线程、进程3的进程配置为3个线程、进程4的进程配置为6个线程。
若按照进程配置相同划分进程组,则资源调度装置123可以将进程1和进程2构建成第一进程组。
若按照进程配置的差异小于第一阈值(例如,第一阈值为1)划分进程组,则资源调度装置123可以将进程1和进程2构建成第一进程组,或者将进程1和进程3构建成第二进程组,或者将进程2和进程3构建成第三进程组,还可以将进程1、进程2和进程3构建成一个进程组,此处不做具体限定。
在具体实现中,第一进程和第二进程为包括主线程和从线程的进程,例如,第一进程和第二进程可以分别为一个MPI进程,也可以分别为一个OpenMP进程,还可以分别为一个基于MPI和OpenMP混合编程的程序生成的进程,此处不做具体限定。
S202、资源调度装置123根据第二规则建立上述至少一个进程组和处理器的绑定关系。
其中,绑定关系用于指示至少一个进程组中第一进程组的至少一个从线程和上述处理器中多个处理器核的绑定关系,第二规则用于构建从线程和处理器核的绑定关系,例如,按照分时复用策略构建绑定关系,分时复用策略表示确定上述第一进程组中的哪些从进程可以分时复用处理器中相同的处理器核。与第一规则类似,第二规则也可以是根据业务需求或用户要求预先配置的规则。由上文对进程和线程的介绍可知,属于同一个进程的从线程在同一时刻需要同时执行处理任务,属于不同进程的从线程在同一时刻无需同时执行处理任务。因此,资源调度装置123在按照分时复用策略构建第一进程组和处理器的绑定关系时,可以从第一进程组中选择无需同时执行处理任务的从线程构建绑定关系。
继续以第一进程组为例,资源调度装置123根据第二规则建立至少一个进程组和处理器的绑定关系的具体过程可以为:
S2021、资源调度装置123从第一进程组中选择至少两个从线程,上述至少两个从线程在同一时刻无需同时执行处理任务。
S2022、资源调度装置123从处理器的多个处理器核中选择一个第一处理器核。
其中,第一处理器核可以为处理器的多个处理器核中的任意一个。
在一种可能的实现方式中,资源调度装置123可以根据从第一进程组中选择出的从线程的数量,从处理器的多个处理器核中选择一个算力与选择出的从线程的数量匹配的处理器核作为第一处理器核。
在另一种可能的实现方式中,在处理器的多个处理器核的算力相同的情况下,资源调度装置123可以从多个处理器核中随机选择出一个处理器核作为第一处理器核。
S2023、资源调度装置123记录第一处理器核和上述至少两个从线程的对应关系,第一处理器核用于运行上述至少两个从线程。
继续以S201中所举例的将进程1和进程2构建成第一进程组为例,假设进程1的4个线程为主线程T10、从线程T11、从线程T12和从线程T13,进程2的4个线程为主线程T20、从线程T21、从线程T22和从线程T23,则资源调度装置123可以从进程1的三个从线程中任意选择一个从线程以及从进程2的三个从线程中任意选择一个从线程,作为选择出的从线程。
假设资源调度装置123选择出的从线程为从线程T11和从线程T21,处理器包括的多个处理器核为0号处理器核至7号处理器核,绑定模块141根据处理器核的算力和进程组中线程数量的匹配关系选择出的第一处理器核为1号处理器核,则资源调度装置123可以建立从线程T11和从线程T21与1号处理器核的对应关系,即绑定关系,在建立了从线程T11和从线程T21与1号处理器核的对应关系后,后续1号处理器核便可以用于分时运行从线程T11和从线程T21,实现从线程T11和从线程T21分时复用1号处理器核。
可以理解,通过上述步骤,资源调度装置123还可以建立从线程T12和从线程T23与3号处理器核的对应关系,建立从线程T13和从线程T22与5号处理器核的对应关系等。
S203、资源调度装置123监测第一处理器核的工作状态。
S204、当资源调度装置123监测到第一处理器核为空闲状态时,资源调度装置123根据绑定关系调度第一处理器核运行第一从线程。
其中,第一从线程为与上述第一处理器核具有绑定关系的上述至少两个从线程中的任意一个从线程。在一种可能的实现方式中,资源调度装置123可以以轮询机制监测第一处理器核的工作状态。
在另一种可能的实现方式中,资源调度装置123可以周期性地监测第一处理器核的工作状态。
当资源调度装置123监测到第一处理器核在执行与其具有绑定关系的从线程中的一个从线程时,则确定第一处理器核为非空闲状态;当资源调度装置123监测到第一处理器核未执行与其具有绑定关系的从线程中的任何从线程时,则确定第一处理器核为空闲状态,在确定第一处理器核为空闲状态时,资源调度装置123可以从与第一处理器核具有绑定关系的从线程中选择一个从线程由第一处理器核执行。
继续以S202中所举例的建立了从线程T11和从线程T21与1号处理器核的绑定关系为例,资源调度装置123在监测到1号处理器核为空闲状态时,则资源调度装置123可以调度1号处理器核运行从线程T11或者从线程T21。
作为一种可能的实施例,资源调度装置123还可以接收导出指令,根据导出指令导出进程组和处理器的绑定关系到HPC系统的显示模块(图1中未示出),导出的绑定关系包括处理器中处理器核与其对应的从线程之间的绑定关系,具体可以包括处理器核的标识、从线程的标识、处理器核所归属的处理器的标识,或者,从线程所归属的进程的标识中至少一种,导出的绑定关系可以以文件、表格、数据结构等形式呈现,便于后续用户查看处理器核与从线程之间的绑定关系,以及便于用户掌握处理器核运行从线程的详细情况,若后续用户需要修改之前构建的处理器核与从线程之间的绑定关系,用户可以根据查看到的绑定关系进行修改。可选地,资源调度装置123还可以提供网络(web)服务,用户可以通过界面点击导出操作按钮,直接导出带有处理器核与其对应的从线程绑定关系的文件、表格或数据结构。
继续以S202中所举例的建立了从线程T11和从线程T21与1号处理器核的绑定关系为例,则资源调度装置123导出的绑定关系包括从线程T11和从线程T21与1号处理器核的绑定关系,具体可以包括1号处理器核的标识、从线程T11的标识和从线程T21的标识。
在本申请具体的实施例中,资源调度装置123可以在根据第一规则建立至少一个进程组以及根据第二规则建立上述至少一个进程组和处理器的绑定关系之前,分别获取第一规则和第二规则。其中,第一规则可以通过以下方式中任意一种实现:
方式1、预置进程的总数量,以及指定每个进程组中包含的进程的数量,每个进程组中所包括的进程以随机形式划分。
方式2、预置进程的总数量,以及指定每个进程组中包含的进程的数量,根据进程的标识指定每个进程组所包括的进程,例如,根据进程1的标识、进程2的标识和进程3的标识指定进程1、进程2和进程3为一个进程组,根据进程4的标识和进程5的标识指定进程4和进程5为一个进程组。
第二规则可以通过以下方式中任意一种实现:
方式1、从线程和各个处理器核的对应关系以随机形式划分。每个从线程关联一个处理器核,每个处理器核可以关联多个从线程。
方式2、指定进程组中进程和处理器核的对应关系,每个进程组中各个从线程以随机形式建立与该进程组存在绑定关系的处理器核的绑定关系。可选地,也可以按照从线程和处理器核的标识建立每个进程组中各个从线程与该进程组存在绑定关系的处理器核的绑定关系,或者,按照处理器核的算力和从线程对计算资源的需求建立从线程和该从线程所归属进程存在绑定关系的处理器核的绑定关系。每个从线程关联一个处理器核,每个处理器核可以关联多个从线程。
为了便于更清楚地理解本申请提供的资源调度装置123各个模块的功能和本申请提供的资源调度的方法,下面提供一个具体的示例。在该示例中,HPC系统需要并行运行的多个进程为进程1和进程2,进程1包括主线程T10、从线程T11、从线程T12和从线程T13,进程2包括主线程T20、从线程T21、从线程T22和从线程T23,第一条件为进程配置相同,处理器包括0号处理器核至4号处理器核。
参见图3,该示例包括如下步骤:
S301、资源调度装置123获取用户配置文件。
具体地,用户可以预先在HPC系统将分组规则记录在配置文件中,配置文件包括第一规则:预置进程的总数量为2,以及根据进程1的标识和进程2的标识指定进程1和进程2为一个进程组(以下简称为进程组0),配置文件还包括第二规则:根据处理器核的标识指定进程组0中进程1对应1号处理器核至3号处理器核,指定进程组0中进程2对应1号处理器核至3号处理器核,进程组0中各个从线程以随机形式建立与1号处理器核至3号处理器核的绑定关系。
S302、资源调度装置123从配置文件中读取第一规则和第二规则。
S303、资源调度装置123根据第一规则建立包括进程1和进程2的进程组0。
S304、资源调度装置123根据第二规则建立进程组0与处理器的绑定关系。
为了便于描述,在该示例中,以资源调度装置123根据第二规则建立的进程组0与处理器的绑定关系为:从线程T11和从线程T21与1号处理器核绑定,从线程T12和从线程T22与2号处理器核绑定,从线程T13和从线程T23与3号处理器核绑定,如图4所示。
可以理解,在资源调度装置123建立了图4所示的进程组0与处理器的绑定关系的情况下,后续从线程T11和从线程T21可以分时复用1号处理器核,从线程T12和从线程T22可以分时复用2号处理器核,从线程T13和从线程T23可以分时复用3号处理器核。
S305、资源调度装置123监测1号处理器核至3号处理器核的工作状态。
S306、资源调度装置123在监测到1号处理器核至3号处理器核中的任意一个处理器核为空闲状态时,根据绑定关系调度该处理器核运行与其具有绑定关系的从线程中的任意一个从线程。
参见图5,图5示例性示出了经过资源调度装置123的调度,HPC系统运行进程1和进程2的过程示意图;
在区域11结束的时刻,资源调度装置123监测到1号处理器核至3号处理器核处于空闲状态,资源调度装置123可以调度1号处理器核至3号处理器核对应运行从线程T21、从线程T22和从线程T23。
在区域12结束的时刻,资源调度装置123监测到1号处理器核至3号处理器核处于空闲状态,资源调度装置123可以调度1号处理器核至3号处理器核对应运行从线程T11、从线程T12和从线程T13。
在区域02结束的时刻,资源调度装置123监测到1号处理器核至3号处理器核处于空闲状态,资源调度装置123可以调度1号处理器核至3号处理器核对应运行从线程T21、从线程T22和从线程T23。
依此类推,资源调度装置123会一直监测1号处理器核至3号处理器核的工作状态,对与1号处理器核至3号处理器核具有绑定关系的从线程的运行进行调度,直至进程1和进程2运行结束。
可以看出,通过本申请提供的资源调度的方法,在HPC系统并行运行多个进程时,资源调度装置123可以监测多个进程的从线程所在的处理器核的工作状态,在从线程所在的处理器核为空闲状态时,根据从线程所在的处理器核具有的绑定关系调度该处理器核运行与其具有绑定关系的从线程中的任意一个从线程,使得从线程所在的处理器核处于空闲状态的时间大大减少,从而提升从线程所在的处理器核的利用率,提升HPC系统的性能。
此外,还可以看出,在应用本申请提供的资源调度的方法的情况下,资源调度装置123可以调度从线程所在的处理器核运行与其具有绑定关系的至少两个从线程,相较于现有技术中,一个处理器核仅负责运行一个从线程,本方案可以节省处理器核,节省下来的处理器核可以用于实现其他的计算任务,能够进一步提升HPC系统的性能。
上文详细阐述了本申请提供的资源调度的方法,基于相同的发明构思,下面继续介绍本申请提供的资源调度装置123和计算节点。
参见图6,图6是本申请提供的一种资源调度装置123的结构示意图,如图6所示,资源调度装置123包括:
调度模块1231,用于获取进程组和处理器的绑定关系,上述绑定关系用于指示至少一个进程组中第一进程组的至少一个从线程和上述处理器中多个处理器核的绑定关系,上述第一进程组为上述至少一个进程组中任意一个进程组,然后,监测上述第一处理器核的工作状态,上述第一处理器核为上述多个处理器核中任意一个处理器核,当上述第一处理器核为空闲状态时,根据上述绑定关系调度上述第一处理器核运行上述第一从线程,上述第一从线程为上述第一进程组中与上述第一处理器核存在绑定关系的任意一个从线程。
应理解的是,本申请实施例的装置123可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图2至图5所示的数据处理方法时,调度装置123及其各个模块也可以为软件模块。
在一种可能的实现方式中,如图6所示,资源调度装置123还包括绑定模块1232,用于:根据第一规则建立上述至少一个进程组,然后,根据第二规则建立上述至少一个进程组和上述处理器的绑定关系。
在一种可能的实现方式中,上述第一规则用于指示按照进程配置划分上述至少一个进程组,上述绑定模块1232,具体用于:选择进程配置满足第一条件的第一进程和第二进程构建上述第一进程组,上述第一条件包括上述进程配置相同或上述进程配置的差异小于第一阈值。
在一种可能的实现方式中,上述第二规则用于指示按照分时复用策略构建上述绑定关系,上述绑定模块1232,具体用于:从上述第一进程组中选择至少两个从线程,上述至少两个从线程在同一时刻无需同时执行处理任务,然后,从上述处理器的多个处理器核中选择一个第一处理器核,最后,记录上述第一处理器核和上述至少两个从线程的对应关系,上述第一处理器核用于运行上述至少两个从线程。
在一种可能的实现方式中,如图6所示,资源调度装置123还包括导出模块1233,用于:接收导出指令,然后,根据上述导出指令导出上述进程组和处理器的绑定关系。
在一种可能的实现方式中,上述第一进程组中任意一个进程包括主线程和从线程。
在一种可能的实现方式中,资源调度装置123应用于HPC系统,上述第一进程组中任意一个进程为MPI进程。
在一种可能的实现方式中,资源调度装置123应用于OpenMP系统,上述第一进程组中任意一个进程为OpenMP进程。
具体地,上述资源调度装置123执行各种操作的具体实现,可参照上述资源调度方法实施例中相关内容中的描述,为了说明书的简洁,这里不再赘述。
应当理解,资源调度装置123仅为本申请实施例提供的一个例子,并且,资源调度装置123可具有比图6示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
参见图7,图7是本申请提供的一种用于部署资源调度装置123的计算节点700(即上文所述计算节点100)的结构示意图,该计算节点700包括:处理器710、存储器720以及通信接口730,其中,处理器710、存储器720以及通信接口730之间可以通过总线740相互连接。其中,
处理器710可以读取存储器720中存储的程序代码(包括指令),执行存储器720中存储的程序代码,使得计算节点700执行上述方法实施例提供的资源调度的方法中的步骤。
处理器710可以有多种具体实现形式,例如处理器710可以为中央处理器(centralprocessing unit,CPU)、图形处理器(graphics processing unit,GPU)等,处理器710还可以是单核处理器或多核处理器。处理器710可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器710也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或DSP等。
存储器720可以存储程序代码以及程序数据。其中,程序代码包括:调度模块1231的代码、绑定模块1232的代码和导出模块1233的代码等,程序数据包括:进程组和处理器的绑定关系、第一规则和第二规则等等。
在实际应用中,存储器720可以是非易失性存储器,例如,只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器720也可以是易失性存储器,易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。
通信接口730可以为有线接口(例如以太网接口、光纤接口、其他类型接口(例如,infiniBand接口))或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他计算节点或装置进行通信。当通信接口730为有线接口时,通信接口730可以采用传输控制协议/网际协议(transmission control protocol/internet protocol,TCP/IP)之上的协议族,例如,远程函数调用(remote function call,RFC)协议、简单对象访问协议(simpleobject access protocol,SOAP)协议、简单网络管理协议(simple network managementprotocol,SNMP)协议、公共对象请求代理体系结构(common object request brokerarchitecture,CORBA)协议以及分布式协议等等。
总线740可以是快捷外围部件互连标准(Peripheral Component Interconnectexpress,PCIe)或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。上述总线740可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,根据本申请实施例的计算节点700可对应于本申请实施例中的包括资源调度装置123的计算节点,并可以对应于执行根据本申请实施例中图2至图5所述方法中相应主体,并且计算节点700中的各个模块的上述和其它操作和/或功能分别为了实现图2至图5中的各个方法的相应流程,为了简洁,在此不再赘述。
应当理解,计算节点700仅为本申请实施例提供的一个例子,并且,计算节点700可具有比图7示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
本申请还提供一种非易失性计算机可读存储介质,非易失性计算机可读存储介质中存储有指令,该指令被运行时可以实现上述实施例中记载的资源调度的方法的部分或者全部步骤。
本申请还提供一种计算机程序产品,当计算机程序产品被计算机读取并执行时,可以实现上述方法实施例中记载的资源调度的方法的部分或者全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质、或者半导体介质等。
以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (18)
1.一种资源调度的方法,其特征在于,所述方法包括:
获取进程组和处理器的绑定关系,所述绑定关系用于指示至少一个进程组中第一进程组的至少一个从线程和所述处理器中多个处理器核的绑定关系,所述第一进程组为所述至少一个进程组中任意一个进程组;
监测所述第一处理器核的工作状态,所述第一处理器核为所述多个处理器核中任意一个处理器核;
当所述第一处理器核为空闲状态时,根据所述绑定关系调度所述第一处理器核运行所述第一从线程,所述第一从线程为所述第一进程组中与所述第一处理器核存在绑定关系的任意一个从线程。
2.根据权利要求1所述的方法,其特征在于,在所述获取进程组和处理器的绑定关系之前,所述方法还包括:
根据第一规则建立所述至少一个进程组;
根据第二规则建立所述至少一个进程组和所述处理器的绑定关系。
3.根据权利要求2所述的方法,其特征在于,所述第一规则用于指示按照进程配置划分所述至少一个进程组,则所述根据第一规则建立至少一个进程组,包括:
选择进程配置满足第一条件的第一进程和第二进程构建所述第一进程组,所述第一条件包括所述进程配置相同或所述进程配置的差异小于第一阈值。
4.根据权利要求2所述的方法,其特征在于,所述第二规则用于指示按照分时复用策略构建所述绑定关系,则所述根据第二规则建立所述至少一个进程组和所述处理器的绑定关系,包括:
从所述第一进程组中选择至少两个从线程,所述至少两个从线程在同一时刻无需同时执行处理任务;
从所述处理器的多个处理器核中选择一个第一处理器核;
记录所述第一处理器核和所述至少两个从线程的对应关系,所述第一处理器核用于运行所述至少两个从线程。
5.根据权利要求1至4中任一所述的方法,其特征在于,所述方法还包括:
接收导出指令;
根据所述导出指令导出所述进程组和处理器的绑定关系。
6.根据权利要求1至5中任一所述的方法,其特征在于,所述第一进程组中任意一个进程包括主线程和从线程。
7.根据权利要求1至6中任一所述的方法,其特征在于,所述方法应用于高性能计算HPC系统,所述第一进程组中任意一个进程为消息通信协议MPI进程。
8.根据权利要求1至7中任一所述的方法,其特征在于,所述方法应用于多线程并发OpenMP系统,所述第一进程组中任意一个进程为OpenMP进程。
9.一种资源调度装置,其特征在于,所述装置包括:
调度模块,用于获取进程组和处理器的绑定关系,所述绑定关系用于指示至少一个进程组中第一进程组的至少一个从线程和所述处理器中多个处理器核的绑定关系,所述第一进程组为所述至少一个进程组中任意一个进程组;
所述调度模块,用于监测所述第一处理器核的工作状态,所述第一处理器核为所述多个处理器核中任意一个处理器核;
所述调度模块,用于当所述第一处理器核为空闲状态时,根据所述绑定关系调度所述第一处理器核运行所述第一从线程,所述第一从线程为所述第一进程组中与所述第一处理器核存在绑定关系的任意一个从线程。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括绑定模块,用于:
根据第一规则建立所述至少一个进程组;
根据第二规则建立所述至少一个进程组和所述处理器的绑定关系。
11.根据权利要求10所述的装置,其特征在于,所述第一规则用于指示按照进程配置划分所述至少一个进程组,所述绑定模块,具体用于:
选择进程配置满足第一条件的第一进程和第二进程构建所述第一进程组,所述第一条件包括所述进程配置相同或所述进程配置的差异小于第一阈值。
12.根据权利要求10所述的装置,其特征在于,所述第二规则用于指示按照分时复用策略构建所述绑定关系,所述绑定模块,具体用于:
从所述第一进程组中选择至少两个从线程,所述至少两个从线程在同一时刻无需同时执行处理任务;
从所述处理器的多个处理器核中选择一个第一处理器核;
记录所述第一处理器核和所述至少两个从线程的对应关系,所述第一处理器核用于运行所述至少两个从线程。
13.根据权利要求9至12中任一所述的装置,其特征在于,所述装置还包括导出模块,用于:
接收导出指令;
根据所述导出指令导出所述进程组和处理器的绑定关系。
14.根据权利要求9至13中任一所述的装置,其特征在于,所述第一进程组中任意一个进程包括主线程和从线程。
15.根据权利要求9至14中任一所述的装置,其特征在于,所述装置应用于HPC系统,所述第一进程组中任意一个进程为MPI进程。
16.根据权利要求9至15中任一所述的装置,其特征在于,所述装置应用于OpenMP系统,所述第一进程组中任意一个进程为OpenMP进程。
17.一种计算节点,其特征在于,所述计算节点包括处理器和存储器,所述存储器用于存储计算机指令,所述计算节点运行时,所述处理器执行所述计算机指令以实现所述权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储有指令,所述指令用于实现权利要求1至8任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110750487.5A CN115562846A (zh) | 2021-07-01 | 2021-07-01 | 一种资源调度的方法、装置及计算节点 |
EP22832091.7A EP4361808A1 (en) | 2021-07-01 | 2022-06-29 | Resource scheduling method and device and computing node |
PCT/CN2022/102186 WO2023274278A1 (zh) | 2021-07-01 | 2022-06-29 | 一种资源调度的方法、装置及计算节点 |
US18/396,720 US20240152395A1 (en) | 2021-07-01 | 2023-12-27 | Resource scheduling method and apparatus, and computing node |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110750487.5A CN115562846A (zh) | 2021-07-01 | 2021-07-01 | 一种资源调度的方法、装置及计算节点 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115562846A true CN115562846A (zh) | 2023-01-03 |
Family
ID=84691456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110750487.5A Pending CN115562846A (zh) | 2021-07-01 | 2021-07-01 | 一种资源调度的方法、装置及计算节点 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240152395A1 (zh) |
EP (1) | EP4361808A1 (zh) |
CN (1) | CN115562846A (zh) |
WO (1) | WO2023274278A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755805A (zh) * | 2023-08-18 | 2023-09-15 | 北京融为科技有限公司 | 应用于c++的资源优化方法及装置 |
CN117311994A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种处理核心隔离方法、装置及电子设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7773090B1 (en) * | 2006-06-13 | 2010-08-10 | Nvidia Corporation | Kernel mode graphics driver for dual-core computer system |
CN104375899B (zh) * | 2014-11-21 | 2016-03-30 | 北京应用物理与计算数学研究所 | 高性能计算机numa感知的线程和内存资源优化方法与系统 |
CN107436798A (zh) * | 2017-08-15 | 2017-12-05 | 深信服科技股份有限公司 | 一种基于numa节点的进程访问方法及装置 |
CN108829510B (zh) * | 2018-05-04 | 2021-01-29 | 天津猎鹰网络技术有限公司 | 线程绑定处理方法和装置 |
-
2021
- 2021-07-01 CN CN202110750487.5A patent/CN115562846A/zh active Pending
-
2022
- 2022-06-29 EP EP22832091.7A patent/EP4361808A1/en active Pending
- 2022-06-29 WO PCT/CN2022/102186 patent/WO2023274278A1/zh active Application Filing
-
2023
- 2023-12-27 US US18/396,720 patent/US20240152395A1/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755805A (zh) * | 2023-08-18 | 2023-09-15 | 北京融为科技有限公司 | 应用于c++的资源优化方法及装置 |
CN116755805B (zh) * | 2023-08-18 | 2024-02-02 | 北京融为科技有限公司 | 应用于c++的资源优化方法及装置 |
CN117311994A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种处理核心隔离方法、装置及电子设备和存储介质 |
CN117311994B (zh) * | 2023-11-28 | 2024-02-23 | 苏州元脑智能科技有限公司 | 一种处理核心隔离方法、装置及电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4361808A1 (en) | 2024-05-01 |
WO2023274278A1 (zh) | 2023-01-05 |
US20240152395A1 (en) | 2024-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112465129B (zh) | 片内异构人工智能处理器 | |
US8949847B2 (en) | Apparatus and method for managing resources in cluster computing environment | |
Yang et al. | A framework for partitioning and execution of data stream applications in mobile cloud computing | |
RU2733058C1 (ru) | Высокопроизводительная компьютерная система и способ | |
CN109564528B (zh) | 分布式计算中计算资源分配的系统和方法 | |
RU2597556C2 (ru) | Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера | |
WO2023274278A1 (zh) | 一种资源调度的方法、装置及计算节点 | |
US8903981B2 (en) | Method and system for achieving better efficiency in a client grid using node resource usage and tracking | |
CN109445944A (zh) | 一种基于dpdk的网络数据采集处理系统及其方法 | |
CN110221920B (zh) | 部署方法、装置、存储介质及系统 | |
CN103761146B (zh) | 一种MapReduce动态设定slots数量的方法 | |
CN111930525B (zh) | Gpu资源使用方法、电子设备及计算机可读介质 | |
CN101424941B (zh) | 一种控制实现方法和系统 | |
CN116360972A (zh) | 资源管理方法、装置及资源管理平台 | |
CN112130963A (zh) | 虚拟机任务的调度方法、装置、计算机设备及存储介质 | |
US20230136612A1 (en) | Optimizing concurrent execution using networked processing units | |
Yun et al. | An integrated approach to workflow mapping and task scheduling for delay minimization in distributed environments | |
CN113515361B (zh) | 一种面向服务的轻量级异构计算集群系统 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN115712572A (zh) | 任务的测试方法、装置、存储介质及电子装置 | |
CN114489978A (zh) | 资源调度方法、装置、设备及存储介质 | |
Tsoutsouras et al. | Job-arrival aware distributed run-time resource management on intel scc manycore platform | |
Bozyigit | History-driven dynamic load balancing for recurring applications on networks of workstations | |
CN106844021B (zh) | 计算环境资源管理系统及其管理方法 | |
CN117076133B (zh) | 云游戏平台异构资源分配方法、计算机装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |