CN115408328A - 众核系统、处理方法及处理单元 - Google Patents
众核系统、处理方法及处理单元 Download PDFInfo
- Publication number
- CN115408328A CN115408328A CN202211027720.8A CN202211027720A CN115408328A CN 115408328 A CN115408328 A CN 115408328A CN 202211027720 A CN202211027720 A CN 202211027720A CN 115408328 A CN115408328 A CN 115408328A
- Authority
- CN
- China
- Prior art keywords
- processing
- core
- address
- data
- request
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开提供一种众核系统、处理方法及处理单元,属于计算机技术领域。该众核系统包括:多个处理核,每个处理核包括核内的存储单元;至少部分处理核的存储单元的至少部分被配置为虚拟全局存储模块,且所有处理核的虚拟全局存储模块基于系统全局地址进行编址。根据本公开的实施例,能够在不改变众核系统架构的基础上实现外部全局存储功能。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种众核系统、处理方法及处理单元。
背景技术
分布式众核架构中包括多个处理核,众核之间可以通过片上网络进行通信。通常情况下,每个处理核内具有独立的存储单元,计算单元和路由模块,多个处理核可以联合工作,单个处理核也可以各自独立运行程序指令。鉴于上述特点,分布式众核架构可以采用近存计算方式,以减少数据搬运,节省功耗。但是,由于单个处理核中存储空间的容量限制,导致分布式众核架构对于大规模运算的支持能力受限,通常需要依赖外部存储空间。
发明内容
本公开提供一种众核系统、处理方法及处理单元、电子设备、计算机可读存储介质。
第一方面,本公开提供了一种众核系统,该众核系统包括:多个处理核,每个处理核包括核内的存储单元;至少部分处理核的存储单元的至少部分被配置为虚拟全局存储模块,且所有处理核的所述虚拟全局存储模块基于系统全局地址进行编址。
第二方面,本公开提供了一种处理方法,应用于众核系统,该处理方法包括:接收数据请求单元发送的第一处理请求,所述第一处理请求包括目标系统全局地址;根据所述目标系统全局地址,确定目标处理核信息以及核内虚拟全局存储模块地址;基于所述目标处理核信息以及所述核内虚拟全局存储模块地址,向所述目标处理核或所述数据请求单元发送第二处理请求;其中,所述第二处理请求用于指示所述目标处理核与所述数据请求单元之间基于所述核内虚拟全局存储模块地址传输数据,并执行相应的数据读写操作,所述众核系统采用本公开实施例任一项所述的众核系统。
第三方面,本公开提供了一种处理单元,该处理单元包括:映射转换模块和通信模块;所述映射转换模块,用于根据系统全局地址与处理核中的虚拟全局存储模块之间的映射关系,将目标系统全局地址转换为所述目标处理核信息以及核内虚拟全局存储模块地址;所述通信模块,用于与众核系统中的多个处理核连接,以基于所述连接传输处理请求,以使所述目标处理核与数据请求单元之间基于所述核内虚拟全局存储模块地址传输数据,并执行相应的数据读写操作。
第四方面,本公开提供了一种电子设备,该电子设备包括:多个处理核;以及,片上网络,被配置为交互所述多个处理核间的数据和外部数据;其中,一个或多个所述处理核中存储有一个或多个指令,一个或多个所述指令被一个或多个所述处理核执行,以使一个或多个所述处理核能够执行上述的处理方法。
第五方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现上述的处理方法。
本公开所提供的实施例,在众核系统中,至少部分处理核的存储单元的至少部分被配置虚拟全局存储模块,其他功能单元或处理核可以通过系统全局地址对虚拟全局存储模块进行访问,从而可以在不改变现有众核系统架构的情况下实现具有外部存储空间的效果,提高了存储资源利用率;并且,通过对处理请求中的目标系统全局地址进行映射转换等处理,可以确定该处理请求对应的目标处理核以及所指向的目标处理核中虚拟全局存储模块的核内全局地址,从而保障处理请求被顺利准确地执行。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为相关技术提供的一种分布式众核架构的示意图;
图2为本公开实施例提供的一种众核系统的示意图;
图3为本公开实施例提供的一种处理核的示意图;
图4为本公开实施例提供的一种众核系统的示意图;
图5为本公开实施例提供的一种系统全局地址的示意图;
图6为本公开实施例提供的一种系统全局地址的示意图;
图7为本公开实施例提供的一种系统全局地址的示意图;
图8为本公开实施例提供的一种众核系统的示意图;
图9为本公开实施例提供的一种众核系统的示意图;
图10为本公开实施例提供的一种处理方法的流程图;
图11为本公开实施例提供的一种处理方法的工作过程示意图;
图12为本公开实施例提供的一种处理方法的工作过程示意图;
图13为本公开实施例提供的一种处理单元的示意图;
图14为本公开实施例提供的一种电子设备的框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
在相关技术中,分布式众核架构中包括多个处理核,每个处理核内具有独立的存储单元、计算单元和路由节点,路由节点之间相互连接构成片上网络,众核之间可以通过该片上网络进行通信。在基于分布式众核架构形成的众核系统中,多个处理核可以联合处理任务,各个处理核也可以分别独立地执行相应指令,从而利用并行处理方式加快程序运行速度,支持多任务处理能力。
图1为相关技术提供的一种分布式众核架构的示意图。参照图1,在该分布式众核架构中,阵列分布有4*4个处理核。其中,任意一个处理核中包括计算单元、存储单元和路由节点,且各个处理核之间通过片上网络进行通信。
上述分布式众核架构中,由于处理核采用分布式的私有化存储,因此,便于进行近存计算,可以有效减少数据搬运,节省功耗。但是,由于单核中存储空间的容量限制,对运算量较大的处理场景(例如,大规模的神经网络模型)支持能力受限,通常需要额外配置共享的外存。
有鉴于此,本公开实施例提供一种众核系统,该众核系统包括多个处理核,每个处理核包括核内的存储单元,且至少部分处理核的存储单元的至少部分被配置为虚拟全局存储模块,所有处理核的虚拟全局存储模块基于系统全局地址进行编制,从而可以在不改变现有众核系统架构的情况下实现具有外部存储空间的效果,提高了存储资源利用率;并且,通过对处理请求中的目标系统全局地址进行映射转换等处理,可以确定处理请求对应的目标处理核以及所指向的目标处理核中虚拟全局存储模块的核内虚拟全局存储模块地址,从而保障处理请求被顺利准确地执行。
根据本公开实施例的处理方法可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读程序指令的方式来实现。服务器可以是独立的物理服务器、由多个服务器组成的服务器集群或者基于云技术构建的云服务器。
本公开实施例第一方面提供一种众核系统。
图2为本公开实施例提供的一种众核系统的示意图。参照图2,众核系统包括多个处理核,每个处理核包括核内的存储单元,至少部分处理核的存储单元的至少部分被配置为虚拟全局存储模块,且所有处理核的虚拟全局存储模块基于系统全局地址进行编址。
其中,存储单元是用于进行存储的功能单元。在本公开实施例中,将至少部分处理核的存储单元的至少部分配置为虚拟全局存储模块,该虚拟全局存储模块是具有共享访问权限的存储空间。换言之,将处理核的部分内部存储空间配置成为用于共享访问的外存模块,从而在不改变众核系统整体架构的情况下,实现配置外部存储的效果。需要强调的是,虚拟全局存储模块是虚拟的全局存储模块,本质仍然为核内存储空间,其仅是被配置为具有共享访问权限。
在一些可选的实现方式中,众核系统中存在至少一个或多个处理核,其存储单元的至少部分被配置为虚拟全局存储模块,剩余部分被配置为私有存储模块;其中,私有存储模块只能供当前处理核进行访问,其他处理核和其他功能模块不具有访问权限,而虚拟全局存储模块除了可供当前处理核访问之外,还可供其他处理核或者其他功能模块进行访问,从而实现全局外存的技术效果。
在一些可选的实现方式中,在众核系统中,处理核中除了核内的存储单元之外,还可以配置计算单元和路由节点,以使处理核具备处理功能和通信功能。
图3为本公开实施例提供的一种处理核的示意图。参照图3,处理核中包括计算单元、路由节点、私有存储模块和虚拟全局存储模块。其中,计算单元可以进行计算等以提供数据处理能力;路由节点用于提供路由功能,便于处理核进行向外通信;私有存储模块用于为处理核提供私有的专用存储功能;虚拟全局存储模块为用于共享访问的具有全局性的存储空间,体现为虚拟全局存储模块除了可供当前处理核访问之外,还可接收其他处理核及其他功能模块的访问请求。
图4为本公开实施例提供的一种众核系统的示意图。参照图4,在众核系统中,每个处理核中配置有计算单元、路由节点、私有存储模块和虚拟全局存储模块。其中,各个处理核的路由节点相互连接,构成用于通信的片上网络,私有存储模块供当前处理核存储私有数据,虚拟全局存储模块供当前处理核以及其他处理核进行访问,用于存储共享数据。
通常情况下,受限于处理核的尺寸和封装限制,单个处理核中存储单元的存储空间是有限的,因此,私有存储模块和虚拟全局存储模块的存储容量之和是相对固定且有限的。基于此,需要通过合理分配私有存储模块和虚拟全局存储模块的存储容量,以尽量地降低传输耗时,提高任务处理效率。
在一些可选的实现方式中,可以基于预设的资源分配方式对同一处理核中虚拟全局存储模块和私有存储模块的存储容量进行分配,其中,资源分配方式包括基于时间周期进行分配,基于任务信息进行分配,响应于资源分配指示进行分配中的至少一种。
示例性地,在间隔每个时间周期的情况下,对处理核中虚拟全局存储模块和私有存储模块的存储容量进行分配。
示例性地,不定期地对处理核中虚拟全局存储模块和私有存储模块的存储容量进行分配。
示例性地,任务信息包括与待处理任务相关的私有存储需求信息和全局存储需求信息,相应的,在获取任务信息的情况下,根据任务信息对处理核中虚拟全局存储模块和私有存储模块的存储容量进行分配。
示例性地,资源分配指示可以由预设的管理终端或者管理服务器等进行发送,相应的,在接收到资源分配指示的情况下,对处理核中虚拟全局存储模块和私有存储模块的存储容量进行分配。
需要说明的是,以上对于虚拟全局存储模块和私有存储模块的存储容量的分配方式仅是举例说明,本公开实施例对此不作限制。
在一些可选的实现方式中,众核系统中配置有虚拟全局存储模块的处理核的数量、占有比例、分布位置(包括规则分布和不规则分布)等,可以根据经验、统计数据、任务处理需求进行灵活设置,本公开实施例对此不作限制。
示例性地,在众核系统的所有处理核的存储单元中均配置虚拟全局存储模块。
示例性地,在众核系统中,配置有虚拟全局存储模块的处理核以行或列为间隔单位呈现均匀性分布,即相邻的两行(或两列)处理核中,其中一行(或一列)配置虚拟全局存储模块,则另外一行不再配置虚拟全局存储模块。
示例性地,将众核系统中位于指定区域内的处理核中配置虚拟全局存储模块。
需要说明的是,以上对于众核系统仅是举例说明,本公开实施例对此不作限制。
由于处理核内的虚拟全局存储模块具有共享访问权限,可供其他处理核以及核外的功能模块访问,因此,为了保障访问到准确的数据,可以对虚拟全局存储模块进行编址,以基于地址进行准确寻址。
在一些可选的实现方式中,基于系统全局地址对虚拟全局存储模块进行编址。
示例性地,系统全局地址是对众核系统的多个处理核的虚拟全局存储模块进行统一连续编址确定的存储地址,且系统全局地址与处理核中的虚拟全局存储模块之间具有映射关系。换言之,在获取系统全局地址之后,可以根据上述映射关系确定该系统全局地址所指向的处理核以及位于该处理核内的虚拟全局存储模块的具体位置。
图5为本公开实施例提供的一种系统全局地址的示意图。参照图5,众核系统的处理核1-处理核n内设置有虚拟全局存储模块,且上述n个处理核中的虚拟全局存储模块的容量对应两个地址单位(addr),其中,n为大于或等于1的整数。
如图5所示,对处理核1至处理核n的虚拟全局存储模块进行统一连续编址,从而确定处理核1中虚拟全局存储模块对应的系统全局地址为addr1和addr2,确定处理核2中虚拟全局存储模块对应的系统全局地址为addr3和addr4,确定处理核3中虚拟全局存储模块对应的系统全局地址为addr5和addr6,以此类推,确定处理核n中虚拟全局存储模块对应的系统全局地址为addr(2n-1)和addr(2n)。
在图5中,设置虚拟全局存储模块的处理核的序号是连续的,在一些可选的实现方式中,可以采用间隔性的方式选取若干处理核,并在选取的处理核的存储单元中配置全局存储地址,在这种情况下,系统全局地址中,处理核的序号不再是连续序号。
图6为本公开实施例提供的一种系统全局地址的示意图。参照图6,在众核系统中,选取在处理核3、处理核5、处理核6……处理核p共k个处理核中设置虚拟全局存储模块,且各个处理核中的虚拟全局存储模块的容量对应两个地址单位,其中,k为大于或等于1的整数。
如图6所示,对处理核3至处理核p的虚拟全局存储模块进行统一连续编址,从而确定处理核3中虚拟全局存储模块对应的系统全局地址为addr1和addr2,确定处理核5中虚拟全局存储模块对应的系统全局地址为addr3和addr4,确定处理核6中虚拟全局存储模块对应的系统全局地址为addr5和addr6,以此类推,确定处理核p中虚拟全局存储模块对应的系统全局地址为addr(2k-1)和addr(2k)。
需要说明的是,在图5和图6中,各个处理核的虚拟全局存储模块的容量是相同的(每个处理核对应两个地址单位(addr)的存储空间),在一些可选的实现方式中,不同处理核中的虚拟全局存储模块的容量可以不同。
图7为本公开实施例提供的一种系统全局地址的示意图。参照图7,众核系统的处理核1-处理核t内设置有虚拟全局存储模块,其中,处理核1中虚拟全局存储模块的容量对应三个地址单位,处理核2中虚拟全局存储模块的容量对应两个地址单位,……,处理核t中虚拟全局存储模块的容量对应一个地址单位,其中,t为大于或等于1的整数。
如图7所示,对处理核1至处理核t的虚拟全局存储模块进行统一连续编址,从而确定处理核1中虚拟全局存储模块对应的系统全局地址为addr1、addr2和addr3,确定处理核2中虚拟全局存储模块对应的系统全局地址为addr4和addr5,确定处理核3中虚拟全局存储模块对应的系统全局地址为addr6,以此类推,确定处理核t中虚拟全局存储模块对应的系统全局地址为addrm。
需要说明的是,除了采用统一连续编址确定各个处理核的虚拟全局存储模块的访问地址之外,还可以基于处理核的标识、虚拟全局存储模块的编码等,对处理核中的虚拟全局存储模块进行编址。
在一些可选的实现方式中,系统全局地址由处理核标识和虚拟全局存储模块编码两部分组成,其中,虚拟全局存储模块编码可以是对虚拟全局存储模块按照地址单位进行编码获得的。
示例性地,处理核的标识为id,其虚拟全局存储模块包括16字节,则以8字节作为一个地址单位,将前8个字节赋予一个编码code1,后8个字节赋予另一个编码code2,相应的,该处理核的系统全局地址对应id_code1和id_code2。在目标系统全局地址为id_code1的情况下,则确定对应的目标处理核的标识为id,核内虚拟全局存储模块地址为虚拟全局存储模块的前8字节。
鉴于众核系统中部分处理核的存储单元的至少部分被配置为虚拟全局存储模块,因此,在无需改变众核系统整体架构的情况下,扩展了众核系统的外部存储空间,使众核系统能够支持较大规模的神经网络模型的运行,且支持多网络模型的并发运行,另外,在多播场景中,还能够节省存储空间。
在一些可选的实现方式中,众核系统中还包括至少一个处理单元,该处理单元主要用于接收处理请求,执行地址转换处理,以及发送后续的处理请求等,关于处理请求对应的数据读写处理所涉及的数据,则通常在进行地址转换之后基于处理核之间的片上网络进行传输,以尽量减少这些数据的不必要传输。
在一些可选的实现方式中,处理单元通过路由连接与众核系统中的处理核连接。
示例性地,处理单元包括映射转换子单元和路由子单元;其中,映射转换子单元用于根据系统全局地址与处理核中的虚拟全局存储模块之间的映射关系,将目标系统全局地址转换为目标处理核信息以及核内虚拟全局存储模块地址,核内虚拟全局存储模块地址表征目标系统全局地址所指向的目标处理核的虚拟全局存储模块中的待处理地址;路由子单元与众核系统的片上网络连接,并通过片上网络与众核系统中的多个处理核建立连接,以基于片上网络传输处理请求和对应的处理数据。
例如,目标系统全局地址是用于指示读取处理的地址。处理单元基于映射转换子单元执行地址转换处理,确定目标处理核,获得核内虚拟全局存储模块地址,并通过路由子单元,通过片上网络向对应的目标处理核发起读取请求;目标处理核读取核内虚拟全局存储模块地址所指向的数据,获得目标数据之后,通过片上网络将目标数据传输给数据请求单元,以供数据请求单元基于目标数据执行后续处理。
例如,目标系统全局地址是用于指示数据写入处理的地址。处理单元基于映射转换子单元执行地址转换处理,确定目标处理核,获得核内虚拟全局存储模块地址,再将目标处理核信息以及核内虚拟全局存储模块地址发送到数据请求单元。数据请求单元通过片上网络将待写入数据传输到目标处理核,并存储到核内虚拟全局存储模块地址所指向的位置。
由此可知,在上述处理过程中,处理单元仅用于执行地址转换以及请求类数据传输等操作,数据处理量和数据传输压力较小,至于目标数据和待写入数据的传输,则主要是基于片上网络通过处理核与处理核之间的传输实现。
在一些可选的实现方式中,处理单元通过预设的串行总线与众核系统中的处理核连接。
示例性地,处理单元包括映射转换子单元和串行通信子单元;其中,映射转换子单元用于根据系统全局地址与处理核中的虚拟全局存储模块之间的映射关系,将目标系统全局地址转换为目标处理核信息以及核内虚拟全局存储模块地址,核内虚拟全局存储模块地址表征目标系统全局地址所指向的目标处理核的虚拟全局存储模块中的待处理地址;串行通信子单元与预设的串行总线连接,并通过串行总线与众核系统中的多个处理核建立连接,以基于串行总线传输处理请求;处理请求对应的处理数据基于预设的传输优先级进行发送,传输优先级包括:由众核系统的片上网络进行传输的优先级高于由串行总线传输的优先级。其中,串行总线包括一组线路,通过配置合适的接口电路,将各个处理核与要连接的目标功能模块(例如,全局存储模块)之间建立连接。
示例性地,对于处理数据,通常由片上网络进行传输;在处理数据的数据量较小或者片上网络故障等情况下,才基于串行总线进行传输。基于这种设置,一方面可以缓解处理单元的数据处理压力,避免处理数据的非必要传输,另一方面,还可以缓解串行总线的数据传输压力,保障串行总线的通信通畅性,确保串行总线上的各项处理请求及时被传输到目的地。
例如,目标系统全局地址是用于指示读取处理的地址。处理单元基于映射转换子单元执行地址转换处理,确定目标处理核,获得核内虚拟全局存储模块地址,并通过串行总线向对应的目标处理核发起读取请求;目标处理核读取核内虚拟全局存储模块地址所指向的数据,获得目标数据之后,通过片上网络将目标数据传输给数据请求单元,以供数据请求单元基于目标数据执行后续处理。
例如,目标系统全局地址是用于指示写入处理的地址。处理单元基于映射转换子单元执行地址转换处理,确定目标处理核,获得核内虚拟全局存储模块地址,再通过串行总线将目标处理核信息以及核内虚拟全局存储模块地址发送到数据请求单元。数据请求单元通过片上网络将待写入数据传输到目标处理核,并存储到核内虚拟全局存储模块地址所指向的位置。
在一些可选的实现方式中,处理单元既与片上网络路由连接,也与各个处理核串行连接,在这种情况下,执行数据处理时,可灵活选用任意一种连接方式传输处理请求,本公开实施例对此不作限制。
需要说明的是,无论采用何种类型的处理单元,处理数据(包括读取处理的目标数据以及待写入数据)通常都是基于片上网络进行传输(当处理数据较少时,为节省步骤,也可以基于串行总线进行传输),处理请求等指令、核内虚拟全局存储模块地址等数据量较小的数据可以基于片上网络或者串行总线进行传输。基于这种设置方式,可以降低处理单元的处理压力和数据传输压力,保障处理单元能够及时高效地处理接收到的各类处理请求,提升任务处理效率。
在一些可选的实现方式中,处理单元可以采用以下任意一种方式获得:
处理单元由众核系统的至少一个处理核进行配置获得;
处理单元由除众核系统的处理核之外的至少一个功能核进行配置获得;
处理单元由预设的功能模块进行配置获得。
示例性地,处理单元可以是从众核系统的多个处理核中选取的某一个处理核;或者,处理单元还可以是另行设置的全局存储核(单独设置的处理核,不属于众核系统的处理核);或者,处理单元还可以是另行设置的全局存储模块(单独设置的功能模块)。
图8为本公开实施例提供的一种众核系统的示意图。参照图8,众核系统包括一个全局存储核以及4*4阵列分布的16个处理核。
其中,处理核中配置有计算单元、路由节点、虚拟全局存储模块和私有存储模块;全局存储核中设置有路由单元,且路由单元与处理核的片上网络连接。全局存储核可以基于片上网络传输处理请求,并执行地址转换处理等操作;处理请求对应的处理数据可以通过片上网络进行传输。
图9为本公开实施例提供的一种众核系统的示意图。参照图9,众核系统包括一个全局存储模块以及4*4阵列分布的16个处理核。
其中,处理核中配置有计算单元、路由节点、虚拟全局存储模块和私有存储模块;全局存储模块与串行总线连接,通过该串行总线与各个处理核的建立连接。全局存储模块可以基于串行总线传输处理请求,并执行地址转换处理等操作;处理请求对应的处理数据通常基于片上网络进行传输,但是,当处理数据的数据量较小时,出于简化步骤的考量,也可以基于串行总线进行传输。
在本公开实施例中,至少部分处理核的存储单元的至少部分被配置为具有全局共享访问权限的虚拟全局存储模块,并基于系统全局地址对所有处理核的虚拟全局存储模块进行编址,确保能够唯一准确地寻址;另外,在执行数据处理过程中,处理单元通常只执行请求传输、地址转换等处理,处理数据通常基于片上网络由处理核进行传输,从而有效缓解了处理单元的处理压力和传输压力,确保处理请求的顺利执行。
本公开实施例第二方面提供一种处理方法。
图10为本公开实施例提供的一种处理方法的流程图,可应用于本公开实施例任一项所述的众核系统。参照图10,该处理方法包括:
步骤S101,接收数据请求单元发送的第一处理请求,第一处理请求包括目标系统全局地址。
步骤S102,根据目标系统全局地址,确定目标处理核信息以及核内虚拟全局存储模块地址。
步骤S103,基于目标处理核信息以及核内虚拟全局存储模块地址,向目标处理核或数据请求单元发送第二处理请求。
其中,核内虚拟全局存储模块地址表征目标系统全局地址所指向的目标处理核的虚拟全局存储模块中的待处理地址,第二处理请求用于指示目标处理核与数据请求单元之间基于核内虚拟全局存储模块地址传输数据,并执行相应的数据读写操作。
在步骤S101中,数据请求单元可以是众核系统中的某一处理核或功能模块,也可以是众核系统之外的任意一个功能模块,本公开实施例对此不作限制。众核系统接收到的第一处理请求中包括目标系统全局地址,目标系统全局地址是用于进行数据处理的系统全局地址。换言之,鉴于本公开实施例中的众核系统中,部分处理核中配置有虚拟全局存储模块,因此,众核系统接收到的处理请求至少包括两类,第一类是针对处理核的私有存储模块的处理请求,第二类是针对处理核的虚拟全局存储模块的处理请求,其中,第一处理请求即属于第二类请求,其用于对处理核中虚拟全局存储模块进行相应的数据处理。
在一些可选的实现方式中,由于对众核系统的多个处理核的虚拟全局存储模块采用统一连续编址的方式确定系统全局地址,因此,直接根据目标系统全局地址无法确定待处理的处理核以及该处理核中需要进行数据处理的虚拟全局存储模块的地址。
有鉴于此,在获得目标系统全局地址之后,还需要对其进行一系列处理,才能明确待处理的处理核以及该处理核中需要进行数据处理的虚拟全局存储模块的地址(即核内虚拟全局存储模块地址),从而执行相应的数据处理操作。
在一些可选的实现方式中,系统全局地址与处理核中的虚拟全局存储模块之间具有映射关系,相应的,在步骤S102中,根据目标系统全局地址,确定目标处理核信息以及核内虚拟全局存储模块地址,包括:根据映射关系对目标系统全局地址进行转换处理,获得目标处理核信息以及核内虚拟全局存储模块地址;其中,核内虚拟全局存储模块地址表征目标系统全局地址所指向的目标处理核的虚拟全局存储模块中的待处理地址,目标处理核信息包括目标处理核的核地址和/或目标处理核的核标识。
换言之,在获得目标系统全局地址之后,根据系统全局地址与处理核的虚拟全局存储模块之间的映射关系,将目标系统全局地址转换为目标处理核的核地址/核标识以及核内虚拟全局存储模块地址。
需要说明的是,以上对于目标处理核信息仅是举例说明,只要是能从众核系统唯一地确定处理核的信息均可作为目标处理核信息,本公开实施例对此不作限制。
还需要说明的是,若众核系统接收到的处理请求中的地址为核内私有地址(即私有存储模块对应的地址),则无需进行地址间的映射转换,直接根据该核内私有地址确定对应的处理核以及所指向的私有存储模块中的位置,执行相应的数据处理即可。
获得目标处理核信息以及核内虚拟全局存储模块地址之后,可以在步骤S103中,基于目标处理核信息以及核内虚拟全局存储模块地址,向目标处理核或数据请求单元发送第二处理请求,第二处理请求用于指示目标处理核与数据请求单元之间基于核内虚拟全局存储模块地址传输数据,并执行相应的数据读写操作。其中,关于向目标处理核还是数据请求单元发送第二处理请求,需要根据第一处理请求的类型、携带数据的情况等进行确定。
需要说明的是,执行上述处理方法可以由众核系统中任意一个接收到第一处理请求的处理核执行,也可以由特别设置的处理单元执行,本公开实施例对此不作限制。
示例性地,当第一处理请求传输到众核系统的接口时,根据预设的处理规则将该第一处理请求发送至相应的处理核(例如,将第一处理请求发送至处理任务较少的处理核,或者,将第一处理请求发送到处理能力较高的处理核等),由接收到该第一处理请求的处理核,根据本公开实施例的处理方法执行目标系统全局地址转换以及后续的数据处理操作。
示例性地,当第一处理请求传输到众核系统的接口时,判断出该请求属于虚拟全局存储类的处理请求,因此,将该第一处理请求发送给特别设置的处理单元,由该处理单元根据本公开实施例的处理方法执行目标系统全局地址转换以及后续的数据处理操作。
在一些可选的实现方式中,特别设置的处理单元可以是从众核系统的多个处理核中选取的某一个处理核,以使该处理核专用于执行本公开实施例的处理方法;该处理单元还可以是另行设置的全局存储核(单独设置的处理核,不属于众核系统的处理核),由该全局存储核执行本公开实施例的处理方法;该处理单元还可以是另行设置的全局存储模块(单独设置的功能模块),由该全局存储模块执行本公开实施例的处理方法。
需要说明的是,以上对于处理单元仅是举例说明,本公开实施例对此不作限制。
在一些可选的实现方式中,第一处理请求为数据读取请求,与之相应的,第二处理请求为第二读取处理请求;基于目标处理核信息以及核内虚拟全局存储模块地址,向目标处理核或数据请求单元发送第二处理请求,包括:根据目标处理核信息,向目标处理核发送第二读取处理请求;其中,第二读取处理请求包括核内虚拟全局存储模块地址,且第二读取处理请求用于指示目标处理核基于核内虚拟全局存储模块地址从目标处理核的虚拟全局存储模块读取目标数据,并将目标数据传输到数据请求单元。
换言之,在接收到数据请求单元发送的第一处理请求之后,通过解析确定第一处理请求为数据读取请求之后,执行地址转换处理,确定要读取数据的目标处理核以及读取地址(即核内虚拟全局存储模块地址),进而生成第二读取处理请求,通过片上网络或串行总线将其发送到目标处理核。目标处理核接收到第二读取处理请求之后,从其虚拟全局存储模块中核内虚拟全局存储模块地址所指向的位置读取目标数据,并基于片上网络将目标数据传输到数据请求单元。
示例性地,处理方法的执行主体为全局存储核;全局存储核中设置有路由单元,该路由单元与众核系统的片上网络连接。当全局存储核接收到数据读取请求(即第一处理请求)之后,根据目标系统全局地址,确定目标处理核以及核内虚拟全局存储模块地址,基于核内虚拟全局存储模块地址生成第二读取处理请求,并通过其路由节点和片上网络的连接关系,将第二读取处理请求发送给目标处理核。目标处理核接收第二读取处理请求之后,从其虚拟全局存储模块读取该核内虚拟全局存储模块地址对应的目标数据,并将目标数据通过片上网络传输到数据请求单元。
示例性地,处理方法的执行主体为全局存储模块;全局存储模块与预设的串行总线连接,且该串行总线与各个处理核相连接。当全局存储模块接收到数据读取请求(即第一处理请求)之后,根据目标系统全局地址,确定目标处理核以及核内虚拟全局存储模块地址,基于核内虚拟全局存储模块地址生成第二读取处理请求,并通过串行总线将第二读取处理请求发送给目标处理核。目标处理核接收第二读取处理请求之后,从其虚拟全局存储模块读取该核内虚拟全局存储模块地址对应的目标数据,并将目标数据通过片上网络传输到数据请求单元。
需要说明的是,在一些可选的实现方式中,第二处理请求和目标数据等还可以基于激光通信方式、近距离通信方式等进行传输,本公开实施例对此不做限制。
在一些可选的实现方式中,第一处理请求为数据写入请求,且数据写入请求至少包括两种情况:第一种情况,第一处理请求中未携带待写入数据,在确定目标处理核信息以及核内虚拟全局存储模块地址之后,再由发起第一处理请求的数据请求单元将待写入数据发送至目标处理核,并由目标处理核将其写入对应的虚拟全局存储模块的指定地址;第二种情况,第一处理请求中携带有待写入数据,在确定目标处理核信息以及核内虚拟全局存储模块地址之后,直接将待写入数据发送至目标处理核,并由目标处理核将其写入对应的虚拟全局存储模块的指定地址。
示例性地,当待写入数据的数据量小于预设阈值的情况下,可以在第一处理请求中携带待写入数据,从而无需在获得目标处理核信息和核内虚拟全局存储模块地址之后,再向数据请求单元请求返回上述信息,以指示数据请求单元根据上述信息执行数据写入处理。基于此,可以简化处理步骤,并减少待写入数据的非必要传输,缓解数据传输压力。
示例性地,第一处理请求中未携带待写入数据,所述第二处理请求为第二写入指示请求;基于目标处理核信息以及核内虚拟全局存储模块地址,向目标处理核或数据请求单元发送第二处理请求,包括:基于目标处理核信息以及核内虚拟全局存储模块地址生成第二写入指示请求,并将第二写入指示请求发送到数据请求单元,其中,第二写入指示请求用于指示数据请求单元根据目标处理核信息以及核内虚拟全局存储模块地址,将待写入数据写入目标处理核中核的虚拟全局存储模块中虚拟全局存储模块地址所指向的位置。例如,数据处理单元响应于第二写入指示请求,通过片上网络将待写入数据传输到目标处理核,目标处理核接收待写入数据,并根据核内虚拟全局存储模块地址,将待写入数据写入虚拟全局存储模块中的相应位置。
需要说明的是,第二写入指示请求携带目标处理核信息以及核内虚拟全局存储模块地址,其是用于进行写入处理的辅助性请求。
示例性地,第一处理请求中包括待写入数据,且待写入数据的数据量小于预设阈值,第二处理请求为第二写入处理请求;相应的,基于目标处理核信息以及核内虚拟全局存储模块地址,向目标处理核或数据请求单元发送第二处理请求,包括:根据目标处理核信息向目标处理核发送第二写入处理请求;其中,第二写入处理请求包括核内虚拟全局存储模块地址和待写入数据,且第二写入处理请求用于指示目标处理核根据核内虚拟全局存储模块地址将待写入数据写入虚拟全局存储模块。
在一些可选的实现方式中,在上述数据处理过程中,执行主体(例如,处理单元)仅用于执行地址转换处理,以及请求类数据、地址类数据等数据传输处理,并不参与实际的数据读写处理,因此,数据处理量和数据传输压力较小;至于目标数据和待写入数据的传输,则主要是基于片上网络通过处理核与处理核之间的传输完成。基于这种设置方式,可以降低执行主体的处理压力和数据传输压力,保障执行主体能够及时高效地处理接收到的各类处理请求,提升任务处理效率。
在一些可选的实现方式中,执行主体包括全局存储核和全局存储模块。
以图8所示众核系统为例对上述处理方法进行展开说明。
示例性地,第一处理请求为数据读取请求,与之相应的,当全局存储核接收到第一处理请求之后,根据第一处理请求中携带的目标系统全局地址,确定对应的目标处理核信息以及核内虚拟全局存储模块地址,并基于核内虚拟全局存储模块地址生成第二读取处理请求,并通过其路由节点与片上网络,将第二读取处理请求发送到目标处理核。目标处理核响应于第二读取处理请求,从其虚拟全局存储模块中读取核内虚拟全局存储模块地址内所存储的数据,获得目标数据,并通过片上网络将目标数据发送到数据请求单元。
示例性地,第一处理请求为数据写入请求,且不包括待写入数据,与之相应的,当全局存储核接收到第一处理请求之后,根据第一处理请求中携带的目标系统全局地址,确定对应的目标处理核信息以及核内虚拟全局存储模块地址,并根据目标处理核信息以及核内虚拟全局存储模块地址生成第二写入指示请求,将第二写入指示请求发送到发起第一处理请求的数据请求单元;数据请求单元响应于第二写入指示请求,根据目标处理核信息以及核内虚拟全局存储模块地址,通过片上网络将待写入数据和核内虚拟全局存储模块地址发送至目标处理核,目标处理核将待写入数据写入虚拟全局存储模块中核内虚拟全局存储模块地址所指示的位置。
示例性地,第一处理请求为数据写入请求,且包括待写入数据(待写入数据的数据量较小),与之相应的,当全局存储核接收到第一处理请求之后,根据第一处理请求中携带的目标系统全局地址,确定对应的目标处理核信息以及核内虚拟全局存储模块地址,并基于核内虚拟全局存储模块地址和待写入数据生成第二写入处理请求,并通过其路由节点与片上网络,将第二写入处理请求发送到目标处理核。目标处理核响应于第二写入处理请求,将待写入数据写入虚拟全局存储模块中该核内虚拟全局存储模块地址所指示的位置。
以图9所示众核系统为例对上述处理方法进行展开说明。
示例性地,第一处理请求为数据读取请求,与之相应的,当全局存储模块接收到第一处理请求之后,根据第一处理请求中携带的目标系统全局地址,确定对应的目标处理核信息以及核内虚拟全局存储模块地址,并基于核内虚拟全局存储模块地址生成第二读取处理请求,并通过串行总线将第二读取处理请求发送到目标处理核。目标处理核响应于第二读取处理请求,从其虚拟全局存储模块中读取核内虚拟全局存储模块地址内所存储的数据,将其读取出来,并通过片上网络将读取处理的数据传输到数据请求单元。
示例性地,第一处理请求为数据写入请求,且不包括待写入数据,与之相应的,当全局存储模块接收到第一处理请求之后,根据第一处理请求中携带的目标系统全局地址,确定对应的目标处理核信息以及核内虚拟全局存储模块地址,并基于目标处理核信息以及核内虚拟全局存储模块地址生成第二写入指示请求,将第二写入指示请求发送到发起第一处理请求的数据请求单元;数据请求单元响应于第二写入指示请求,通过片上网络将待写入数据发送到目标处理核,目标处理核将待写入数据写入核内虚拟全局存储模块地址所指向的地址。
示例性地,第一处理请求为数据写入请求,且包括待写入数据(待写入数据的数据量较小),与之相应的,当全局存储模块接收到第一处理请求之后,根据第一处理请求中携带的目标系统全局地址,确定对应的目标处理核信息以及核内虚拟全局存储模块地址,基于核内虚拟全局存储模块地址和待写入数据生成第二写入处理请求,并通过串行总线将第二写入处理请求发送到目标处理核。目标处理核响应于第二写入处理请求,将待写入数据写入虚拟全局存储模块中该核内虚拟全局存储模块地址所指示的位置。
示例性地,第一处理请求为数据写入请求,且包括待写入数据(待写入数据的数据量较小),与之相应的,当全局存储模块接收到第一处理请求之后,根据第一处理请求中携带的目标系统全局地址,确定对应的目标处理核信息以及核内虚拟全局存储模块地址,基于核内虚拟全局存储模块地址生成第二写入处理请求,并通过串行总线将第二写入处理请求发送到目标处理核,通过串行总线将待写入数据发送至距离较近的处理核,并由该处理核通过片上网络将待写入数据发送到目标处理核。目标处理核响应于第二写入处理请求,将待写入数据写入虚拟全局存储模块中该核内虚拟全局存储模块地址所指示的位置。
需要说明的是,第一处理请求以及各类第二处理请求均可以为目标任务中某一项请求,通过执行各项处理请求可以完成目标任务。其中,目标任务包括图像处理任务、文本处理任务、音频处理任务和视频处理任务中的至少一种。
示例性地,对于图像处理任务,第一处理请求等读取和写入的数据包括图像类数据;对于文本处理任务,第一处理请求等读取和写入的数据包括文本类数据;对于音频处理任务,第一处理请求等读取和写入的数据包括音频类数据;对于视频处理任务,第一处理请求等读取和写入的数据包括视频类数据。
下面结合图11-12对本公开实施例的处理方法进行展开说明。
图11为本公开实施例提供的一种处理方法的工作过程示意图。参照图11,众核系统包括4*4阵列分布的16个处理核,每个处理核包括计算单元、路由节点、私有存储模块和虚拟全局存储模块,且各个处理核的路由节点连接构成片上网络,用于进行通信。其中,所有处理核的虚拟全局存储模块进行统一连续编址,形成系统全局地址,且每个处理核中的虚拟全局存储模块的容量对应两个地址单位,分别是第一虚拟全局存储子模块和第二虚拟全局存储子模块。如图11所示,系统全局地址对应的统一连续编码地址包括addr1-addr32,其中,addr1对应处理核1的第一虚拟全局存储子模块,addr2对应处理核1的第二虚拟全局存储子模块,addr3对应处理核2的第一虚拟全局存储子模块,addr4对应处理核2的第二虚拟全局存储子模块,以此类推,addr31对应处理核16的第一虚拟全局存储子模块,addr32对应处理核16的第二虚拟全局存储子模块。换言之,全局系统地址与处理核以及处理核中的虚拟全局存储模块之间具有如上所述的映射关系。在实际应用中,该映射关系可以以表单形式(即映射表)存储在预设位置,以供需要时从预设位置读取该映射表。
示例性地,若第一处理请求中包括的目标系统全局地址为“addr2”时,基于预存的映射表对其进行映射转换,即可确定与“addr2”对应的目标处理核为处理核1,核内虚拟全局存储模块地址为处理核1的第二虚拟全局存储子模块,从而可以对处理核1的第二虚拟全局存储子模块进行相应的数据读取或写入处理。
示例性地,若第一处理请求中包括的目标系统全局地址为“addr5”时,基于预存的映射表对其进行映射转换,即可确定与“addr5”对应的目标处理核为处理核3,核内虚拟全局存储模块地址为处理核3的第一虚拟全局存储子模块,从而可以对处理核3的第一虚拟全局存储子模块进行相应的数据读取或写入处理。
图12为本公开实施例提供的一种处理方法的工作过程示意图。参照图12,众核系统包括4*4阵列分布的16个处理核,每个处理核包括计算单元、路由节点、私有存储模块和虚拟全局存储模块,且各个处理核的路由节点连接构成片上网络,用于进行通信。其中,每个处理核中的虚拟全局存储模块的容量对应两个地址单位,分别是第一虚拟全局存储子模块和第二虚拟全局存储子模块,虚拟全局存储模块根据处理核的标识和虚拟全局存储模块的编号进行编址,形成系统全局地址。
如图12所示,设置处理核的标识为“id(i)”,(i)表示处理核的序号,将处理核中第一虚拟全局存储子模块的编码设置为“1”,将第二虚拟全局存储子模块的编码设置为“2”,则处理核1对应的系统全局地址分别为“id1_1”和“id1_2”,处理核2对应的系统全局地址分别为“id2_1”和“id2_2”,以此类推,处理核16对应的系统全局地址分别为“id16_1”和“id16_2”。换言之,系统全局地址(addr)可以使用两个字段表示,即addr=c1+c2,第一个字段c1用于标识对应的处理核,第二个字段c2用于表示具体位置。以处理核1和处理核2为例,其中,对应的系统全局地址包括id1_1和id1_2,其中第一字段“id1”表示处理核1,第二字段“1”和“2”用于表示细化的地址。
在接收到第一处理请求之后,对其中的目标系统地址进行解析,即可获得对应的目标处理核以及核内虚拟全局存储模块地址。
示例性地,若第一处理请求中包括的目标系统全局地址为“id1_2”时,将其进行解析,即可确定与“id1_2”对应的目标处理核为处理核1,核内虚拟全局存储模块地址为处理核1的第二虚拟全局存储子模块,从而可以对处理核1的第二虚拟全局存储子模块进行相应的数据读取或写入处理。
示例性地,若第一处理请求中包括的目标系统全局地址为“id3_1”时,将其进行解析,即可确定与“id3_1”对应的目标处理核为处理核3,核内虚拟全局存储模块地址为处理核3的第一虚拟全局存储子模块,从而可以对处理核3的第一虚拟全局存储子模块进行相应的数据读取或写入处理。
在本公开实施例中,执行主体仅用于执行地址转换处理,以及请求类数据、地址类数据等数据传输处理,并不参与实际的数据读写处理,因此,数据处理量和数据传输压力较小;至于读取出来的目标数据和待写入数据的传输,则主要是基于片上网络完成。基于这种设置方式,可以降低执行主体的处理压力和数据传输压力,保障执行主体能够及时高效地处理接收到的各类处理请求,提升任务处理效率。
本公开实施例第三方面提供一种处理单元。
图13为本公开实施例提供的一种处理单元的示意图,该处理单元可设置于众核系统中,众核系统采用本公开实施例中任一项所述的众核系统。参照图13,该处理单元包括:映射转换模块1310和通信模块1320。
映射转换模块1310,用于根据系统全局地址与处理核中的虚拟全局存储模块之间的映射关系,将目标系统全局地址转换为目标处理核信息以及核内虚拟全局存储模块地址;
通信模块1320,用于与众核系统中的多个处理核连接,以基于连接传输处理请求,以使目标处理核与数据请求单元之间基于核内虚拟全局存储模块地址传输数据,并执行相应的数据读写操作。
其中,核内虚拟全局存储模块地址表征目标系统全局地址所指向的目标处理核的虚拟全局存储模块中的待处理地址。
在一些可选的实现方式中,通信模块1320包括路由子模块和/或串行通信子模块。其中,路由子模块与众核系统的片上网络连接,并通过片上网络与众核系统中的多个处理核建立连接,以基于片上网络传输处理请求和对应的处理数据;串行通信子模块与预设的串行总线连接,并通过串行总线与众核系统中的多个处理核建立连接,以基于串行总线传输处理请求,处理请求对应的处理数据基于预设的传输优先级进行发送;传输优先级包括:由众核系统的片上网络进行传输的优先级高于由串行总线传输的优先级。
需要说明的是,处理单元可用于执行本公开实施例任一项所述的处理方法,实现方式参见本公开实施例的相关内容,在此不再展开描述。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了电子设备、计算机可读存储介质,上述均可用来实现本公开提供的任一种处理方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图14为本公开实施例提供的一种电子设备的框图。
参照图14,本公开实施例提供了一种电子设备,该电子设备包括多个处理核1401以及片上网络1402,其中,多个处理核1401均与片上网络1402连接,片上网络1402用于交互多个处理核间的数据和外部数据。
其中,一个或多个处理核1401中存储有一个或多个指令,一个或多个指令被一个或多个处理核1401执行,以使一个或多个处理核1401能够执行上述的处理方法。
在一些实施例中,该电子设备可以是类脑芯片,由于类脑芯片可以采用向量化计算方式,且需要通过外部内存例如双倍速率(Double Data Rate,DDR)同步动态随机存储器调入神经网络模型的权重信息等参数。因此,本公开实施例采用批处理的运算效率较高。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器/处理核执行时实现上述的处理方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述处理方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、静态随机存取存储器(SRAM)、闪存或其他存储器技术、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (13)
1.一种众核系统,其特征在于,包括:
多个处理核,每个处理核包括核内的存储单元;
至少部分处理核的存储单元的至少部分被配置为虚拟全局存储模块,且所有处理核的所述虚拟全局存储模块基于系统全局地址进行编址。
2.根据权利要求1所述的众核系统,其特征在于,包括至少一个处理单元,所述处理单元包括映射转换子单元和路由子单元;
其中,所述映射转换子单元用于根据所述系统全局地址与所述处理核中的虚拟全局存储模块之间的映射关系,将目标系统全局地址转换为目标处理核信息以及核内虚拟全局存储模块地址;
所述路由子单元与所述众核系统的片上网络连接,并通过所述片上网络与所述众核系统中的多个处理核建立连接,以基于所述片上网络传输处理请求和对应的处理数据。
3.根据权利要求1所述的众核系统,其特征在于,包括至少一个处理单元,所述处理单元包括映射转换子单元和串行通信子单元;
其中,所述映射转换子单元用于根据所述系统全局地址与所述处理核中的虚拟全局存储模块之间的映射关系,将目标系统全局地址转换为目标处理核信息以及核内虚拟全局存储模块地址;
所述串行通信子单元与预设的串行总线连接,并通过所述串行总线与所述众核系统中的多个处理核建立连接,以基于所述串行总线传输处理请求;
所述处理请求对应的处理数据基于预设的传输优先级进行发送,所述传输优先级包括:由所述众核系统的片上网络进行传输的优先级高于由所述串行总线传输的优先级。
4.根据权利要求2或3所述的众核系统,其特征在于,所述处理单元采用以下任意一种方式获得:
所述处理单元由所述众核系统的至少一个处理核进行配置获得;
所述处理单元由除所述众核系统的处理核之外的至少一个功能核进行配置获得;
所述处理单元由预设的功能模块进行配置获得。
5.一种处理方法,其特征在于,应用于众核系统,所述方法包括:
接收数据请求单元发送的第一处理请求,所述第一处理请求包括目标系统全局地址;
根据所述目标系统全局地址,确定目标处理核信息以及核内虚拟全局存储模块地址;
基于所述目标处理核信息以及所述核内虚拟全局存储模块地址,向所述目标处理核或所述数据请求单元发送第二处理请求;
其中,所述第二处理请求用于指示所述目标处理核与所述数据请求单元之间基于所述核内虚拟全局存储模块地址传输数据,并执行相应的数据读写操作,所述众核系统采用如权利要求1-4中任一项所述的众核系统。
6.根据权利要求5所述的处理方法,其特征在于,所述根据所述目标系统全局地址,确定目标处理核信息以及核内虚拟全局存储模块地址,包括:
根据映射关系对所述目标系统全局地址进行转换处理,获得所述目标处理核信息以及所述核内虚拟全局存储模块地址;
其中,所述目标处理核信息包括所述目标处理核的核地址和/或所述目标处理核的核标识。
7.根据权利要求5所述的处理方法,其特征在于,所述第一处理请求为数据读取请求,所述第二处理请求为第二读取处理请求;
所述基于所述目标处理核信息以及所述核内虚拟全局存储模块地址,向所述目标处理核或所述数据请求单元发送第二处理请求,包括:
根据所述目标处理核信息,向所述目标处理核发送第二读取处理请求;
其中,所述第二读取处理请求包括所述核内虚拟全局存储模块地址,且所述第二读取处理请求用于指示所述目标处理核基于所述核内虚拟全局存储模块地址从所述目标处理核的虚拟全局存储模块读取目标数据,并将所述目标数据传输到所述数据请求单元。
8.根据权利要求5所述的处理方法,其特征在于,所述第一处理请求为数据写入请求,且所述第一处理请求未携带待写入数据,所述第二处理请求为第二写入指示请求;
所述基于所述目标处理核信息以及所述核内虚拟全局存储模块地址,向所述目标处理核或所述数据请求单元发送第二处理请求,包括:
基于所述目标处理核信息以及所述核内虚拟全局存储模块地址,生成所述第二写入指示请求;
将所述第二写入指示请求发送到所述数据请求单元;
其中,所述第二写入指示请求用于指示所述数据请求单元根据所述目标处理核信息以及所述核内虚拟全局存储模块地址,将待写入数据写入所述目标处理核的虚拟全局存储模块中所述核内虚拟全局存储模块地址所指向的位置。
9.根据权利要求5所述的处理方法,其特征在于,所述第一处理请求为携带待写入数据的数据写入请求,且所述待写入数据的数据量小于预设阈值,所述第二处理请求为第二写入处理请求;
所述基于所述目标处理核信息以及所述核内虚拟全局存储模块地址,向所述目标处理核或所述数据请求单元发送第二处理请求,包括:
根据所述目标处理核信息向所述目标处理核发送第二写入处理请求;
其中,所述第二写入处理请求包括所述核内虚拟全局存储模块地址和所述待写入数据,且所述第二写入处理请求用于指示所述目标处理核根据所述核内虚拟全局存储模块地址将所述待写入数据写入所述虚拟全局存储模块。
10.根据权利要求5所述的处理方法,其特征在于,所述第二处理请求基于所述众核系统的片上网络和/或预设的串行总线进行传输;基于所述第二处理请求读取的目标数据和对应的待写入数据基于预设的传输优先级进行传输;
其中,所述传输优先级包括:由所述众核系统的片上网络进行传输的优先级高于由所述串行总线传输的优先级。
11.根据权利要求5所述的处理方法,其特征在于,所述处理核的存储单元的至少部分被配置为私有存储模块,且同一处理核中虚拟全局存储模块和私有存储模块的存储容量基于预设的资源分配方式进行设置;
其中,所述资源分配方式包括基于时间周期进行分配,基于任务信息进行分配,响应于资源分配指示进行分配中的至少一种。
12.一种处理单元,其特征在于,包括:映射转换模块和通信模块;
所述映射转换模块,用于根据系统全局地址与处理核中的虚拟全局存储模块之间的映射关系,将目标系统全局地址转换为所述目标处理核信息以及核内虚拟全局存储模块地址;
所述通信模块,用于与众核系统中的多个处理核连接,以基于所述连接传输处理请求,以使所述目标处理核与数据请求单元之间基于所述核内虚拟全局存储模块地址传输数据,并执行相应的数据读写操作。
13.根据权利要求12所述的处理单元,其特征在于,所述通信模块包括路由子模块和/或串行通信子模块;
所述路由子模块与所述众核系统的片上网络连接,并通过所述片上网络与所述众核系统中的多个处理核建立连接,以基于所述片上网络传输处理请求和对应的处理数据;
所述串行通信子模块与预设的串行总线连接,并通过所述串行总线与所述众核系统中的多个处理核建立连接,以基于所述串行总线传输处理请求,所述处理请求对应的处理数据基于预设的传输优先级进行发送;
所述传输优先级包括:由所述众核系统的片上网络进行传输的优先级高于由所述串行总线传输的优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211027720.8A CN115408328A (zh) | 2022-08-25 | 2022-08-25 | 众核系统、处理方法及处理单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211027720.8A CN115408328A (zh) | 2022-08-25 | 2022-08-25 | 众核系统、处理方法及处理单元 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115408328A true CN115408328A (zh) | 2022-11-29 |
Family
ID=84162411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211027720.8A Pending CN115408328A (zh) | 2022-08-25 | 2022-08-25 | 众核系统、处理方法及处理单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115408328A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610630A (zh) * | 2023-07-14 | 2023-08-18 | 上海芯高峰微电子有限公司 | 一种基于片上网络的多核系统和数据传输方法 |
-
2022
- 2022-08-25 CN CN202211027720.8A patent/CN115408328A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610630A (zh) * | 2023-07-14 | 2023-08-18 | 上海芯高峰微电子有限公司 | 一种基于片上网络的多核系统和数据传输方法 |
CN116610630B (zh) * | 2023-07-14 | 2023-11-03 | 上海芯高峰微电子有限公司 | 一种基于片上网络的多核系统和数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11240155B2 (en) | Technologies for network device load balancers for accelerated functions as a service | |
CN104750559A (zh) | 跨多节点的存储器资源的池化 | |
US11695628B2 (en) | Technologies for autonomous edge compute instance optimization and auto-healing using local hardware platform QoS services | |
CN102857370A (zh) | 一种分配资源的方法及装置 | |
KR101003102B1 (ko) | 멀티 프로세싱 유닛에 대한 메모리 매핑방법, 및 장치 | |
CN108845877B (zh) | 管理内存的方法、装置和系统 | |
CN109002357B (zh) | 资源分配方法、装置及物联网系统 | |
CN104461698A (zh) | 虚拟磁盘动态挂载的方法、管理装置及分布式存储系统 | |
US11617227B2 (en) | Technologies for providing hardware resources as a service with direct resource addressability | |
CN105635191A (zh) | 服务流量的调用导向系统及调用导向方法 | |
CN115408328A (zh) | 众核系统、处理方法及处理单元 | |
CN114721994A (zh) | 众核处理装置、数据处理方法及设备、介质 | |
CN111064786A (zh) | 账户标识管理方法及设备 | |
US10127177B2 (en) | Unified device interface for a multi-bus system | |
US11451435B2 (en) | Technologies for providing multi-tenant support using one or more edge channels | |
CN111679918B (zh) | 一种消息传输方法及装置 | |
CN114661654A (zh) | 访问处理装置和方法、处理设备、电子设备和存储介质 | |
CN114253704A (zh) | 一种分配资源的方法及装置 | |
CN110096355B (zh) | 一种共享资源分配方法、装置和设备 | |
JP2021026769A (ja) | ストレージ管理のための方法、装置、機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム | |
CN114281516A (zh) | 一种基于numa属性的资源分配方法及装置 | |
US20230195527A1 (en) | Workload distribution by utilizing unused central processing unit capacity in a distributed computing system | |
CN110968370B (zh) | 一种数据处理方法及装置 | |
WO2024098232A1 (en) | Adaptive live migration of a virtual machine for a physical storage device controller | |
CN114338598B (zh) | 5g信道资源映射的方法、装置与计算机存储介质 |
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 |