CN117112201A - 硬件资源调度方法、装置、计算机设备和存储介质 - Google Patents

硬件资源调度方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN117112201A
CN117112201A CN202310952656.2A CN202310952656A CN117112201A CN 117112201 A CN117112201 A CN 117112201A CN 202310952656 A CN202310952656 A CN 202310952656A CN 117112201 A CN117112201 A CN 117112201A
Authority
CN
China
Prior art keywords
task
switch control
memory
processed
control signal
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
CN202310952656.2A
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.)
China Telecom Technology Innovation Center
China Telecom Corp Ltd
Original Assignee
China Telecom Technology Innovation Center
China Telecom Corp 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 China Telecom Technology Innovation Center, China Telecom Corp Ltd filed Critical China Telecom Technology Innovation Center
Priority to CN202310952656.2A priority Critical patent/CN117112201A/zh
Publication of CN117112201A publication Critical patent/CN117112201A/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/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/5011Allocation 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本申请涉及一种硬件资源调度方法、装置、计算机设备和存储介质。方法包括:接收待处理任务的任务执行指令;对任务执行指令进行解析,得到任务资源需求;任务资源需求用以指示执行待处理任务所需的目标硬件资源;根据任务资源需求确定开关控制信号;通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列;在执行待处理任务的过程中,通过目标存算阵列提供目标硬件资源。采用本方法能够降低了执行待处理任务所需算力的硬件成本,提高硬件资源的利用率。

Description

硬件资源调度方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种硬件资源调度方法、装置、计算机设备和存储介质。
背景技术
在处理复杂任务时,例如在训练人工智能模型ChatGpt(chat Generative Pre-trained Transformer,生成型预训练变换模型)时,需要用到足够的算力。传统的硬件资源调度方法中,往往采用传统CPU(Central Processing Unit,中央处理器)+GPU(GraphicProcessing Unit,图形处理单元)架构,即将CPU和GPU作为独立的处理器芯片直接插在主板上,CPU和GPU之间通过专用的板级互联接口进行通信和数据传输,例如PCIe(PeripheralComponent Interconnect express,高速串行计算机扩展总线标准)接口;CPU负责控制和串行计算、GPU负责并行计算,通过CPU和GPU的协同工作,为处理复杂任务提供算力。
然而,由于传统CPU+GPU架构需要在主板上集成独立的CPU和GPU芯片,并通过相应的板级互联接口才能提供处理复杂任务所需的算力,这会增加处理复杂任务所需的算力的硬件成本。
因此,亟需一种能降低硬件成本的硬件资源调度方案。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低硬件成本的硬件资源调度方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种硬件资源调度方法,应用于存算一体加速器;存算一体加速器集成有模块芯片化的存算阵列;存算阵列之间相连接形成片间互联网络;方法包括:
接收待处理任务的任务执行指令;
对任务执行指令进行解析,得到任务资源需求;任务资源需求用以指示执行待处理任务所需的目标硬件资源;
根据任务资源需求确定开关控制信号;
通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列;
在执行待处理任务的过程中,通过目标存算阵列提供目标硬件资源。
在一些实施例中,根据任务资源需求确定开关控制信号,包括:
根据任务资源需求确定执行待处理任务所需的目标算力;
根据目标算力确定开关控制信号。
在一些实施例中,存算阵列为多个;根据目标算力确定开关控制信号,包括:
若目标算力满足第一算力条件,则生成与第一算力条件相匹配的第一开关控制信号;
通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列,包括:
通过片间互联网络向多个存算阵列发送第一开关控制信号,以通过第一开关控制信号打开多个存算阵列对应的连接开关,并将打开连接开关的多个存算阵列确定为执行待处理任务的目标存算阵列。
在一些实施例中,每个存算阵列包括多个存算单元;根据目标算力确定开关控制信号,包括:
若目标算力满足第二算力条件,则生成与第二算力条件相匹配的第二开关控制信号;
通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,以确定用于执行待处理任务的目标存算阵列,包括:
通过片间互联网络向至少一个存算阵列发送第二开关控制信号,以通过第二开关控制信号关闭存算阵列中的至少一个存算单元对应的连接开关,并将关闭连接开关的至少一个存算单元所在的存算阵列确定为执行待处理任务的目标存算阵列。
在一些实施例中,存算一体加速器还集成有模块芯片化的片间互联网络的线路控制器;
根据任务资源需求确定开关控制信号,包括:
片间互联网络的线路控制器根据任务资源需求确定开关控制信号。
在一些实施例中,存算一体加速器还集成有模块芯片化的中央处理器;
接收待处理任务的任务执行指令,包括:
中央处理器接收待处理任务的任务执行指令;
对任务执行指令进行解析,得到任务资源需求,包括:
中央处理器对任务执行指令进行解析,得到任务资源需求。
在一些实施例中,存算一体加速器还集成有模块芯片化的高宽带存储器;方法还包括:
中央处理器将接收的待处理任务的任务数据缓存在高宽带存储器中;
在执行待处理任务的过程中,片间互联网络的线路控制器从高宽带存储器中读取任务数据,并将任务数据发送至目标存算阵列;
目标存算阵列对任务数据进行计算,得到计算结果,并将计算结果发送至片间互联网络的线路控制器;
片间互联网络的线路控制器将计算结果发送至高宽带存储器;
中央处理器从高宽带存储器中读取并整合计算结果。
第二方面,本申请还提供了一种硬件资源调度装置,其特征在于,设置于存算一体加速器;存算一体加速器集成有模块芯片化的存算阵列;存算阵列之间相连接形成片间互联网络;装置包括:
接收模块,用于接收待处理任务的任务执行指令;对任务执行指令进行解析,得到任务资源需求;任务资源需求用以指示执行待处理任务所需的目标硬件资源;
确定模块,用于根据任务资源需求确定开关控制信号;通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列;
提供模块,用于在执行待处理任务的过程中,通过目标存算阵列提供目标硬件资源。
第三方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
上述硬件资源调度方法、装置、计算机设备、存储介质和计算机程序产品,通过集成有模块芯片化的存算阵列的存算一体加速器,在接收到待处理任务的任务执行指令时,对任务执行指令进行解析,得到任务资源需求,根据任务资源需求确定开关控制信号,并通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列,在执行待处理任务的过程中,通过目标存算阵列提供目标硬件资源,即相较于传统方法需要使用额外的板级互联接口才能执行待处理任务,本申请无需额外的板级互联接口,通过存算一体加速器就可得到为执行待处理任务提供所需的目标存算阵列,进而降低了执行待处理任务所需算力的硬件成本。此外,根据任务资源需求分配目标存算阵列,以通过目标存算阵列提供执行待处理任务所需的硬件资源,实现了硬件资源的按需分配,进而提高了硬件资源的利用率。
附图说明
图1为一个实施例中硬件资源调度方法的应用环境图;
图2为一个实施例中存算一体加速器的结构示意图;
图3为另一个实施例中存算一体加速器的结构示意图;
图4为一个实施例中硬件资源调度装置的结构框图;
图5为一个实施例中确定模块的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
传统的硬件资源调度方法中,采用传统CPU(Central Processing Unit,中央处理器)+GPU(Graphic Processing Unit,图形处理单元)架构,即将CPU和GPU作为独立的处理器芯片直接插在主板上,CPU与GPU之间通过专用的板级互联接口进行通信和数据传输,例如PCIe(Peripheral Component Interconnect express,高速串行计算机扩展总线标准)接口;CPU负责控制和串行计算、GPU负责并行计算,通过CPU和GPU的协同工作,为处理复杂任务提供算力时,由于CPU与GPU之间需要额外的板级互联接口才能进行数据传输,这会增加处理复杂任务所需算力的硬件成本。
而本申请正是针对上述问题所提出的解决方案,通过使用集成有模块芯片化的存算阵列、且存算阵列之间相连接形成片间互联网络的存算一体加速器,在接收到待处理任务的任务执行指令时,对任务执行指令进行解析,得到任务资源需求,根据任务资源需求确定开关控制信号,并通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列,在执行待处理任务的过程中,通过目标存算阵列提供目标硬件资源,即相较于传统的硬件资源调度方法需要使用额外的板级互联接口才能执行待处理任务,本申请无需额外的板级互联接口,通过存算一体加速器就可得到为执行待处理任务提供所需的目标存算阵列,进而降低了执行待处理任务所需算力的硬件成本。
其中,存算一体加速器是一种集成了存储和计算功能的高性能处理器。可以理解,传统的CPU+GPU架构中,存储器和计算器是分离的。数据需要从存储器中加载到计算器中进行操作,然后再将计算结果存储回存储器。而本申请中的存算一体加速器将存储和计算功能集成在同一芯片上,通过内存计算的方式,就可以在存储器中直接进行计算。
模块芯片化(chiplet化)的存算阵列(Compute-In-Memory Array),也称为模块芯片化的内存计算阵列,是一种计算架构,将计算单元与存储单元结合在一起。它借助于存储阵列的硬件,具备在数据存储位置进行数据处理和计算的能力。
chiplet化是一种先进的芯片设计和制造方法,通过将整个芯片拆分为多个独立的芯片片区,在提供灵活性和定制能力的同时,可以降低成本并提高性能和效率。通过将存算阵列Chiplet化,可以更灵活地组合和配置存算阵列,以适应不同的应用需求。
在一些实施例中,如图1所示,提供了一种硬件资源调度方法,以该方法应用于存算一体加速器为例进行说明,其中,存算一体加速器集成有模块芯片化的存算阵列;存算阵列之间相连接形成片间互联网络;包括以下步骤:
步骤101、接收待处理任务的任务执行指令。
其中,任务执行指令是用于执行待处理任务的指令。
待处理任务是需要存算一体加速器提供算力的任务。例如待处理任务可以是训练人工智能模型、大数据分析、建模等等。待处理任务的具体内容跟应用需求有关,本实施例在此不作限定。
示例性地,服务器需要算力执行待处理任务时,向存算一体加速器发送任务执行指令,以通过任务执行指令获取执行待处理任务所需的算力。
步骤102、对任务执行指令进行解析,得到任务资源需求;任务资源需求用以指示执行待处理任务所需的目标硬件资源。
示例性地,存算一体加速器对任务执行指令进行解析,得到任务资源需求,即对任务执行指令进行解析,以确定在执行待处理任务的过程中需要用到存算一体加速器的哪些硬件资源。
步骤103、根据任务资源需求确定开关控制信号。
其中,开关控制信号是用于控制存算阵列的开关的控制信号。
示例性地,存算一体加速器根据任务资源需求确定执行待处理任务所需的算力,并根据目标算力确定开关控制信号,以通过开关控制信号控制存算阵列的开关,从而提供执行待处理任务所需的算力。
步骤104、通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列。
示例性地,存算一体加速器通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列,即通过开关控制信号控制存算阵列的打开或关闭,实现多个存算阵列的聚合或者是实现存算阵列的切分,将聚合后的存算阵列或切分后的存算阵列确定为执行待处理任务的目标存算阵列。
步骤105、在执行待处理任务的过程中,通过目标存算阵列提供目标硬件资源。
示例性地,在确定好用于执行待处理任务的目标存算阵列后,从服务器处获取待处理任务的任务数据。在执行待处理任务的过程中,通过目标存算阵列提供目标硬件资源,即通过目标存算阵列提供执行待处理任务所需的算力。
上述硬件资源调度方法,通过集成有模块芯片化的存算阵列的存算一体加速器,在接收到待处理任务的任务执行指令时,对任务执行指令进行解析,得到任务资源需求,根据任务资源需求确定开关控制信号,并通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列,在执行待处理任务的过程中,通过目标存算阵列提供目标硬件资源,即相较于传统方法需要使用额外的板级互联接口才能执行待处理任务,本申请无需额外的板级互联接口,通过存算一体加速器就可得到为执行待处理任务提供所需的目标存算阵列,进而降低了执行待处理任务所需算力的硬件成本。
其次,根据任务资源需求分配目标存算阵列,以通过目标存算阵列提供执行待处理任务所需的硬件资源,实现了硬件资源的按需分配,进而提高了硬件资源的利用率。
此外,传统的硬件资源调度方法中,由于CPU与GPU之间是通过额外的板级互联接口进行数据传输,因此当将数据从CPU传输到GPU时,需要经过繁琐的数据拷贝操作,这导致了额外的带宽消耗。而本申请通过存算一体加速器为执行待处理任务提供所需的目标存算阵列,在执行处理任务的过程中,不仅可以直接通过目标存算阵列执行待处理任务,还可以将执行待处理任务的执行结果存储于目标存算阵列,从而无需消耗额外的带宽,降低了整体的运算功耗。
在一些实施例中,根据任务资源需求确定开关控制信号,包括:根据任务资源需求确定执行待处理任务所需的目标算力;根据目标算力确定开关控制信号。
可以理解,由于执行不同待处理任务所需要的目标算力不同,因此分配执行待处理任务所需的目标硬件资源时,需要根据任务资源需求确定执行待处理任务所需的目标算力,根据目标算力确定开关控制信号,从而使得分配的目标硬件资源与待处理任务所需的目标算力相匹配,进而能实现硬件资源的按需分配,提高硬件资源的利用率。
在一些实施例中,存算阵列为多个;根据目标算力确定开关控制信号,包括:若目标算力满足第一算力条件,则生成与第一算力条件相匹配的第一开关控制信号。通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列,包括:通过片间互联网络向多个存算阵列发送第一开关控制信号,以通过第一开关控制信号打开多个存算阵列对应的连接开关,并将打开连接开关的多个存算阵列确定为执行待处理任务的目标存算阵列。
示例性地,若目标算力满足第一算力条件,则表明执行待处理任务所需的目标算力为大算力,则生成与第一算力条件相匹配的第一开关控制信号,并通过片间互联网络向多个存算阵列发送第一开关控制信号,以通过第一开关控制信号打开多个存算阵列对应的连接开关,即通过打开连接开关的多个存算阵列提供算力,从而实现了算力聚合,并将打开连接开关的多个存算阵列确定为执行待处理任务的目标存算阵列。
上述实施例中,生成与第一算力条件相匹配的第一开关控制信号,通过第一开关控制信号打开多个存算阵列对应的连接开关,从而实现了算力聚合。
在一些实施例中,每个存算阵列包括多个存算单元;根据目标算力确定开关控制信号,包括:若目标算力满足第二算力条件,则生成与第二算力条件相匹配的第二开关控制信号。通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,以确定用于执行待处理任务的目标存算阵列,包括:通过片间互联网络向至少一个存算阵列发送第二开关控制信号,以通过第二开关控制信号关闭存算阵列中的至少一个存算单元对应的连接开关,并将关闭连接开关的至少一个存算单元所在的存算阵列确定为执行待处理任务的目标存算阵列。
示例性地,若目标算力满足第二算力条件,则表明执行待处理任务所需的目标算力为小算力,则生成与第二算力条件相匹配的第二开关控制信号,并通过片间互联网络向至少一个存算阵列发送第二开关控制信号,以通过第二开关控制信号关闭存算阵列中的至少一个存算单元对应的连接开关,即使得关闭连接开关的至少一个存算单元无法提供算力,从而实现了算力切分,并将关闭连接开关的至少一个存算单元所在的存算阵列确定为执行待处理任务的目标存算阵列。
需要说明的是,每个存算阵列中的存算单元是均匀分布的,因此通过第一开关控制信号可以关闭存算单元的连接开关,从而实现存算单元的分割和数据隔离,实现算力的切分,提高硬件资源的利用率。
上述实施例中,生成与第二算力条件相匹配的第二开关控制信号,通过第二开关控制信号关闭存算阵列中的至少一个存算单元对应的连接开关,从而实现了算力切分。
在一些实施例中,存算一体加速器还集成有模块芯片化的片间互联网络的线路控制器;根据任务资源需求确定开关控制信号,包括:片间互联网络的线路控制器根据任务资源需求确定开关控制信号。
其中,片间互联网络的线路控制器是用于管理和控制片间互联网络的控制器,用于确定并发送开关控制信号至存算阵列,以对存算阵列进行开关控制;从高宽带存储器中读取任务数据,并将任务数据发送至目标存算阵列;接收对任务数据进行计算得到的计算结果,并将计算结果发送给高宽带存储器。
在一些实施例中,存算一体加速器还集成有模块芯片化的中央处理器;接收待处理任务的任务执行指令,包括:中央处理器接收待处理任务的任务执行指令。对任务执行指令进行解析,得到任务资源需求,包括:中央处理器对任务执行指令进行解析,得到任务资源需求。
其中,模块芯片化(chiplet化)的中央处理器是指将中央处理器拆分为多个独立的芯片片区来实现功能的分离和优化。通过将中央处理器chiplet化,可以更灵活地组合和配置中央处理器,以适应不同的应用需求。
在一些实施例中,存算一体加速器还集成有模块芯片化的高宽带存储器;方法还包括:中央处理器将接收的待处理任务的任务数据缓存在高宽带存储器中;在执行待处理任务的过程中,片间互联网络的线路控制器从高宽带存储器中读取任务数据,并将任务数据发送至目标存算阵列;目标存算阵列对任务数据进行计算,得到计算结果,并将计算结果发送至片间互联网络的线路控制器;片间互联网络的线路控制器将计算结果发送至高宽带存储器;中央处理器从高宽带存储器中读取并整合计算结果。
其中,模块芯片化(chiplet化)的高宽带存储器是指将高宽带存储器拆分为多个独立的芯片片区来实现功能的分离和优化。通过将高宽带存储器chiplet化,可以更灵活地组合和配置高宽带存储器,以适应不同的应用需求。模块芯片化的高宽带存储器用于存储待处理任务的任务数据,为模块芯片化的存算阵列提供高宽带缓存。但由于存算阵列同时具备计算和存储的功能,因此存储阵列与高宽带缓存器之间不需要进行频繁的数据交互。
在一些实施例中,以通信接口协议是UCIe协议(Universal Control Interfaceextension,通用控制接口扩展协议),待处理任务是训练人工智能模型chatgpt(chatGenerative Pre-trained Transformer,生成型预训练变换模型)为例,如图3所示,提供了另一种存算一体加速器的结构示意图,其中:
存算一体加速器中的模块芯片化的中央处理器21(以下简称中央处理器21)、模块芯片化的片间互联网络的线路控制器22(以下简称片间互联网络的线路控制器22)、模块芯片化的存算阵列23(以下简称存算阵列23)、模块芯片化的高宽带存储器24(以下简称高宽带存储器24)之间通过UCIe协议相连接形成片间互联网络。并且,每个存算阵列23包括多个存算单元。
当服务器需要算力训练人工智能模型chatgpt时,向中央处理器21发送训练chatgpt的任务执行指令和训练chatgpt的任务数据。其中,任务数据包括chatgpt的权重信息。中央处理器21接收训练chatgpt的任务执行指令;对任务执行指令进行解析,得到任务资源需求;以及将训练chatgpt的任务数据缓存在高宽带存储器24中。片间互联网络的线路控制器22实时获取当前可用的存算阵列23,并根据任务资源需求对存算阵列23进行算力聚合或算力切分,以得到目标存算阵列。目标存算阵列从高宽带存储器24中获取chatgpt的任务数据,并对chatgpt的任务数据进行计算得到计算结果。
在一些实施例中,当执行待处理任务所需的目标算力为大算力时,对存算阵列进行算力聚合的步骤,包括:通过片间互联网络向多个存算阵列23发送第一开关控制信号,以通过第一开关控制信号打开多个存算阵列23对应的连接开关,从而实现算力聚合。
在一些实施例中,当执行待处理任务所需的目标算力为小算力时,对存算阵列进行算力切分的步骤,包括:通过片间互联网络向至少一个存算阵列23发送第二开关控制信号,以通过第二开关控制信号关闭存算阵列23中的至少一个存算单元对应的连接开关,从而实现算力切分。
在一些实施例中,如图3所示,提供了一种存算一体加速器的结构示意图,其中,存算一体加速器包括模块芯片化的中央处理器31(以下简称中央处理器31)、模块芯片化的片间互联网络的线路控制器32(以下简称片间互联网络的线路控制器32)、模块芯片化的存算阵列33(以下简称存算阵列33)和模块芯片化的高宽带存储器34(以下简称高宽带存储器34)。各存算阵列33之间通过通信接口协议,相连接形成片间互联网络。片间互联网络为各存算阵列33提供高速互联。需要说明的是,中央处理器31、片间互联网络的线路控制器32和高宽带存储器34通过通信接口协议相连接也会形成片间互联网络。
继续参照图3,对存算一体加速器如何实现硬件资源调度方法做进一步的说明,其中:
当服务器主机(图中未示出)需要算力执行待处理任务时,服务器主机向中央处理器31发送待处理任务的任务执行指令和任务数据。中央处理器31接收到任务执行指令后,对任务执行指令进行解析,得到任务资源需求,并将任务资源需求发送给片间互联网络的线路控制器32。中央处理器31还将接收的待处理任务的任务数据缓存在高宽带存储器34中。片间互联网络的线路控制器32根据任务资源需求确定开关控制信号,通过片间互联网络向存算阵列33发送开关控制信号,以通过开关控制信号对存算阵列33进行开关控制,确定用于执行待处理任务的目标存算阵列。在执行待处理任务的过程中,片间互联网络的线路控制器32从高宽带存储器34中读取任务数据,并将任务数据发送至目标存算阵列33。目标存算阵列33对任务数据进行计算,得到计算结果,并将计算结果发送至片间互联网络的线路控制器32。片间互联网络的线路控制器32将计算结果发送至高宽带存储器34。中央处理器31从高宽带存储器34中读取并整合计算结果,并将整合后的计算结果返回给服务器主机。
上述硬件资源调度方法,通过集成有模块芯片化的存算阵列的存算一体加速器,在接收到待处理任务的任务执行指令时,对任务执行指令进行解析,得到任务资源需求,根据任务资源需求确定开关控制信号,并通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列,在执行待处理任务的过程中,通过目标存算阵列提供目标硬件资源,即相较于传统方法需要使用额外的板级互联接口才能执行待处理任务,本申请无需额外的板级互联接口,通过存算一体加速器就可得到为执行待处理任务提供所需的目标存算阵列,进而降低了执行待处理任务所需算力的硬件成本。此外,根据任务资源需求分配目标存算阵列,以通过目标存算阵列提供执行待处理任务所需的硬件资源,实现了硬件资源的按需分配,进而提高了硬件资源的利用率。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的硬件资源调度方法的硬件资源调度装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个硬件资源调度装置实施例中的具体限定可以参见上文中对于硬件资源调度方法的限定,在此不再赘述。
在一些实施例中,如图4所示,提供了一种硬件资源调度装置,设置于存算一体加速器;存算一体加速器集成有模块芯片化的存算阵列;存算阵列之间相连接形成片间互联网络;该装置包括接收模块401、确定模块402和提供模块403,其中:
接收模块401,用于接收待处理任务的任务执行指令;对任务执行指令进行解析,得到任务资源需求;任务资源需求用以指示执行待处理任务所需的目标硬件资源。
确定模块402,用于根据任务资源需求确定开关控制信号;通过片间互联网络向存算阵列发送开关控制信号,以通过开关控制信号对存算阵列进行开关控制,确定用于执行待处理任务的目标存算阵列。
提供模块403,用于在执行待处理任务的过程中,通过目标存算阵列提供目标硬件资源。
在一些实施例中,确定模块402用于根据任务资源需求确定执行待处理任务所需的目标算力;根据目标算力确定开关控制信号。
在一些实施例中,存算阵列为多个;如图5所示,提供了一种确定模块的结构框图,包括生成子模块402a和发送子模块402b,其中:
生成子模块402a,用于若目标算力满足第一算力条件,则生成与第一算力条件相匹配的第一开关控制信号。
发送子模块402b,用于通过片间互联网络向多个存算阵列发送第一开关控制信号,以通过第一开关控制信号打开多个存算阵列对应的连接开关,并将打开连接开关的多个存算阵列确定为执行待处理任务的目标存算阵列。
在一些实施例中,每个存算阵列包括多个存算单元;确定模块402具体用于若目标算力满足第二算力条件,则生成与第二算力条件相匹配的第二开关控制信号;通过片间互联网络向至少一个存算阵列发送第二开关控制信号,以通过第二开关控制信号关闭存算阵列中的至少一个存算单元对应的连接开关,并将关闭连接开关的至少一个存算单元所在的存算阵列确定为执行待处理任务的目标存算阵列。
在一些实施例中,存算一体加速器还集成有模块芯片化的片间互联网络的线路控制器;确定模块402具体用于通过片间互联网络的线路控制器根据任务资源需求确定开关控制信号。
在一些实施例中,存算一体加速器还集成有模块芯片化的中央处理器;接收模块401用于通过中央处理器接收待处理任务的任务执行指令;通过中央处理器对任务执行指令进行解析,得到任务资源需求。
在一些实施例中,存算一体加速器还集成有模块芯片化的高宽带存储器;接收模块401还用于通过中央处理器将接收的待处理任务的任务数据缓存在高宽带存储器中。在执行待处理任务的过程中,提供模块403用于通过片间互联网络的线路控制器从高宽带存储器中读取任务数据,并将任务数据发送至目标存算阵列;通过目标存算阵列对任务数据进行计算,得到计算结果,并将计算结果发送至片间互联网络的线路控制器;通过片间互联网络的线路控制器将计算结果发送至高宽带存储器;通过中央处理器从高宽带存储器中读取并整合计算结果。
上述硬件资源调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是存算一体加速器,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种硬件资源调度方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不相连接形成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的资源调度逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种硬件资源调度方法,其特征在于,应用于存算一体加速器;所述存算一体加速器集成有模块芯片化的存算阵列;所述存算阵列之间相连接形成片间互联网络;所述方法包括:
接收待处理任务的任务执行指令;
对所述任务执行指令进行解析,得到任务资源需求;所述任务资源需求用以指示执行所述待处理任务所需的目标硬件资源;
根据所述任务资源需求确定开关控制信号;
通过所述片间互联网络向所述存算阵列发送所述开关控制信号,以通过所述开关控制信号对所述存算阵列进行开关控制,确定用于执行所述待处理任务的目标存算阵列;
在执行所述待处理任务的过程中,通过所述目标存算阵列提供所述目标硬件资源。
2.根据权利要求1所述的方法,其特征在于,所述根据所述任务资源需求确定开关控制信号,包括:
根据所述任务资源需求确定执行所述待处理任务所需的目标算力;
根据所述目标算力确定开关控制信号。
3.根据权利要求2所述的方法,其特征在于,所述存算阵列为多个;所述根据所述目标算力确定开关控制信号,包括:
若所述目标算力满足第一算力条件,则生成与所述第一算力条件相匹配的第一开关控制信号;
所述通过所述片间互联网络向所述存算阵列发送所述开关控制信号,以通过所述开关控制信号对所述存算阵列进行开关控制,确定用于执行所述待处理任务的目标存算阵列,包括:
通过所述片间互联网络向多个所述存算阵列发送所述第一开关控制信号,以通过所述第一开关控制信号打开多个所述存算阵列对应的连接开关,并将打开连接开关的多个所述存算阵列,确定为执行所述待处理任务的目标存算阵列。
4.根据权利要求2所述的方法,其特征在于,每个所述存算阵列包括多个存算单元;所述根据所述目标算力确定开关控制信号,包括:
若所述目标算力满足第二算力条件,则生成与所述第二算力条件相匹配的第二开关控制信号;
所述通过所述片间互联网络向所述存算阵列发送所述开关控制信号,以通过所述开关控制信号对所述存算阵列进行开关控制,以确定用于执行所述待处理任务的目标存算阵列,包括:
通过所述片间互联网络向至少一个所述存算阵列发送所述第二开关控制信号,以通过所述第二开关控制信号关闭所述存算阵列中的至少一个存算单元对应的连接开关,并将关闭连接开关的至少一个存算单元所在的存算阵列确定为执行所述待处理任务的目标存算阵列。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述存算一体加速器还集成有模块芯片化的片间互联网络的线路控制器;
所述根据所述任务资源需求确定开关控制信号,包括:
所述片间互联网络的线路控制器根据所述任务资源需求确定开关控制信号。
6.根据权利要求5所述的方法,其特征在于,所述存算一体加速器还集成有模块芯片化的中央处理器;
所述接收待处理任务的任务执行指令,包括:
所述中央处理器接收待处理任务的任务执行指令;
所述对所述任务执行指令进行解析,得到任务资源需求,包括:
所述中央处理器对所述任务执行指令进行解析,得到任务资源需求。
7.根据权利要求6所述的方法,其特征在于,所述存算一体加速器还集成有模块芯片化的高宽带存储器;所述方法还包括:
所述中央处理器将接收的所述待处理任务的任务数据缓存在所述高宽带存储器中;
在执行所述待处理任务的过程中,所述片间互联网络的线路控制器从所述高宽带存储器中读取所述任务数据,并将所述任务数据发送至所述目标存算阵列;
所述目标存算阵列对所述任务数据进行计算,得到计算结果,并将所述计算结果发送至所述片间互联网络的线路控制器;
所述片间互联网络的线路控制器将所述计算结果发送至所述高宽带存储器;
所述中央处理器从所述高宽带存储器中读取并整合所述计算结果。
8.一种硬件资源调度装置,其特征在于,设置于存算一体加速器;所述存算一体加速器集成有模块芯片化的存算阵列;所述存算阵列之间相连接形成片间互联网络;所述装置包括:
接收模块,用于接收待处理任务的任务执行指令;对所述任务执行指令进行解析,得到任务资源需求;所述任务资源需求用以指示执行所述待处理任务所需的目标硬件资源;
确定模块,用于根据所述任务资源需求确定开关控制信号;通过所述片间互联网络向所述存算阵列发送所述开关控制信号,以通过所述开关控制信号对所述存算阵列进行开关控制,确定用于执行所述待处理任务的目标存算阵列;
提供模块,用于在执行所述待处理任务的过程中,通过所述目标存算阵列提供所述目标硬件资源。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202310952656.2A 2023-07-31 2023-07-31 硬件资源调度方法、装置、计算机设备和存储介质 Pending CN117112201A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310952656.2A CN117112201A (zh) 2023-07-31 2023-07-31 硬件资源调度方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310952656.2A CN117112201A (zh) 2023-07-31 2023-07-31 硬件资源调度方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN117112201A true CN117112201A (zh) 2023-11-24

Family

ID=88810149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310952656.2A Pending CN117112201A (zh) 2023-07-31 2023-07-31 硬件资源调度方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN117112201A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118503191A (zh) * 2024-07-18 2024-08-16 深圳市安信达存储技术有限公司 高算力存储模组以及通信方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118503191A (zh) * 2024-07-18 2024-08-16 深圳市安信达存储技术有限公司 高算力存储模组以及通信方法

Similar Documents

Publication Publication Date Title
CN110147251B (zh) 用于计算神经网络模型的系统、芯片及计算方法
CN110520853B (zh) 直接存储器访问的队列管理
CN109543832B (zh) 一种计算装置及板卡
WO2020073211A1 (zh) 运算加速器、处理方法及相关设备
JP2019036298A (ja) 知能型高帯域幅メモリシステム及びそのための論理ダイ
CN112799726B (zh) 数据处理装置、方法及相关产品
CN117112201A (zh) 硬件资源调度方法、装置、计算机设备和存储介质
WO2021115208A1 (zh) 神经网络处理器、芯片和电子设备
CN111047045B (zh) 机器学习运算的分配系统及方法
CN115860079B (zh) 神经网络加速装置、方法、芯片、电子设备及存储介质
US11023825B2 (en) Platform as a service cloud server and machine learning data processing method thereof
CN118035618B (zh) 数据处理器、数据处理方法、电子设备、存储介质
US20220113944A1 (en) Arithmetic processing device
Liu et al. CASSANN-v2: A high-performance CNN accelerator architecture with on-chip memory self-adaptive tuning
CN115391053B (zh) 基于cpu和gpu混合计算的在线服务方法及装置
WO2023087227A1 (zh) 数据处理装置及方法
CN118036776A (zh) 一种模型训练方法及相关装置
CN115576892A (zh) 三维存储器及数据处理方法
CN113177211A (zh) 用于隐私计算的fpga芯片、异构处理系统及计算方法
CN111382852B (zh) 数据处理装置、方法、芯片及电子设备
CN111382853B (zh) 数据处理装置、方法、芯片及电子设备
CN111382856B (zh) 数据处理装置、方法、芯片及电子设备
CN113238975A (zh) 优化深度神经网络的参数的内存、集成电路及板卡
CN116188239B (zh) 多请求并发的gpu图随机游走优化实现方法及系统
CN212873459U (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