CN117407178A - 一种自适应负载分配的加速子卡管理方法及系统 - Google Patents
一种自适应负载分配的加速子卡管理方法及系统 Download PDFInfo
- Publication number
- CN117407178A CN117407178A CN202311716703.XA CN202311716703A CN117407178A CN 117407178 A CN117407178 A CN 117407178A CN 202311716703 A CN202311716703 A CN 202311716703A CN 117407178 A CN117407178 A CN 117407178A
- Authority
- CN
- China
- Prior art keywords
- card
- task
- acceleration sub
- current task
- sub
- 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.)
- Granted
Links
- 230000001133 acceleration Effects 0.000 title claims abstract description 229
- 238000007726 management method Methods 0.000 title claims abstract description 27
- 238000004364 calculation method Methods 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000012544 monitoring process Methods 0.000 claims description 20
- 230000003044 adaptive effect Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
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]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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
- G06F9/505—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 considering the load
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种自适应负载分配的加速子卡管理方法及系统,包括服务器主机和加速子卡,服务器主机用于分配任务至加速子卡;加速子卡用于接收来自服务器主机的分配指令并执行相应的任务,且加速子卡有两种类型,分别为计算型加速子卡和内存型加速子卡;本发明通过服务器主机监测并获取每个加速子卡的负载状态;计算并确定当前任务的资源需求,其中,当前任务的特征包括分配权重的计算复杂度、内存需求量和数据规模,资源需求包括计算资源和内存资源;结合获取的加速子卡的负载状态和当前任务的资源需求,并根据预先设定的调配策略将当前任务分配至符合调配策略的加速子卡,由符合调配策略的加速子卡执行当前任务,有效提高了加速子卡的性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种自适应负载分配的加速子卡管理方法及系统。
背景技术
随着科技的快速发展,计算机系统和应用的需求日益增长,对于处理和计算能力的需求也越来越高。为了满足这种需求,加速子卡被广泛地应用于计算机系统中,以提高系统的计算能力和处理速度。然而,现有的加速子卡管理方法往往不能很好地满足实时、高效的负载分配需求,尤其是在处理复杂、多变的应用时。
因此,需要一种自适应负载分配的加速子卡管理方法及系统,以优化计算机系统的性能和效率。
发明内容
为解决上述技术问题,本发明提供一种自适应负载分配的加速子卡管理方法及系统,通过快速获取当前任务的资源需求,并根据资源需求以及负载状态分配当前任务,有效提高了加速子卡的利用率和性能,且可以在不同负载情况下自动调整任务分配和资源利用,从而实现负载均衡和性能最大化。
本发明提供的一种自适应负载分配的加速子卡管理方法,包括服务器主机和加速子卡,其中,所述服务器主机用于分配任务至所述加速子卡;
所述加速子卡用于接收来自所述服务器主机的分配指令并执行相应的任务,且加速子卡有两种类型,分别为计算型加速子卡和内存型加速子卡;
所述管理方法包括以下步骤:
S1:通过服务器主机监测并获取每个加速子卡的负载状态;
S2:计算并确定当前任务的资源需求,其中,所述当前任务的特征包括分配权重的计算复杂度、内存需求量和数据规模,所述资源需求包括计算资源和内存资源;
S3:结合获取的加速子卡的负载状态和当前任务的资源需求,并根据预先设定的调配策略将当前任务分配至符合调配策略的加速子卡,由符合调配策略的加速子卡执行当前任务。
优选的,所述步骤S1包括:
S101:服务器主机通过通信接口与每个加速子卡连接,并向加速子卡发送监测指令;
S102:加速子卡接收监测指令,并将当前的负载状态反馈回服务器主机;
S103:服务器主机接收来自加速子卡的负载状态,并存储所有加速子卡的负载状态,其中,负载状态包括加速子卡的内存负载和计算负载。
优选的,所述步骤S2包括:
S201:利用历史任务数据构建相似度比较模型;
S202:将当前任务输入所述相似度比较模型,并基于K最近邻算法计算当前任务与历史任务之间的欧氏距离,并依据预设的距离阈值得到当前任务与历史任务之间的比较结果;
S203:基于比较结果,确定当前任务的资源需求。
优选的,所述步骤S201包括:
S201-1:收集并预处理历史任务数据,其中,历史任务数据包括历史任务以及对应的资源需求;
S201-2:从预处理后的历史任务数据中进行特征保留,要保留的特征包括与历史任务对应的计算复杂度、内存需求量和数据规模;
S201-3:基于保留的特征和历史任务数据构建并训练基础的相似度比较模型,得到所需的相似度比较模型。
优选的,所述步骤S202包括:
S202-1:自定义确定当前任务的特征权重;
S202-2:遍历历史任务数据,查找与当前任务的特征权重相同的历史任务数据,若历史任务数据中没有与当前任务的特征权重相同的历史任务,则跳转至步骤S203-1;
S202-3:在与当前任务的特征权重相同的历史任务中,基于K最近邻算法计算当前任务与历史任务在计算复杂度、内存需求量和数据规模特征上的欧氏距离,
若各特征之间的欧氏距离均小于预设的距离阈值,则跳转至步骤S203-2,
若有一个特征之间的欧氏距离不小于预设的距离阈值,则跳转至步骤S203-1。
优选的,所述步骤S203包括:
S203-1:分析并计算得到当前任务的资源需求;
S203-2:将各特征之间的欧氏距离均小于预设的距离阈值的历史任务对应的资源需求认定为当前任务的资源需求。
优选的,所述步骤S3的调配策略包括以下情况:
若当前任务的计算资源需求和内存资源需求均衡,则将当前任务分配至任一处于空闲状态的加速子卡;
若当前任务的资源需求侧重于计算资源,则将当前任务分配至任一处于空闲状态的计算型加速子卡;
若当前任务的资源需求侧重于内存资源,则将当前任务分配至任一处于空闲状态的内存型加速子卡。
优选的,所述步骤S3的调配策略还包括以下情况:
若当前任务的资源需求侧重于计算资源,且所有计算型加速子卡的计算负载处于满载状态时,则将当前任务调配至内存型加速子卡,并在其中一计算型加速子卡完成任务后,将当前任务调配至完成任务的计算型加速子卡;
若当前任务的资源需求侧重于内存资源,且所有内存型加速子卡的计算负载处于满载状态时,则将当前任务调配至计算型加速子卡,并在其中一内存型加速子卡完成任务后,将当前任务调配至完成任务的内存型加速子卡。
优选的,所述步骤S3的调配策略还包括以下情况:
若当前任务的资源需求侧重于计算资源,且所有加速子卡的计算负载处于满载状态时,则等待处理,当其中一计算型加速子卡优先于内存型加速子卡完成任务,调配至完成任务的计算型加速子卡,或者
当其中一内存型加速子卡优先于计算型加速子卡完成任务,调配至完成任务的内存型加速子卡,并在其中一计算型加速子卡完成任务后,调配至完成任务的计算型加速子卡;
若当前任务的资源需求侧重于内存资源,且所有加速子卡的计算负载处于满载状态时,则等待处理,当其中一内存型加速子卡优先于计算型加速子卡完成任务,调配至完成任务的内存型加速子卡,或者
当其中一计算型加速子卡优先于内存型加速子卡完成任务,调配至完成任务的计算型加速子卡,并在其中一内存型加速子卡完成任务后,调配至完成任务的内存型加速子卡。
本发明还提供了一种自适应负载分配的加速子卡管理系统,所述管理系统包括服务器主机和加速子卡,其中,所述服务器主机用于分配任务至所述加速子卡;
所述加速子卡用于接收来自所述服务器主机的分配指令并执行相应的任务,且加速子卡有两种类型,分别为计算型加速子卡和内存型加速子卡;
还包括:
负载状态获取模块,用于通过服务器主机监测并获取每个加速子卡的负载状态;
任务资源需求确定模块,用于计算并确定当前任务的资源需求,其中,所述当前任务的特征包括分配权重的计算复杂度、内存需求量和数据规模,所述资源需求包括计算资源和内存资源;
任务调配模块,用于结合获取的加速子卡的负载状态和当前任务的资源需求,并根据预先设定的调配策略将当前任务分配至符合调配策略的加速子卡,由符合调配策略的加速子卡执行当前任务。
与相关技术相比较,本发明提供的一种自适应负载分配的加速子卡管理方法及系统具有如下有益效果:
本发明可以通过构建的相似度比较模型快速地匹配出任务的资源需求,避免重复计算当前任务的资源需求,从而节省计算资源和时间,同时结合资源需求以及负载状态分配当前任务,有效提高了加速子卡的利用率和性能,且可以在不同负载情况下自动调整任务分配和资源利用,从而实现负载均衡和性能最大化。
附图说明
图1为本发明提供的一种自适应负载分配的加速子卡管理方法的流程图;
图2为本发明提供的一种自适应负载分配的加速子卡管理方法的步骤S1的流程图;
图3为本发明提供的一种自适应负载分配的加速子卡管理方法的步骤S2的流程图;
图4为本发明提供的一种自适应负载分配的加速子卡管理方法的步骤S201的流程图;
图5为本发明提供的一种自适应负载分配的加速子卡管理方法的步骤S202的流程图;
图6为本发明提供的一种自适应负载分配的加速子卡管理方法的步骤S203的流程图;
图7为本发明提供的一种自适应负载分配的加速子卡管理系统的服务器主机与加速子卡的关系图;
图8为本发明提供的一种自适应负载分配的加速子卡管理系统的模块结构图;
图中标号:500、负载状态获取模块;600、任务资源需求确定模块;700、任务调配模块。
具体实施方式
下面结合附图和实施方式对本发明作进一步说明。
实施例一
本发明提供的一种自适应负载分配的加速子卡管理方法,参考图7所示,包括服务器主机和若干配置于服务器主机的加速子卡,二者通过软件和硬件的交互实现任务的分配和执行,其中,服务器主机通过监测加速子卡的负载状态、评估任务的资源需求,并根据这些信息来决策和分配任务给合适的加速子卡;
加速子卡与服务器主机通过PCIe接口连接,在使用时,加速子卡通过接收服务器主机分配的任务,利用自身的计算能力和资源来加速任务的执行,在本申请中,选用两种类型的加速子卡,分别为计算型加速子卡和内存型加速子卡,其中,计算型加速子卡和内存型加速子卡均具有基础的计算能力和内存资源,不同的是,计算型加速子卡相对于内存型加速子卡,可以提供更强的计算能力,而内存型加速子卡相对于计算型加速子卡,可以提供更大的内存资源。
在本实施例中,参考图1所示,自适应负载分配的加速子卡管理方法包括以下步骤:
S1:通过服务器主机监测并获取每个加速子卡的负载状态。
具体的,通过服务器主机可以实现对每个加速子卡的负载状态进行监测和获取,这种监测可以通过各种方式实现,所使用的方式包括但不限于使用专门的监控软件或通过操作系统的相关命令来获取每个加速子卡的负载状态。
在本实施例中,负载状态包括加速子卡的内存负载和计算负载,获取的负载状态可以更好地进行任务调度和资源分配。
此外,服务器主机还可以提供一些警报功能,例如当某个加速子卡的负载过高或出现其他异常情况时,可以及时发出警报通知管理员,以确保系统的稳定性和可用性。
在本实施例中,参考图2所示,步骤S1具体包括:
S101:服务器主机通过通信接口与每个加速子卡连接,并向加速子卡发送监测指令。
具体的,服务器主机通过特定的通信接口与每个加速子卡连接,这些通信接口可以但不限于是PCIe、USB、网络接口等,当服务器主机发送监测指令时,这些指令会通过通信接口传输到加速子卡。
S102:加速子卡接收监测指令,并将当前的负载状态反馈回服务器主机。
具体的,加速子卡在接收到监测指令后,会根据自己的负载状态生成相应的监测数据,并通过通信接口将这些数据传输回服务器主机。
S103:服务器主机接收来自加速子卡的负载状态,并存储所有加速子卡的负载状态,其中,负载状态包括加速子卡的内存负载和计算负载。
具体的,服务器主机会接收加速子卡反馈的包含负载状态的监测数据,并将负载状态分为内存负载和计算负载,其中,内存负载是指加速子卡当前内存的使用情况,包括已使用的内存量和空闲的内存量,服务器主机记录每个加速子卡的内存负载,并通过对这些数据的分析,了解系统的内存使用状况。
计算负载是指加速子卡在进行计算任务时的负载情况,包括计算资源的占用率和计算任务的执行时间等,服务器主机记录每个加速子卡的计算负载,并通过对这些数据的分析,了解系统的计算能力使用状况。
S2:计算并确定当前任务的资源需求,其中,当前任务的特征包括分配权重的计算复杂度、内存需求量和数据规模,资源需求包括计算资源和内存资源。
具体的,在确定当前任务的资源需求时,需要考虑任务的特征和所需的计算资源和内存资源,其中,任务的特征包括分配权重的计算复杂度、内存需求量和数据规模,也就是说,每个任务均包括计算复杂度、内存需求量和数据规模这三个特征,并且需要为这三个特征分配权重,需要根据权重确定当前任务的资源需求。
其中,任务的计算复杂度可以反映任务的计算密集程度,任务的内存需求量表示任务所需的内存大小,任务的数据规模则代表了任务需要处理的数据量。
在本实施例中,参考图3所示,步骤S2具体包括:
S201:利用历史任务数据构建相似度比较模型。
具体的,利用历史任务数据构建相似度比较模型,可以用于预测当前任务的资源需求,并且历史任务数据覆盖不同类型和规模的任务,以保证相似度比较模型的丰富性,快速地通过相似度比较模型得出当前任务的资源需求。
在本实施例中,参考图4所示,步骤S201包括:
S201-1:收集并预处理历史任务数据,其中,历史任务数据包括历史任务以及对应的资源需求。
具体的,收集历史任务的数据,包括任务的计算复杂度、内存需求量、数据规模等指标,然后对收集到的数据进行清洗、整理和标准化,以消除异常值和噪声数据,并将数据转换为一个统一的格式。
同时,每一个历史任务对应有一个确定的资源需求,那么在后续比较时,通过比较当前任务与历史任务之间的相似度即可确定当前任务的资源需求。
S201-2:从预处理后的历史任务数据中进行特征保留,要保留的特征包括与历史任务对应的计算复杂度、内存需求量和数据规模。
具体的,从经过清洗、整理和标准化的历史任务数据中提取出与当前任务相似的特征,该特征包括计算复杂度、内存需求量、数据规模等。
S201-3:基于保留的特征和历史任务数据构建并训练基础的相似度比较模型,得到所需的相似度比较模型
具体的,根据保留的特征和历史任务数据,利用机器学习构建一个相似度比较模型,这个模型可以根据当前任务的特征,匹配当前任务的资源需求。
S202:将当前任务输入相似度比较模型,并基于K最近邻算法计算当前任务与历史任务之间的欧氏距离,并依据预设的距离阈值得到当前任务与历史任务之间的比较结果。
具体的,将当前任务输入相似度比较模型后,基于K最近邻算法计算当前任务与历史任务之间的欧氏距离,其中包括当前任务与历史任务在计算复杂度、内存需求量、数据规模三个特征上的欧氏距离,并依据预设的距离阈值判断当前任务与历史任务的相似度。
在本实施例中,参考图5所示,步骤S202包括:
S202-1:自定义确定当前任务的特征权重。
具体的,在使用时,根据自身需求选定当前任务的特征权重,也即为计算复杂度、内存需求量、数据规模这三个特征分配权重,例如,计算复杂度占比30%、内存需求量占比30%和数据规模占比40%。
S202-2:遍历历史任务数据,查找与当前任务的特征权重相同的历史任务数据,若历史任务数据中没有与当前任务的特征权重相同的历史任务,则跳转至步骤S203-1。
具体的,逐个读取历史任务数据,并将其特征权重提取出来,将当前任务的特征权重与历史任务的特征权重进行比较,如果发现历史任务数据中存在与当前任务特征权重相同的历史任务,则标记该历史任务,用于后续的处理和分析,如果没有找到与当前任务特征权重相同的历史任务,则跳转到步骤S203-1。
S202-3:在与当前任务的特征权重相同的历史任务中,基于K最近邻算法计算当前任务与历史任务在计算复杂度、内存需求量和数据规模特征上的欧氏距离,
若各特征之间的欧氏距离均小于预设的距离阈值,则跳转至步骤S203-2,
若有一个特征之间的欧氏距离不小于预设的距离阈值,则跳转至步骤S203-1。
具体的,在步骤S202-2中已经初步筛选了历史任务数据,得到了与当前任务的特征权重相同的历史任务数据,接着需要逐一比较筛选后历史任务数据中在计算复杂度、内存需求量、数据规模这三个特征上的欧氏距离,得到符合要求的历史任务。
将当前任务的计算复杂度、内存需求量、数据规模这三个特征进行量化,得到一个特征向量,同时,对于筛选后的历史任务数据中的每一个历史任务的相同特征进行量化,也得到一个特征向量,使用欧氏距离公式,计算当前任务的特征向量与每个历史任务的特征向量之间的距离,也即计算复杂度、内存需求量、数据规模特征向量之间的距离,而后分为以下两种结果:
若各特征之间的欧氏距离均小于预设的距离阈值,说明找到了符合要求的历史任务,则跳转至步骤S203-2,
若有一个特征之间的欧氏距离不小于预设的距离阈值,则说明未找到符合要求的历史任务,则跳转至步骤S203-1。
S203:基于比较结果,确定当前任务的资源需求。
具体的,根据上述的两种比较结果,分为两种获取当前任务的资源需求的方式,其中一种按照常规步骤计算得到当前任务的资源需求,另一种则是直接认定符合条件的历史任务的资源需求为当前任务的资源需求,避免重复计算当前任务的资源需求,从而节省计算资源和时间。
在本实施例中,参考图6所示,步骤S203具体包括:
S203-1:分析并计算得到当前任务的资源需求。
具体的,该步骤对应其中一个比较结果,也即在历史任务数据中未找到与当前任务相似的历史任务,因此,需要按照常规步骤去计算当前任务的资源需求。
S203-2:将各特征之间的欧氏距离均小于预设的距离阈值的历史任务对应的资源需求认定为当前任务的资源需求。
具体的,该步骤对应另一个比较结果,也即在历史任务数据中找到与当前任务相似的历史任务,可以直接认定符合条件的历史任务的资源需求为当前任务的资源需求,避免重复计算当前任务的资源需求,从而节省计算资源和时间。
S3:结合获取的加速子卡的负载状态和当前任务的资源需求,并根据预先设定的调配策略将当前任务分配至符合调配策略的加速子卡,由符合调配策略的加速子卡执行当前任务。
步骤S3的调配策略包括以下情况:
若当前任务的计算资源需求和内存资源需求均衡,则将当前任务分配至任一处于空闲状态的加速子卡。
在此情况中,当计算资源需求和内存资源需求均衡,也即无需更大的内存和更强的计算能力,基础的内存和计算能力即可满足需求,可以采用轮询策略,按照设定的顺序将任务分配给各个可用的加速子卡,无论是计算型加速子卡还是内存型加速子卡,确保任务在各个子卡上均匀分布。
若当前任务的资源需求侧重于计算资源,则将当前任务分配至任一处于空闲状态的计算型加速子卡。
若当前任务的资源需求侧重于内存资源,则将当前任务分配至任一处于空闲状态的内存型加速子卡。
调配策略还包括以下情况:
若当前任务的资源需求侧重于计算资源,且所有计算型加速子卡的计算负载处于满载状态时,则将当前任务调配至内存型加速子卡,并在其中一计算型加速子卡完成任务后,将当前任务调配至完成任务的计算型加速子卡;
若当前任务的资源需求侧重于内存资源,且所有内存型加速子卡的计算负载处于满载状态时,则将当前任务调配至计算型加速子卡,并在其中一内存型加速子卡完成任务后,将当前任务调配至完成任务的内存型加速子卡。
步骤S3的调配策略还包括以下情况:
若当前任务的资源需求侧重于计算资源,且所有加速子卡的计算负载处于满载状态时,则等待处理,当其中一计算型加速子卡优先于内存型加速子卡完成任务,调配至完成任务的计算型加速子卡,或者
当其中一内存型加速子卡优先于计算型加速子卡完成任务,调配至完成任务的内存型加速子卡,并在其中一计算型加速子卡完成任务后,调配至完成任务的计算型加速子卡;
若当前任务的资源需求侧重于内存资源,且所有加速子卡的计算负载处于满载状态时,则等待处理,当其中一内存型加速子卡优先于计算型加速子卡完成任务,调配至完成任务的内存型加速子卡,或者
当其中一计算型加速子卡优先于内存型加速子卡完成任务,调配至完成任务的计算型加速子卡,并在其中一内存型加速子卡完成任务后,调配至完成任务的内存型加速子卡。
本发明提供的一种自适应负载分配的加速子卡管理方法的工作原理如下:通过服务器主机监测并获取每个加速子卡的负载状态;计算并确定当前任务的资源需求,其中,当前任务的特征包括分配权重的计算复杂度、内存需求量和数据规模,资源需求包括计算资源和内存资源;结合获取的加速子卡的负载状态和当前任务的资源需求,并根据预先设定的调配策略将当前任务分配至符合调配策略的加速子卡,由符合调配策略的加速子卡执行当前任务,本发明可以通过构建的相似度比较模型快速地匹配出任务的资源需求,避免重复计算当前任务的资源需求,从而节省计算资源和时间,同时结合资源需求以及负载状态分配当前任务,有效提高了加速子卡的利用率和性能,且可以在不同负载情况下自动调整任务分配和资源利用,从而实现负载均衡和性能最大化。
实施例二
本发明还提供了一种自适应负载分配的加速子卡管理系统,参考图7和图8所示,管理系统包括服务器主机和加速子卡,其中,服务器主机用于分配任务至加速子卡;
加速子卡用于接收来自服务器主机的分配指令并执行相应的任务,且加速子卡有两种类型,分别为计算型加速子卡和内存型加速子卡;
还包括:
负载状态获取模块500,用于通过服务器主机监测并获取每个加速子卡的负载状态;
任务资源需求确定模块600,用于计算并确定当前任务的资源需求,其中,当前任务的特征包括分配权重的计算复杂度、内存需求量和数据规模,资源需求包括计算资源和内存资源;
任务调配模块700,用于结合获取的加速子卡的负载状态和当前任务的资源需求,并根据预先设定的调配策略将当前任务分配至符合调配策略的加速子卡,由符合调配策略的加速子卡执行当前任务。
本发明提供的一种自适应负载分配的加速子卡管理系统的工作原理如下:首先,利用负载状态获取模块500的服务器主机监测并获取每个加速子卡的负载状态;然后,利用任务资源需求确定模块600计算并确定当前任务的资源需求,其中,当前任务的特征包括分配权重的计算复杂度、内存需求量和数据规模,资源需求包括计算资源和内存资源;最后,通过任务调配模块700结合获取的加速子卡的负载状态和当前任务的资源需求,并根据预先设定的调配策略将当前任务分配至符合调配策略的加速子卡,由符合调配策略的加速子卡执行当前任务,本发明可以通过构建的相似度比较模型快速地匹配出任务的资源需求,避免重复计算当前任务的资源需求,从而节省计算资源和时间,同时结合资源需求以及负载状态分配当前任务,有效提高了加速子卡的利用率和性能,且可以在不同负载情况下自动调整任务分配和资源利用,从而实现负载均衡和性能最大化。
本申请是参照根据本申请实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框,以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一种计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器,或者能够用于携带或存储数据的计算机可读的任何其他介质。
还需要说明的是,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
Claims (10)
1.一种自适应负载分配的加速子卡管理方法,包括服务器主机和加速子卡,其中,所述服务器主机用于分配任务至所述加速子卡;
所述加速子卡用于接收来自所述服务器主机的分配指令并执行相应的任务,且加速子卡有两种类型,分别为计算型加速子卡和内存型加速子卡;
其特征在于,所述管理方法包括以下步骤:
S1:通过服务器主机监测并获取每个加速子卡的负载状态;
S2:计算并确定当前任务的资源需求,其中,所述当前任务的特征包括分配权重的计算复杂度、内存需求量和数据规模,所述资源需求包括计算资源和内存资源;
S3:结合获取的加速子卡的负载状态和当前任务的资源需求,并根据预先设定的调配策略将当前任务分配至符合调配策略的加速子卡,由符合调配策略的加速子卡执行当前任务。
2.根据权利要求1所述的一种自适应负载分配的加速子卡管理方法,其特征在于,所述步骤S1包括:
S101:服务器主机通过通信接口与每个加速子卡连接,并向加速子卡发送监测指令;
S102:加速子卡接收监测指令,并将当前的负载状态反馈回服务器主机;
S103:服务器主机接收来自加速子卡的负载状态,并存储所有加速子卡的负载状态,其中,负载状态包括加速子卡的内存负载和计算负载。
3.根据权利要求1所述的一种自适应负载分配的加速子卡管理方法,其特征在于,所述步骤S2包括:
S201:利用历史任务数据构建相似度比较模型;
S202:将当前任务输入所述相似度比较模型,并基于K最近邻算法计算当前任务与历史任务之间的欧氏距离,并依据预设的距离阈值得到当前任务与历史任务之间的比较结果;
S203:基于比较结果,确定当前任务的资源需求。
4.根据权利要求3所述的一种自适应负载分配的加速子卡管理方法,其特征在于,所述步骤S201包括:
S201-1:收集并预处理历史任务数据,其中,历史任务数据包括历史任务以及对应的资源需求;
S201-2:从预处理后的历史任务数据中进行特征保留,要保留的特征包括与历史任务对应的计算复杂度、内存需求量和数据规模;
S201-3:基于保留的特征和历史任务数据构建并训练基础的相似度比较模型,得到所需的相似度比较模型。
5.根据权利要求4所述的一种自适应负载分配的加速子卡管理方法,其特征在于,所述步骤S202包括:
S202-1:自定义确定当前任务的特征权重;
S202-2:遍历历史任务数据,查找与当前任务的特征权重相同的历史任务数据,若历史任务数据中没有与当前任务的特征权重相同的历史任务,则跳转至步骤S203-1;
S202-3:在与当前任务的特征权重相同的历史任务中,基于K最近邻算法计算当前任务与历史任务在计算复杂度、内存需求量和数据规模特征上的欧氏距离,
若各特征之间的欧氏距离均小于预设的距离阈值,则跳转至步骤S203-2,
若有一个特征之间的欧氏距离不小于预设的距离阈值,则跳转至步骤S203-1。
6.根据权利要求5所述的一种自适应负载分配的加速子卡管理方法,其特征在于,所述步骤S203包括:
S203-1:分析并计算得到当前任务的资源需求;
S203-2:将各特征之间的欧氏距离均小于预设的距离阈值的历史任务对应的资源需求认定为当前任务的资源需求。
7.根据权利要求1所述的一种自适应负载分配的加速子卡管理方法,其特征在于,所述步骤S3的调配策略包括以下情况:
若当前任务的计算资源需求和内存资源需求均衡,则将当前任务分配至任一处于空闲状态的加速子卡;
若当前任务的资源需求侧重于计算资源,则将当前任务分配至任一处于空闲状态的计算型加速子卡;
若当前任务的资源需求侧重于内存资源,则将当前任务分配至任一处于空闲状态的内存型加速子卡。
8.根据权利要求7所述的一种自适应负载分配的加速子卡管理方法,其特征在于,所述步骤S3的调配策略还包括以下情况:
若当前任务的资源需求侧重于计算资源,且所有计算型加速子卡的计算负载处于满载状态时,则将当前任务调配至内存型加速子卡,并在其中一计算型加速子卡完成任务后,将当前任务调配至完成任务的计算型加速子卡;
若当前任务的资源需求侧重于内存资源,且所有内存型加速子卡的计算负载处于满载状态时,则将当前任务调配至计算型加速子卡,并在其中一内存型加速子卡完成任务后,将当前任务调配至完成任务的内存型加速子卡。
9.根据权利要求1所述的一种自适应负载分配的加速子卡管理方法,其特征在于,所述步骤S3的调配策略还包括以下情况:
若当前任务的资源需求侧重于计算资源,且所有加速子卡的计算负载处于满载状态时,则等待处理,当其中一计算型加速子卡优先于内存型加速子卡完成任务,调配至完成任务的计算型加速子卡,或者
当其中一内存型加速子卡优先于计算型加速子卡完成任务,调配至完成任务的内存型加速子卡,并在其中一计算型加速子卡完成任务后,调配至完成任务的计算型加速子卡;
若当前任务的资源需求侧重于内存资源,且所有加速子卡的计算负载处于满载状态时,则等待处理,当其中一内存型加速子卡优先于计算型加速子卡完成任务,调配至完成任务的内存型加速子卡,或者
当其中一计算型加速子卡优先于内存型加速子卡完成任务,调配至完成任务的计算型加速子卡,并在其中一内存型加速子卡完成任务后,调配至完成任务的内存型加速子卡。
10.一种自适应负载分配的加速子卡管理系统,其特征在于,所述管理系统包括服务器主机和加速子卡,其中,所述服务器主机用于分配任务至所述加速子卡;
所述加速子卡用于接收来自所述服务器主机的分配指令并执行相应的任务,且加速子卡有两种类型,分别为计算型加速子卡和内存型加速子卡;
还包括:
负载状态获取模块(500),用于通过服务器主机监测并获取每个加速子卡的负载状态;
任务资源需求确定模块(600),用于计算并确定当前任务的资源需求,其中,所述当前任务的特征包括分配权重的计算复杂度、内存需求量和数据规模,所述资源需求包括计算资源和内存资源;
任务调配模块(700),用于结合获取的加速子卡的负载状态和当前任务的资源需求,并根据预先设定的调配策略将当前任务分配至符合调配策略的加速子卡,由符合调配策略的加速子卡执行当前任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311716703.XA CN117407178B (zh) | 2023-12-14 | 2023-12-14 | 一种自适应负载分配的加速子卡管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311716703.XA CN117407178B (zh) | 2023-12-14 | 2023-12-14 | 一种自适应负载分配的加速子卡管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117407178A true CN117407178A (zh) | 2024-01-16 |
CN117407178B CN117407178B (zh) | 2024-04-02 |
Family
ID=89496572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311716703.XA Active CN117407178B (zh) | 2023-12-14 | 2023-12-14 | 一种自适应负载分配的加速子卡管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407178B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806833A (zh) * | 2024-02-28 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种数据处理系统、方法及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502791A (zh) * | 2016-10-14 | 2017-03-15 | 浪潮电子信息产业股份有限公司 | 一种任务分配方法及装置 |
CN107992359A (zh) * | 2017-11-27 | 2018-05-04 | 江苏海平面数据科技有限公司 | 一种云环境下代价感知的任务调度算法 |
CN113010315A (zh) * | 2021-03-18 | 2021-06-22 | 中国邮政储蓄银行股份有限公司 | 资源分配方法及分配装置、计算机可读存储介质 |
US20210200587A1 (en) * | 2018-09-11 | 2021-07-01 | Huawei Technologies Co., Ltd. | Resource scheduling method and apparatus |
CN114579270A (zh) * | 2022-02-24 | 2022-06-03 | 北京理工大学 | 一种基于资源需求预测的任务调度方法及系统 |
CN115509734A (zh) * | 2021-06-23 | 2022-12-23 | 华为技术有限公司 | 一种数据处理方法、系统及相关设备 |
CN115878260A (zh) * | 2022-10-14 | 2023-03-31 | 浙江数智交院科技股份有限公司 | 一种低碳自适应云主机任务调度系统 |
CN116185623A (zh) * | 2023-02-07 | 2023-05-30 | 北京百分点科技集团股份有限公司 | 任务分配方法、装置、电子设备及存储介质 |
US20230186192A1 (en) * | 2021-12-10 | 2023-06-15 | Citrix Systems, Inc. | Intelligent task assignment and performance |
-
2023
- 2023-12-14 CN CN202311716703.XA patent/CN117407178B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502791A (zh) * | 2016-10-14 | 2017-03-15 | 浪潮电子信息产业股份有限公司 | 一种任务分配方法及装置 |
CN107992359A (zh) * | 2017-11-27 | 2018-05-04 | 江苏海平面数据科技有限公司 | 一种云环境下代价感知的任务调度算法 |
US20210200587A1 (en) * | 2018-09-11 | 2021-07-01 | Huawei Technologies Co., Ltd. | Resource scheduling method and apparatus |
CN113010315A (zh) * | 2021-03-18 | 2021-06-22 | 中国邮政储蓄银行股份有限公司 | 资源分配方法及分配装置、计算机可读存储介质 |
CN115509734A (zh) * | 2021-06-23 | 2022-12-23 | 华为技术有限公司 | 一种数据处理方法、系统及相关设备 |
US20230186192A1 (en) * | 2021-12-10 | 2023-06-15 | Citrix Systems, Inc. | Intelligent task assignment and performance |
CN114579270A (zh) * | 2022-02-24 | 2022-06-03 | 北京理工大学 | 一种基于资源需求预测的任务调度方法及系统 |
CN115878260A (zh) * | 2022-10-14 | 2023-03-31 | 浙江数智交院科技股份有限公司 | 一种低碳自适应云主机任务调度系统 |
CN116185623A (zh) * | 2023-02-07 | 2023-05-30 | 北京百分点科技集团股份有限公司 | 任务分配方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
HAIYING SHEN等: "A Resource Usage Intensity Aware Load Balancing Method for Virtual Machine Migration in Cloud Datacenters", 《IEEE TRANSACTIONS ON CLOUD COMPUTING》, vol. 8, no. 1, 9 August 2017 (2017-08-09), pages 17 - 31, XP011776615, DOI: 10.1109/TCC.2017.2737628 * |
白杨: "基于混合集群的高性能计算作业感知与调度技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 10, 15 October 2023 (2023-10-15), pages 137 - 56 * |
马玲等: "基于强化学习的在线离线混部云环境下的调度框架", 《通信学报》, vol. 44, no. 06, 26 June 2023 (2023-06-26), pages 90 - 102 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806833A (zh) * | 2024-02-28 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种数据处理系统、方法及介质 |
CN117806833B (zh) * | 2024-02-28 | 2024-04-30 | 苏州元脑智能科技有限公司 | 一种数据处理系统、方法及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117407178B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096349B (zh) | 一种基于集群节点负载状态预测的作业调度方法 | |
US10474504B2 (en) | Distributed node intra-group task scheduling method and system | |
CN105718479B (zh) | 跨idc大数据处理架构下执行策略生成方法、装置 | |
CN117407178B (zh) | 一种自适应负载分配的加速子卡管理方法及系统 | |
CN105049268A (zh) | 分布式计算资源分配系统和任务处理方法 | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN112667376A (zh) | 任务调度处理方法、装置、计算机设备及存储介质 | |
CN105607952B (zh) | 一种虚拟化资源的调度方法及装置 | |
CN111176840A (zh) | 分布式任务的分配优化方法和装置、存储介质及电子装置 | |
CN116662010B (zh) | 基于分布式系统环境下的动态资源分配方法及系统 | |
CN115543624A (zh) | 异构算力编排调度方法、系统、设备及存储介质 | |
CN113568756A (zh) | 一种密码资源协同动态调度方法和系统 | |
CN116467076A (zh) | 一种基于集群可用资源的多集群调度方法及系统 | |
CN116185588A (zh) | 一种任务调度方法、装置、电子设备及可读存储介质 | |
CN114911604A (zh) | 资源调度方法、装置和管理设备 | |
CN117311973A (zh) | 计算设备调度方法、装置、非易失性存储介质及电子设备 | |
CN105872109B (zh) | 云平台负载运行方法 | |
CN116909751A (zh) | 一种云计算系统中的资源分配方法 | |
CN117149372A (zh) | 任务调度方法、装置、设备及存储介质 | |
Ray et al. | Is high performance computing (HPC) ready to handle big data? | |
CN115904708A (zh) | 一种ai平台动态加权调度方法、装置及存储介质 | |
CN112631577B (zh) | 一种模型的调度方法、模型调度器以及模型安全测试平台 | |
US20140047454A1 (en) | Load balancing in an sap system | |
CN113419863A (zh) | 一种基于节点能力的数据分配处理方法及装置 | |
CN112882805A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |