CN113485845A - 一种多线程人工智能资源分配方法及装置 - Google Patents

一种多线程人工智能资源分配方法及装置 Download PDF

Info

Publication number
CN113485845A
CN113485845A CN202110880434.5A CN202110880434A CN113485845A CN 113485845 A CN113485845 A CN 113485845A CN 202110880434 A CN202110880434 A CN 202110880434A CN 113485845 A CN113485845 A CN 113485845A
Authority
CN
China
Prior art keywords
artificial intelligence
processed
processing
target
targets
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.)
Withdrawn
Application number
CN202110880434.5A
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202110880434.5A priority Critical patent/CN113485845A/zh
Publication of CN113485845A publication Critical patent/CN113485845A/zh
Withdrawn legal-status Critical Current

Links

Images

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于人工智能技术领域,具体涉及一种多线程人工智能资源分配方法及装置。所述方法执行以下步骤:构建人工智能计算矩阵,所述人工智能计算矩阵中包括多个人工智能计算单元,所有人工智能计算单元以矩阵形式排列,并对每个人工智能计算单元进行编号。本发明通过将多个人工智能计算单元以矩阵行驶排列构建人工智能计算矩阵,以实现人工智能的并行运算,在运算过程中,将待处理目标分割成多个子目标,从而调用每个人工智能计算单元进行计算,提升处理效率,同时,使用资源分配权值来利用空置资源,以提升资源利用率,相较于传统技术,本发明在的处理速度有显著提升。

Description

一种多线程人工智能资源分配方法及装置
技术领域
本发明属于人工智能技术领域,具体涉及一种多线程人工智能资源分配方法及装置。
背景技术
人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
人工智能目前被大量引用于大型计算领域,包括:大数据和并行处理等领域。但人工智能因为对系统资源占用高,尤其在大型计算领域,因为需要处理的目标更大,往往会需要巨量资源来支撑。若能够对人工智能进行优化,保证人工智能能够以并行的方式处理,且能够将并行处理时,系统资源最大化利用,将答复提升人工智能的运算效率。
专利号为PCT/CN2018/072663的专利提供了一种人工智能并行处理方法,应用于处理模块,所述方法包括:令数据传输模块按照预设数据尺寸从外部存储模块中取出多个通道数据;令所述数据传输模块将取出的通道数据传输至卷积模块,供与多个卷积核矩阵进行并行卷积运算。
该发明通过实现并行卷积运算,无需等待一个卷积核矩阵的卷积运算结束之后再进行下一个卷积核矩阵的卷积运算,且通过卷积运算电路等硬件设备实现并行卷积运算,特别是面对大量的数据计算,相比于软件计算更能提升了卷积运算效率,但对系统资源的利用,并没有相对较好的办法,导致资源利用率较低。
发明内容
有鉴于此,本发明的主要目的在于提供一种多线程人工智能资源分配方法及装置,本发明通过将多个人工智能计算单元以矩阵行驶排列构建人工智能计算矩阵,以实现人工智能的并行运算,在运算过程中,将待处理目标分割成多个子目标,从而调用每个人工智能计算单元进行计算,提升处理效率,同时,使用资源分配权值来利用空置资源,以提升资源利用率,相较于传统技术,本发明在的处理速度有显著提升。
为达到上述目的,本发明的技术方案是这样实现的:
一种多线程人工智能资源分配方法,所述方法执行以下步骤:
步骤1:构建人工智能计算矩阵,所述人工智能计算矩阵中包括多个人工智能计算单元,所有人工智能计算单元以矩阵形式排列,并对每个人工智能计算单元进行编号;
步骤2:对完整待处理目标进行分块,得到多个分割后待处理目标,将每个分割后待处理目标进行编号;并为每个分割后待处理目标分配处理优先级;
步骤3:将编号相同的分割后待处理目标和人工智能计算单元进行关联,构成待分割后待处理目标和人工智能计算单元一一对应的映射关系;按照处理优先级,以固定的时延依次启动人工智能计算单元处理其对应的分割后待处理目标;同一优先级的分割后待处理目标所对应的人工智能计算单元同时启动;
步骤4:实时统计人工智能计算单元运行时的运行数据;基于得到的运行数据和同一优先级的其他人工智能计算单元的运行数据,确定当前正在处理的分割后待处理目标的资源分配权值;
步骤5:将空置资源提取出来,重新分配给人工智能计算矩阵中尚未启动的人工智能计算单元,并进行启动,按照资源分配权值从高到底,依次将新启动的人工智能计算单元,分配给分割后待处理目标;
步骤6:循环执行步骤4至步骤5;直到所有的分割后待处理目标处理完毕。
进一步的,所述运行数据包括:占用资源数据和空置资源数据。
进一步的,所述步骤2中对完整待处理目标进行分块,得到多个分割后待处理目标的方法包括:获取人工智能计算单元的本征参数;所述本征参数包括:处理速度、资源数量和负载上限;根据所述人工智能计算单元的处理速度、资源数量和负载上限将所述完整待处理目标分割为多个分割后待处理目标,所述分割后待处理目标的数目与所述人工智能计算单元的数目相同;建立所述人工智能计算单元与所述分割后待处理目标的一对一映射关系;根据所述映射关系将所述分割后待处理目标分配给相应的人工智能计算单元。
进一步的,所述人工智能计算单元的处理速度根据如下方式获得:获取各人工智能计算单元在历次任务中的处理速度;将每个处理历次任务处理过程中处理速度的平均值作为各人工智能计算单元的处理速度。
进一步的,所述根据所述人工智能计算单元的处理速度将所述完整待处理目标分割为多个分割后待处理目标,包括:
根据计算每个人工智能计算单元的处理速度与所有人工智能计算单元的总处理速度的比值得到多个第一分割阈值;根据所述多个第一分割阈值将所述完整待处理目标分割为多个分割后待处理目标,所述分割后待处理目标的任务复杂度与所述完整待处理目标的任务复杂度的第二分割阈值与所述第一分割阈值一一对应。
进一步的,所述建立所述人工智能计算单元与所述分割后待处理目标的一对一映射关系,包括:建立所述第一分割阈值对应的人工智能计算单元和与所述第一分割阈值相同的第二分割阈值对应的分割后待处理目标的映射关系。
进一步的,所述步骤4中基于得到的运行数据和同一优先级的其他人工智能计算单元的运行数据,确定当前正在处理的分割后待处理目标的资源分配权值的方法包括:使用如下公式计算正在处理的分割后代处理目标的资源分配权值:
Figure DEST_PATH_IMAGE001
;其中,
Figure DEST_PATH_IMAGE002
为当前正在处理的分割后待处理目标的资源分配权值;
Figure DEST_PATH_IMAGE003
为占用资源数据,
Figure DEST_PATH_IMAGE004
为空置资源数据;
Figure DEST_PATH_IMAGE005
Figure DEST_PATH_IMAGE006
Figure DEST_PATH_IMAGE007
Figure DEST_PATH_IMAGE008
均为调整系数,
Figure 816708DEST_PATH_IMAGE005
取值范围为:1~5;
Figure 733848DEST_PATH_IMAGE006
取值范围为:2~6;
Figure 703466DEST_PATH_IMAGE007
取值范围为:3~7;
Figure 36358DEST_PATH_IMAGE008
取值范围为:4~8;且需要满足:
Figure DEST_PATH_IMAGE009
Figure DEST_PATH_IMAGE010
为所有的人工智能计算单元的总的资源数据;
Figure DEST_PATH_IMAGE011
为所有的人工智能计算单元的空置资源数据。
进一步的,所述调整系数
Figure 162315DEST_PATH_IMAGE005
Figure 922460DEST_PATH_IMAGE006
Figure 189494DEST_PATH_IMAGE007
Figure 575345DEST_PATH_IMAGE008
均为整数;同时,当所有的人工智能计算单元,均处于满载状态时,须满足
Figure 371787DEST_PATH_IMAGE005
Figure 365151DEST_PATH_IMAGE006
Figure 57163DEST_PATH_IMAGE007
Figure 981126DEST_PATH_IMAGE008
相等。
进一步的,当每个人工智能计算单元完成对分割后待处理目标的后,将得到处理结果;所述处理结果将按照处理优先级从高到低进行传递,从高处理优先级的分割后待处理目标对应的人工智能计算单元传递至低处理优先级的分割后处理目标对应的人工智能计算单元;同时,同一处理优先级的分割后处理目标之间的处理结果也将在对应的同一处理优先级的分割后处理目标对应的人工智能计算单元之间进行传递。
多线程人工智能资源分配装置。
本发明的多线程人工智能资源分配方法及装置,具有如下有益效果:
1.计算效率高:本发明通过将多个人工智能计算单元组合成一个人工智能计算矩阵,然后将待处理的目标或任务分割成多个子目标或任务,再通过建立映射关系,使得每个人工智能计算单元和每个子目标或任务建立联系,以此来实现大规模并行的人工智能处理计算,提升了计算的效率,相较于传统的顺序执行,在处理大规模任务的时候具备显著优势。
2.资源利用率高:本发明在进行任务计算和处理时,基于资源分配权值,将各个人工会智能计算单元中的空置资源提取出来,再重新启动新的闲置的人工智能计算单元,再将这些闲置的人工智能计算单元,用于计算,在一方面,可以提升计算效率,因为有不断的人工智能计算单元加入到计算中,且系统资源的占用率保持不变;在另一方面,本发明还通过将空置资源提取出来,以避免空置资源的浪费,同时在空置资源分配的过程中,按照优先级来分配,可以保证任务的处理速度提升,且提升资源的利用率。
附图说明
图1为本发明实施例提供的多线程人工智能资源分配方法的方法流程示意图;
图2为本发明实施例提供的多线程人工智能资源分配方法及装置的完整待处理目标的分割原理示意图;
图3为本发明实施例提供的多线程人工智能资源分配方法及装置的处理结果的传递原理示意图;
图4为本发明实施例提供的多线程人工智能资源分配方法及装置的每个人工智能计算单元中的资源占用的原理示意图;
图5为本发明实施例提供的多线程人工智能资源分配方法及装置的资源空置率随着实验次数变化的曲线示意图与现有技术的对比实验效果示意图。
具体实施方式
下面结合附图及本发明的实施例对本发明的方法作进一步详细的说明。
实施例1
如图1、图2、图3、图4和图5所示,一种多线程人工智能资源分配方法,所述方法执行以下步骤:
步骤1:构建人工智能计算矩阵,所述人工智能计算矩阵中包括多个人工智能计算单元,所有人工智能计算单元以矩阵形式排列,并对每个人工智能计算单元进行编号;
步骤2:对完整待处理目标进行分块,得到多个分割后待处理目标,将每个分割后待处理目标进行编号;并为每个分割后待处理目标分配处理优先级;
步骤3:将编号相同的分割后待处理目标和人工智能计算单元进行关联,构成待分割后待处理目标和人工智能计算单元一一对应的映射关系;按照处理优先级,以固定的时延依次启动人工智能计算单元处理其对应的分割后待处理目标;同一优先级的分割后待处理目标所对应的人工智能计算单元同时启动;
步骤4:实时统计人工智能计算单元运行时的运行数据;基于得到的运行数据和同一优先级的其他人工智能计算单元的运行数据,确定当前正在处理的分割后待处理目标的资源分配权值;
步骤5:将空置资源提取出来,重新分配给人工智能计算矩阵中尚未启动的人工智能计算单元,并进行启动,按照资源分配权值从高到底,依次将新启动的人工智能计算单元,分配给分割后待处理目标;
步骤6:循环执行步骤4至步骤5;直到所有的分割后待处理目标处理完毕。
具体的,在图2中,完整待处理目标被分割成多个分割后待处理目标,这些分割后待处理目标以矩阵形式排列。优选地,分割后待处理目标组成的矩阵的排列方式与人工智能计算单元排列的方式一样,使得人工智能计算单元能够以一一映射的方式与分割后待处理目标关联。
在图4中,0~9的数字均代表人工智能计算单元,每个人工智能计算单元分配有系统,以供该人工智能计算单元调用,每个人工智能计算单元因为处理的分割后待处理目标的不同,使得其占用资源的比率也不同,因此不同的人工智能计算单元将出现比率不同的空置资源,通过调用这些空置资源,可以显著提升系统的资源利用率。
在图5中,现有技术在进行大规模任务处理时,分为两种情况,一种是不进行资源分配,在不进行资源分配的情况下,系统中将会出现大量的空置资源,导致资源利用率低。
而现有技术中进行资源分配,大都使用预分配模式,即根据每个任务和计算单元的情况来进行预先分配,这种分配方式,在随着任务进行,资源利用无法得到及时调整,也会导致资源利用率无法最大化的情况出现。
实施例2
在上一实施例的基础上,所述运行数据包括:占用资源数据和空置资源数据。
具体的,不要将系统资源和CPU资源(CPU使用率)相混淆,硬盘、光驱、软猫的数据处理、显卡的3D图像处理、声卡的3D音效处理占用的都是CPU时间(即消耗CPU资源),而不是系统资源,这些硬件设备的先进与否与占用系统资源的多少根本没有任何关系,可至今许多人还是将它们混为一谈。按习惯,谈到硬件的资源占用一般是指其CPU资源的占用,而软件的资源占用既包括CPU资源占用又包括系统资源(堆)占用,但计算机用户关心的一般是后者,因此谈到软件的资源占用时一般是指其对系统资源的占用。
实施例3
在上一实施例的基础上,所述步骤2中对完整待处理目标进行分块,得到多个分割后待处理目标的方法包括:获取人工智能计算单元的本征参数;所述本征参数包括:处理速度、资源数量和负载上限;根据所述人工智能计算单元的处理速度、资源数量和负载上限将所述完整待处理目标分割为多个分割后待处理目标,所述分割后待处理目标的数目与所述人工智能计算单元的数目相同;建立所述人工智能计算单元与所述分割后待处理目标的一对一映射关系;根据所述映射关系将所述分割后待处理目标分配给相应的人工智能计算单元。
具体的,人工智能在计算机上实现时有2种不同的方式。一种是采用传统的编程技术,使系统呈现智能的效果,而不考虑所用方法是否与人或动物机体所用的方法相同。这种方法叫工程学方法(ENGINEERING APPROACH),它已在一些领域内作出了成果,如文字识别、电脑下棋等。另一种是模拟法(MODELING APPROACH),它不仅要看效果,还要求实现方法也和人类或生物机体所用的方法相同或相类似。遗传算法(GENERIC ALGORITHM,简称GA)和人工神经网络(ARTIFICIAL NEURAL NETWORK,简称ANN)均属后一类型。遗传算法模拟人类或生物的遗传-进化机制,人工神经网络则是模拟人类或动物大脑中神经细胞的活动方式。为了得到相同智能效果,两种方式通常都可使用。采用前一种方法,需要人工详细规定程序逻辑,如果游戏简单,还是方便的。如果游戏复杂,角色数量和活动空间增加,相应的逻辑就会很复杂(按指数式增长),人工编程就非常繁琐,容易出错。而一旦出错,就必须修改原程序,重新编译、调试,最后为用户提供一个新的版本或提供一个新补丁,非常麻烦。采用后一种方法时,编程者要为每一角色设计一个智能系统(一个模块)来进行控制,这个智能系统(模块)开始什么也不懂,就像初生婴儿那样,但它能够学习,能渐渐地适应环境,应付各种复杂情况。这种系统开始也常犯错误,但它能吸取教训,下一次运行时就可能改正,至少不会永远错下去,用不到发布新版本或打补丁。利用这种方法来实现人工智能,要求编程者具有生物学的思考方法,入门难度大一点。但一旦入了门,就可得到广泛应用。由于这种方法编程时无须对角色的活动规律做详细规定,应用于复杂问题,通常会比前一种方法更省力。
实施例4
在上一实施例的基础上,所述人工智能计算单元的处理速度根据如下方式获得:获取各人工智能计算单元在历次任务中的处理速度;将每个处理历次任务处理过程中处理速度的平均值作为各人工智能计算单元的处理速度。
具体的,并行计算或称平行计算是相对于串行计算来说的。它是一种一次可执行多个指令的算法,目的是提高计算速度,及通过扩大问题求解规模,解决大型而复杂的计算问题。所谓并行计算可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。
实施例5
在上一实施例的基础上,所述根据所述人工智能计算单元的处理速度将所述完整待处理目标分割为多个分割后待处理目标,包括:
根据计算每个人工智能计算单元的处理速度与所有人工智能计算单元的总处理速度的比值得到多个第一分割阈值;根据所述多个第一分割阈值将所述完整待处理目标分割为多个分割后待处理目标,所述分割后待处理目标的任务复杂度与所述完整待处理目标的任务复杂度的第二分割阈值与所述第一分割阈值一一对应。
具体的,并行计算科学中主要研究的是空间上的并行问题。从程序和算法设计人员的角度来看,并行计算又可分为数据并行和任务并行。一般来说,因为数据并行主要是将一个大任务化解成相同的各个子任务,比任务并行要容易处理。
空间上的并行导致了两类并行机的产生,按照Flynn的说法分为:单指令流多数据流(SIMD)和多指令流多数据流(MIMD)。我们常用的串行机也叫做单指令流单数据流(SISD)。MIMD类的机器又可分为以下常见的五类:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、工作站机群(COW)、分布式共享存储处理机(DSM)。
实施例6
在上一实施例的基础上,所述建立所述人工智能计算单元与所述分割后待处理目标的一对一映射关系,包括:建立所述第一分割阈值对应的人工智能计算单元和与所述第一分割阈值相同的第二分割阈值对应的分割后待处理目标的映射关系。
具体的,
实施例7
在上一实施例的基础上,所述步骤4中基于得到的运行数据和同一优先级的其他人工智能计算单元的运行数据,确定当前正在处理的分割后待处理目标的资源分配权值的方法包括:使用如下公式计算正在处理的分割后代处理目标的资源分配权值:
Figure 629145DEST_PATH_IMAGE001
;其中,
Figure 58989DEST_PATH_IMAGE002
为当前正在处理的分割后待处理目标的资源分配权值;
Figure 238298DEST_PATH_IMAGE003
为占用资源数据,
Figure 513421DEST_PATH_IMAGE004
为空置资源数据;
Figure 343843DEST_PATH_IMAGE005
Figure 616692DEST_PATH_IMAGE006
Figure 345614DEST_PATH_IMAGE007
Figure 626027DEST_PATH_IMAGE008
均为调整系数,
Figure 124005DEST_PATH_IMAGE005
取值范围为:1~5;
Figure 833335DEST_PATH_IMAGE006
取值范围为:2~6;
Figure 783973DEST_PATH_IMAGE007
取值范围为:3~7;
Figure 853429DEST_PATH_IMAGE008
取值范围为:4~8;且需要满足:
Figure 143596DEST_PATH_IMAGE009
Figure 86145DEST_PATH_IMAGE010
为所有的人工智能计算单元的总的资源数据;
Figure 711030DEST_PATH_IMAGE011
为所有的人工智能计算单元的空置资源数据。
实施例8
在上一实施例的基础上,所述调整系数
Figure 131647DEST_PATH_IMAGE005
Figure 541900DEST_PATH_IMAGE006
Figure 655349DEST_PATH_IMAGE007
Figure 767531DEST_PATH_IMAGE008
均为整数;同时,当所有的人工智能计算单元,均处于满载状态时,须满足
Figure 929522DEST_PATH_IMAGE005
Figure 305533DEST_PATH_IMAGE006
Figure 527567DEST_PATH_IMAGE007
Figure 940093DEST_PATH_IMAGE008
相等。
实施例9
在上一实施例的基础上,当每个人工智能计算单元完成对分割后待处理目标的后,将得到处理结果;所述处理结果将按照处理优先级从高到低进行传递,从高处理优先级的分割后待处理目标对应的人工智能计算单元传递至低处理优先级的分割后处理目标对应的人工智能计算单元;同时,同一处理优先级的分割后处理目标之间的处理结果也将在对应的同一处理优先级的分割后处理目标对应的人工智能计算单元之间进行传递。
具体的,在图2中,A、B、C、D、E和F均代表人工智能计算单元,处理结果既可以从高处理优先级的分割后待处理目标对应的人工智能计算单元传递至低处理优先级的分割后处理目标对应的人工智能计算单元。同一处理优先级的分割后处理目标之间的处理结果也将在对应的同一处理优先级的分割后处理目标对应的人工智能计算单元之间进行传递。
实施例10
多线程人工智能资源分配装置。
需要说明的是,上述实施例提供的系统,仅以上述各功能单元的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能单元来完成,即将本发明实施例中的单元或者步骤再分解或者组合,例如,上述实施例的单元可以合并为一个单元,也可以进一步拆分成多个子单元,以完成以上描述的全部或者单元功能。对于本发明实施例中涉及的单元、步骤的名称,仅仅是为了区分各个单元或者步骤,不视为对本发明的不当限定。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员应能够意识到,结合本文中所公开的实施例描述的各示例的单元、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件单元、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
术语“第一”、“另一部分”等是配置用于区别类似的对象,而不是配置用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者单元/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者单元/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术标记作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
以上所述,仅为本发明的较佳实施例而已,并非配置用于限定本发明的保护范围。

Claims (10)

1.一种多线程人工智能资源分配方法,其特征在于,所述方法执行以下步骤:
步骤1:构建人工智能计算矩阵,所述人工智能计算矩阵中包括多个人工智能计算单元,所有人工智能计算单元以矩阵形式排列,并对每个人工智能计算单元进行编号;
步骤2:对完整待处理目标进行分块,得到多个分割后待处理目标,将每个分割后待处理目标进行编号;并为每个分割后待处理目标分配处理优先级;
步骤3:将编号相同的分割后待处理目标和人工智能计算单元进行关联,构成待分割后待处理目标和人工智能计算单元一一对应的映射关系;按照处理优先级,以固定的时延依次启动人工智能计算单元处理其对应的分割后待处理目标;同一优先级的分割后待处理目标所对应的人工智能计算单元同时启动;
步骤4:实时统计人工智能计算单元运行时的运行数据;基于得到的运行数据和同一优先级的其他人工智能计算单元的运行数据,确定当前正在处理的分割后待处理目标的资源分配权值;
步骤5:将空置资源提取出来,重新分配给人工智能计算矩阵中尚未启动的人工智能计算单元,并进行启动,按照资源分配权值从高到底,依次将新启动的人工智能计算单元,分配给分割后待处理目标;
步骤6:循环执行步骤4至步骤5;直到所有的分割后待处理目标处理完毕。
2.如权利要求1所述的方法,其特征在于,所述运行数据包括:占用资源数据和空置资源数据。
3.如权利要求2所述的方法,其特征在于,所述步骤2中对完整待处理目标进行分块,得到多个分割后待处理目标的方法包括:获取人工智能计算单元的本征参数;所述本征参数包括:处理速度、资源数量和负载上限;根据所述人工智能计算单元的处理速度、资源数量和负载上限将所述完整待处理目标分割为多个分割后待处理目标,所述分割后待处理目标的数目与所述人工智能计算单元的数目相同;建立所述人工智能计算单元与所述分割后待处理目标的一对一映射关系;根据所述映射关系将所述分割后待处理目标分配给相应的人工智能计算单元。
4.如权利要求3所述的方法,其特征在于,所述人工智能计算单元的处理速度根据如下方式获得:获取各人工智能计算单元在历次任务中的处理速度;将每个处理历次任务处理过程中处理速度的平均值作为各人工智能计算单元的处理速度。
5.如权利要求4所述的方法,其特征在于,所述根据所述人工智能计算单元的处理速度将所述完整待处理目标分割为多个分割后待处理目标,包括:
根据计算每个人工智能计算单元的处理速度与所有人工智能计算单元的总处理速度的比值得到多个第一分割阈值;根据所述多个第一分割阈值将所述完整待处理目标分割为多个分割后待处理目标,所述分割后待处理目标的任务复杂度与所述完整待处理目标的任务复杂度的第二分割阈值与所述第一分割阈值一一对应。
6.如权利要求5所述的方法,其特征在于,所述建立所述人工智能计算单元与所述分割后待处理目标的一对一映射关系,包括:建立所述第一分割阈值对应的人工智能计算单元和与所述第一分割阈值相同的第二分割阈值对应的分割后待处理目标的映射关系。
7.如权利要求6所述的方法,其特征在于,所述步骤4中基于得到的运行数据和同一优先级的其他人工智能计算单元的运行数据,确定当前正在处理的分割后待处理目标的资源分配权值的方法包括:使用如下公式计算正在处理的分割后代处理目标的资源分配权值:
Figure 235377DEST_PATH_IMAGE001
;其中,
Figure 183742DEST_PATH_IMAGE002
为当前正在处理的分割后待处理目标的资源分配权值;
Figure 151698DEST_PATH_IMAGE003
为占用资源数据,
Figure 434780DEST_PATH_IMAGE004
为空置资源数据;
Figure 146384DEST_PATH_IMAGE005
Figure 949255DEST_PATH_IMAGE006
Figure 277993DEST_PATH_IMAGE007
Figure 799104DEST_PATH_IMAGE008
均为调整系数,
Figure 235771DEST_PATH_IMAGE005
取值范围为:1~5;
Figure 221044DEST_PATH_IMAGE006
取值范围为:2~6;
Figure 468486DEST_PATH_IMAGE007
取值范围为:3~7;
Figure 539210DEST_PATH_IMAGE008
取值范围为:4~8;且需要满足:
Figure 779567DEST_PATH_IMAGE009
Figure 557031DEST_PATH_IMAGE010
为所有的人工智能计算单元的总的资源数据;
Figure 37691DEST_PATH_IMAGE011
为所有的人工智能计算单元的空置资源数据。
8.如权利要求7所述的方法,其特征在于,所述调整系数
Figure 517082DEST_PATH_IMAGE005
Figure 374180DEST_PATH_IMAGE006
Figure 6149DEST_PATH_IMAGE007
Figure 847591DEST_PATH_IMAGE008
均为整数;同时,当所有的人工智能计算单元,均处于满载状态时,须满足
Figure 892907DEST_PATH_IMAGE005
Figure 225800DEST_PATH_IMAGE006
Figure 961544DEST_PATH_IMAGE007
Figure 49585DEST_PATH_IMAGE008
相等。
9.如权利要求8所述的方法,其特征在于,当每个人工智能计算单元完成对分割后待处理目标的后,将得到处理结果;所述处理结果将按照处理优先级从高到低进行传递,从高处理优先级的分割后待处理目标对应的人工智能计算单元传递至低处理优先级的分割后处理目标对应的人工智能计算单元;同时,同一处理优先级的分割后处理目标之间的处理结果也将在对应的同一处理优先级的分割后处理目标对应的人工智能计算单元之间进行传递。
10.用于实现权利要求1至9之一所述方法的多线程人工智能资源分配装置。
CN202110880434.5A 2021-08-02 2021-08-02 一种多线程人工智能资源分配方法及装置 Withdrawn CN113485845A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110880434.5A CN113485845A (zh) 2021-08-02 2021-08-02 一种多线程人工智能资源分配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110880434.5A CN113485845A (zh) 2021-08-02 2021-08-02 一种多线程人工智能资源分配方法及装置

Publications (1)

Publication Number Publication Date
CN113485845A true CN113485845A (zh) 2021-10-08

Family

ID=77943904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110880434.5A Withdrawn CN113485845A (zh) 2021-08-02 2021-08-02 一种多线程人工智能资源分配方法及装置

Country Status (1)

Country Link
CN (1) CN113485845A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117634711A (zh) * 2024-01-25 2024-03-01 北京壁仞科技开发有限公司 张量维度切分方法、系统、设备和介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117634711A (zh) * 2024-01-25 2024-03-01 北京壁仞科技开发有限公司 张量维度切分方法、系统、设备和介质
CN117634711B (zh) * 2024-01-25 2024-05-14 北京壁仞科技开发有限公司 张量维度切分方法、系统、设备和介质

Similar Documents

Publication Publication Date Title
CN109993299B (zh) 数据训练方法及装置、存储介质、电子装置
CN104036451B (zh) 基于多图形处理器的模型并行处理方法及装置
WO2022068663A1 (zh) 内存分配方法、相关设备及计算机可读存储介质
Luo et al. A parallel Bees Algorithm implementation on GPU
CN110502330A (zh) 处理器及处理方法
CN112328380A (zh) 一种基于异构计算的任务调度方法及装置
CN106951926A (zh) 一种混合架构的深度学习系统方法及装置
CN115543639A (zh) 分布式执行深度学习任务的优化方法和分布式系统
CN111488177A (zh) 数据处理方法、装置、计算机设备和存储介质
Haefner Parallel computers and individual-based models: an overview
Krömer et al. A comparison of many-threaded differential evolution and genetic algorithms on CUDA
CN116644804A (zh) 分布式训练系统、神经网络模型训练方法、设备和介质
CN113485845A (zh) 一种多线程人工智能资源分配方法及装置
Figueiredo et al. Parallel fine-grained comparison of long dna sequences in homogeneous and heterogeneous gpu platforms with pruning
Jovanovic et al. Parallelization of the cuckoo search using cuda architecture
Lins et al. Analysis of the performance of the fish school search algorithm running in graphic processing units
Morchdi et al. A Resource-efficient Task Scheduling System using Reinforcement Learning
Xu et al. Decentralized remapping of data parallel applications in distributed memory multiprocessors
CN108062249A (zh) 基于大数据的云端数据分配调度方法
CN110415162B (zh) 大数据中面向异构融合处理器的自适应图划分方法
Topa Cellular automata model tuned for efficient computation on GPU with global memory cache
Pan et al. An improved artificial chemical reaction optimization algorithm for job scheduling problem in grid computing environments
Bastos-Filho et al. Running particle swarm optimization on graphic processing units
CN113806077A (zh) 基于人工智能的数据中心服务器调控方法及装置
Srikanth et al. Task scheduling model

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20211008