一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

核共享方法及装置、处理核、电子设备、介质与流程

2022-06-01 14:46:58 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,特别涉及一种基于众核系统的核共享方法及装置、处理核、电子设备、计算机可读介质。


背景技术:

2.随着人工智能技术的发展,对数据处理速度的需求日益增加,使得众核系统的应用越来越广泛。众核系统通常具有众多核心(也称为处理核),核心是众核系统中能够独立调度、且拥有完整计算能力的最小计算单元,核心具有一定的存储、计算等资源。众核系统的核心可以分别独立运行程序指令,利用并行计算的能力,可以加快程序的运行速度,并可以提供多任务能力。


技术实现要素:

3.本公开提供一种基于众核系统的核共享方法及装置、处理核、电子设备、计算机可读介质。
4.第一方面,本公开提供了一种基于众核系统的核共享方法,所述众核系统包括预先配置的多个核心簇,每个所述核心簇包括至少一个第二处理核,所述方法包括:接收核共享请求;根据所述核共享请求,从自身所在的第一核心簇和/或预先确定的第二核心簇的第二处理核中,确定出至少一个第二处理核,以作为该第一核心簇与第二核心簇间的共享核,至少一个共享核组成共享核阵列;其中,所述共享核阵列被配置为用于接收并执行该第一核心簇和该第二核心簇分别对应的任务,存储第一核心簇的任务对应的第一任务数据,以及存储第二核心簇的任务对应的第二任务数据。
5.在一些实施例中,所述众核系统还包括第一处理核,所述接收核共享请求,包括:接收外部主机或第一处理核发送的核共享请求,所述核共享请求为所述外部主机或所述第一处理核基于所述第一核心簇和所述第二核心簇对应的公共任务而生成。
6.在一些实施例中,所述接收核共享请求,包括:接收所述第二核心簇的主处理核发送的核共享请求,所述第二核心簇的主处理核为所述第二核心簇的至少一个第二处理核中预先指定的第二处理核。
7.在一些实施例中,在确定出共享核之后,还包括:更新各所述共享核分别对应的核心簇列表,更新后的所述核心簇列表包括第一核心簇和第二核心簇分别对应的标识信息。
8.在一些实施例中,在确定出共享核阵列之后,所述核共享方法还包括:
9.在所述共享核阵列对应的存储区中创建与所述第一核心簇对应的第一共享存储区域,所述第一共享存储区域用于存储所述第一核心簇对应的任务的第一任务数据;
10.在所述共享核阵列对应的存储区中创建与所述第二核心簇对应的第二共享存储区域,所述第二共享存储区域用于存储所述第二核心簇对应的任务的第二任务数据。
11.在一些实施例中,在所述共享核阵列对应的存储区中创建与所述第一核心簇对应的第一共享存储区域之前,还包括:
12.判断所述共享核阵列对应的存储区中是否存在可用存储空间;
13.响应于判断出所述共享核阵列对应的存储区中存在可用存储空间,执行在所述共享核阵列对应的存储区中创建与所述第一核心簇对应的第一共享存储区域的步骤。
14.在一些实施例中,所述判断所述共享核阵列对应的存储区中是否存在可用存储空间之后,还包括:
15.响应于判断出所述共享核阵列对应的存储区中不存在可用存储空间,确定众核系统中不归属于任何核心簇的处理核中空闲的处理核;
16.将至少一个所述空闲的处理核确定为所述共享核,并加入所述共享核阵列中。
17.在一些实施例中,所述共享核的数量为多个,所述共享核阵列对应的存储区还包括通用共享存储区域,所述第一共享存储区域、所述第二共享存储区域和所述通用共享存储区域分别对应一个或多个共享核;
18.其中,所述第一共享存储区域对应的共享核被配置为用于存储所述第一核心簇的任务对应的第一任务数据;
19.所述第二共享存储区域对应的共享核被配置为用于存储所述第二核心簇的任务对应的第二任务数据;
20.所述通用共享存储区域对应的共享核被配置为用于接收并执行所述第一核心簇和所述第二核心簇分别对应的任务。
21.在一些实施例中,所述第一任务数据包括第一输入数据、第一输出数据和第一任务配置信息,所述第一共享存储区域包括第一输入数据区域、第一输出数据区域以及第一任务配置区域;
22.其中,所述第一输入数据区域中的共享核被配置为用于存储所述第一核心簇的任务对应的第一输入数据;所述第一输出数据区域中的共享核被配置为用于存储所述第一核心簇的任务对应的第一输出数据;所述第一任务配置区域中的共享核被配置为用于存储所述第一核心簇的任务对应的第一任务配置信息。
23.在一些实施例中,所述第二任务数据包括第二输入数据、第二输出数据和第二任务配置信息,所述第二共享存储区域包括第二输入数据区域、第二输出数据区域以及第二任务配置区域;
24.其中,所述第二输入数据区域中的共享核被配置为用于存储所述第二核心簇的任务对应的第二输入数据;所述第二输出数据区域中的共享核被配置为用于存储所述第二核心簇的任务对应的第二输出数据;所述第二任务配置区域中的共享核被配置为用于存储所述第二核心簇的任务对应的第二任务配置信息。
25.第二方面,本公开提供了一种核共享装置,该核共享装置应用于众核系统,该众核系统包括预先配置的多个核心簇,每个核心簇包括至少一个第二处理核,该核共享装置包括:接收模块,用于接收核共享请求;共享确定模块,用于根据所述核共享请求,从自身所在的第一核心簇和/或预先确定的第二核心簇的第二处理核中,确定出至少一个第二处理核,以作为该第一核心簇与第二核心簇间的共享核,至少一个共享核组成共享核阵列;其中,所述共享核阵列被配置为用于接收并执行该第一核心簇和该第二核心簇分别对应的任务,存储第一核心簇的任务对应的第一任务数据,以及存储第二核心簇的任务对应的第二任务数据。
26.第三方面,本公开提供了一种处理核,该处理核包括上述的核共享装置。
27.第四方面,本公开提供了一种电子设备,该电子设备包括:多个处理核;以及,片上网络,被配置为交互所述多个处理核间的数据和外部数据;其中,一个或多个所述处理核中存储有一个或多个指令,一个或多个所述指令被一个或多个所述处理核执行,以使一个或多个所述处理核能够执行上述的核共享方法。
28.第五方面,本公开提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现上述的核共享方法。
29.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
30.附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
31.图1为本公开实施例提供的一种基于众核系统的核共享方法的流程图;
32.图2为本公开实施例提供的一种众核系统的组成框图;
33.图3为本公开实施例提供的另一种核共享方法的流程图;
34.图4为本公开实施例提供的又一种核共享方法的流程图;
35.图5为本公开实施例中一种共享核阵列的结构示意图;
36.图6为本公开实施例提供的一种核共享装置的组成框图;
37.图7为本公开实施例提供的一种电子设备的组成框图。
具体实施方式
38.为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
39.在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
40.如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
41.本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
42.除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具
有理想化或过度形式上的含义,除非本文明确如此限定。
43.在本公开实施例中,众核系统包括多个预先配置的核心簇,每个核心簇包括至少一个第二处理核,各核心簇分别用于执行相应的计算任务。在各核心簇执行相应任务的过程中,可能存在某些处理核的数据、参数(例如权重),同时被多个核心簇需要。作为示例,在深度学习网络中,对于骨干网络对应的处理核和分支网络对应的处理核,分支网络对应的处理核均需要利用骨干网络对应的处理核的数据进行预测处理。而分支网络对应的处理核与骨干网络对应的处理核分别位于不同的核心簇时,如何有效实现核心簇间的跨簇业务,是在众核系统的核心簇场景下亟需解决的技术问题。
44.图1为本公开实施例提供的一种基于众核系统的核共享方法的流程图。
45.参照图1,本公开实施例提供一种基于众核系统的核共享方法,其中众核系统包括预先配置的多个核心簇,每个核心簇包括至少一个第二处理核,该方法可以由核共享装置来执行,该装置可以通过软件和/或硬件的方式实现,该核共享方法包括:
46.步骤s1、接收核共享请求。
47.步骤s2、根据核共享请求,从自身所在的第一核心簇和/或预先确定的第二核心簇的第二处理核中,确定出至少一个第二处理核,以作为该第一核心簇与第二核心簇间的共享核,至少一个共享核组成共享核阵列。
48.其中,共享核阵列被配置为用于接收并执行该第一核心簇和该第二核心簇分别对应的任务,存储该第一核心簇的任务对应的第一任务数据,以及存储该第二核心簇的任务对应的第二任务数据。其中,第一任务数据包括第一输入数据、第一输出数据以及第一任务配置信息,第二任务数据包括第二输入数据、第二输出数据以及第二任务配置数据。
49.其中,输入数据例如可以是执行任务时所需的数据,输出数据例如可以是执行任务的结果,任务配置信息为执行任务所需的配置,例如可以是内存配置、路由配置、运算顺序配置、运算时间配置、运算算子配置等信息。
50.在本公开实施例中,第一核心簇为众核系统的多个核心簇中的任一核心簇,第二核心簇为众核系统中第一核心簇以外的任一核心簇,第二核心簇的数量可以是一个,也可以是多个。
51.本公开实施例所提供的基于众核系统的核共享方法,在众核系统包括多个核心簇的业务场景下,对于有跨簇业务需求的多个核心簇,通过将任一个核心簇或多个核心簇中的至少一个第二处理核作为多个核心簇之间的共享核,多个核心簇可以共用该共享核的数据(例如深度学习网络中所需的参数等),从而实现了众核系统的多个核心簇间的跨簇业务,满足了多个核心簇需共用一些处理核的数据的需求,提高了众核系统中部分处理核的控制能力以及提高了众核系统进行任务处理的灵活性。
52.图2为本公开实施例提供的一种众核系统的组成框图,在本公开实施例中,参见图2,在每个核心簇中均具有一主处理核,该主处理核为该核心簇的至少一个第二处理核中预先指定的一第二处理核。本公开实施例的核共享方法可以应用于众核系统中任一核心簇的主处理核,即本公开实施例的核共享方法基于任一核心簇的主处理核实现,主处理核可以用于处理自身所在核心簇对应的任务,同时还可以用于进行簇内的任务分配和管理。
53.在一些实施例中,当众核系统中至少一个第二核心簇需要使用第一核心簇中的一个或多个第二处理核的数据(如参数)时,则第二核心簇的主处理核可以向第一核心簇的主
处理核发送核共享请求,核共享请求中可以包括但不限于:第二核心簇对应的标识信息、地址信息、需共享第一核心簇中的一个或多个第二处理核的信息等。此种情形下,在步骤s1中,第一核心簇的主处理核接收第二核心簇的主处理核发送的核共享请求,其中第二核心簇的主处理核为第二核心簇的至少一个第二处理核中预先指定的第二处理核。
54.在一些实施例中,参见图2,众核系统包括多个处理核,其中,一处理核预先被指定为第一处理核,其余处理核为第二处理核,第一处理核用于接收来自外部主机发送的待处理任务,并在众核系统中组建用于处理待处理任务的核心簇,对待处理任务在众核系统中进行调度和管理。
55.当外部主机或第一处理核需要给多个核心簇建立或分配一个公共任务时,外部主机或第一处理核可以选取该多个核心簇中的任一个核心簇作为第一核心簇,而其余核心簇作为第二核心簇,外部主机或第一处理核可以先向第一核心簇的主处理核发送核共享请求,核共享请求中可以包括但不限于公共任务、第二核心簇对应的标识信息、地址信息等,以使第一核心簇的主处理核组建用于处理公共任务的共享核。此种情形下,在步骤s1中,第一核心簇的主处理核接收外部主机或第一处理核发送的核共享请求,核共享请求为外部主机或第一处理核基于第一核心簇和第二核心簇所对应的公共任务而生成。
56.其中,公共任务是指第一核心簇和第二核心簇均需要执行的任务,例如第一核心簇需要执行快速傅里叶变换任务(fft)和窗函数滤波任务,第二核心簇需要执行快速傅里叶变换任务(fft)和频域乘法任务,则快速傅里叶变换任务(fft)即为第一核心簇和第二核心簇所对应的公共任务,例如公共任务可以是神经网络的骨干网络中的复杂数学运算(如矩阵分解,fft等)任务。
57.在一些实施例中,在步骤s2中,第一核心簇的主处理核在接收到来自第二核心簇的主处理核的核共享请求之后,根据该核共享请求,从自身所在的第一核心簇的至少一个第二处理核中确定出至少一个第二处理核,该确定出的第二处理核作为共享核,至少一个共享核组成共享核阵列。其中,共享核的数量具体可以根据第二核心簇的主处理核请求共享的第二处理核的数量确定,本公开实施例对此不作限制。从而了实现了多个核心簇间的跨簇业务,满足了多个核心簇需共用一些处理核的数据的需求,提高了众核系统中部分处理核(如核心簇的主处理核)的控制能力以及各簇的任务处理的灵活性。
58.在一些实施例中,在步骤s2中,第一核心簇的主处理核在接收到来自外部主机或众核系统中的第一处理核的核共享请求之后,根据核共享请求,从自身所在的第一核心簇的至少一个第二处理核中确定出至少一个第二处理核,该确定出的第二处理核作为共享核,至少一个共享核组成共享核阵列。其中,共享核的数量具体可以根据公共任务所需的资源需求量确定,本公开实施例对此不作限制,只要使得组建的共享核的总剩余资源量能够满足(大于或等于)公共任务所需的资源需求量即可。
59.其中,公共任务所需的资源需求量是指执行该公共任务时所需的资源量,例如资源可以是计算资源、存储资源、带宽资源。对于需要处理公共任务的多个核心簇,通过组建多个核心簇间的共享核,用于处理公共任务,从而提高了任务的处理效率和灵活性,同时实现了众核系统的多个核心簇间的跨簇业务,满足了多个核心簇需共用一些处理核的数据的需求。
60.在一些实施例中,第一核心簇的主处理核选取空闲的第二处理核作为共享核。在
一些实施例中,在接收到第二核心簇的主处理核的核共享请求的情形下,若自身所在的第一核心簇中不存在空闲的第二处理核,则向第二核心簇的主处理核返回核共享请求失败消息。在一些实施例中,在接收到外部主机或第一处理核的核共享请求的情形下,若自身所在的第一核心簇中不存在空闲的第二处理核,则向外部主机或第一处理核返回核共享请求失败消息。
61.在一些实施例中,在步骤s2中,第一核心簇的主处理核在接收到来自外部主机或众核系统中的第一处理核的核共享请求之后,根据核共享请求,从第二核心簇的至少一个第二处理核中确定出至少一个第二处理核,该确定出的第二处理核作为第一核心簇和第二核心簇之间的共享核。在一些实施例中,在步骤s2中,第一核心簇的主处理核在接收到来自外部主机或众核系统中的第一处理核的核共享请求之后,根据核共享请求,若自身所在的第一核心簇中不存在可用(空闲)的第二处理核,则从第二核心簇的至少一个第二处理核中确定出至少一个第二处理核,该确定出的第二处理核作为第一核心簇和第二核心簇之间的共享核。
62.具体地,从第二核心簇的至少一个第二处理核中确定出至少一个第二处理核,以作为共享核,具体包括:向第二核心簇的主处理核发送核共享请求,以供第二核心簇的主处理核响应于核共享请求,从自身所在核心簇的至少一个第二处理核中确定出至少一个第二处理核,以作为共享核。
63.需要说明的是,在本公开实施例中,第一核心簇和第二核心簇中的“第一”、“第二”只是为了区分不同的核心簇,并非特指某一个核心簇,在众核系统中,所有核心簇的地位等同,均可以作为第一核心簇接收核共享请求,并响应于核共享请求执行核共享方法,所有核心簇中的每个核心簇也均可以作为第二核心簇向其他核心簇请求核共享,本公开实施例对此不作限制。
64.在一些实施例中,第一核心簇的主处理核在接收到来自外部主机或众核系统中的第一处理核的核共享请求之后,根据核共享请求,从自身所在第一核心簇的至少一个第二处理核中确定出至少一个第二处理核,以作为共享核,并从第二核心簇的至少一个第二处理核中确定出至少一个第二处理核,以作为共享核。换言之,从第一核心簇中筛选出一部分第二处理核,并从第二核心簇中筛选出一部分第二处理核,共同作为共享核。
65.在一些实施例中,第一核心簇或第二核心簇的主处理核在确定出作为共享核的第二处理核之后,还对该第二处理核进行标记,以将该第二处理核标记为已共享,以便进行簇内各核的管理。
66.图3为本公开实施例提供的另一种核共享方法的流程图。
67.参照图3,为了便于进行管理,在一些实施例中,在确定出共享核之后,核共享方法还包括:
68.步骤s3、更新各共享核分别对应的核心簇列表,更新后的核心簇列表包括第一核心簇和第二核心簇分别对应的标识信息。
69.作为示例,在共享之前,每个簇中各第二处理核均预先存储有各自所在核心簇对应的核心簇列表,在核心簇列表中包括但不限于:该第二处理核所在核心簇对应的标识信息、簇内各成员信息,簇内各成员信息包括但不限于:各成员的标识、地址、位置等。作为示例,第一核心簇的主处理核在确定出共享核之后,在各共享核的核心簇列表中添加第二核
心簇对应的标识信息,从而更新各共享核分别对应的核心簇列表,更新后的核心簇列表包括第一核心簇和第二核心簇分别对应的标识信息,以便于共享核识别后续作业归属于第一核心簇或第二核心簇,并进行相应处理。
70.在一些实施例中,第一核心簇的主处理核在确定出共享核之后,还向第二核心簇反馈共享核的信息,该信息包括但不限于共享核的标识、地址信息等,以便于第二核心簇中的处理核能够访问共享核,以获取所需的数据,或者通过共享核实现所需的业务等。
71.在一些实施例中,在接收外部主机或第一处理核发送的核共享请求的情形下,若第一核心簇的主处理核将核共享请求发送给第二核心簇的主处理核,则第二核心簇的主处理核在确定出共享核之后,还向第一核心簇反馈共享核的信息,该信息包括但不限于共享核的标识、地址信息等,以便于第一核心簇中的处理核能够访问共享核,以获取所需的数据,或者通过共享核实现所需的业务等。
72.图4为本公开实施例提供的又一种核共享方法的流程图。
73.参照图4,在一些实施例中,为了有效解决共享核对于不同核心簇的数据的写入写出冲突的问题,在确定出共享核阵列之后,核共享方法还包括:
74.步骤s4、判断共享核阵列对应的存储区中是否存在可用存储空间,若存在,则执行步骤s5,否则执行步骤s7。
75.在一些实施例中,进一步地,在判断出共享核阵列对应的存储区中存在可用存储空间之后,还可以进一步判断该可用存储空间的内存容量是否大于或等于预设内存容量,若大于或等于,则执行步骤s5,否则执行步骤s7。其中,共享核阵列对应的存储区为共享核阵列中所有共享核的存储区。
76.步骤s5、在共享核阵列对应的的存储区中创建与第一核心簇对应的第一共享存储区域。
77.可以理解的是,在共享核阵列对应的的存储区中创建与第一核心簇对应的第一共享存储区域,即为在共享核阵列的可用存储空间中创建第一共享存储区域。
78.在步骤s5中,响应于判断出共享核阵列对应的存储区中存在可用存储空间,在共享核阵列对应的存储区中创建与第一核心簇对应的第一共享存储区域。在一些实施例中,响应于判断出共享核阵列对应的存储区中存在可用存储空间,且判断出该可用存储空间的内存容量大于或等于预设内存容量,在共享核阵列对应的存储区中创建与第一核心簇对应的第一共享存储区域。其中,第一共享存储区域用于存储第一核心簇的任务对应的第一任务数据。
79.步骤s6、在共享核阵列对应的存储区中创建与第二核心簇对应的第二共享存储区域,并结束流程。
80.可以理解的是,在共享核阵列对应的的存储区中创建与第二核心簇对应的第二共享存储区域,即为在共享核阵列的可用存储空间中创建第二共享存储区域。其中,第二共享存储区域用于存储第二核心簇对应的任务的第二任务数据。
81.在一些实施例中,在共享核阵列对应的存储区中创建与第二核心簇对应的第二共享存储区域之后,还包括:在共享核阵列对应的存储区中创建通用共享存储区域,通用共享存储区域用于承载第一核心簇和第二核心簇分别对应的任务的执行运算过程。
82.步骤s7、确定众核系统中不归属于任何核心簇的处理核中空闲的处理核。
83.步骤s8、将至少一个该空闲的处理核添加至自身所在的第一核心簇,并将该至少一个空闲的处理核确定为共享核,并加入共享核阵列,并跳转至步骤s5。
84.在步骤s7中,响应于判断出共享核阵列对应的存储区中不存在可用存储空间,确定众核系统中不归属于任何核心簇的处理核中空闲的处理核。在一些实施例中,响应于判断出共享核阵列的可用存储空间的内存容量小于预设内存容量,确定众核系统中不归属于任何核心簇的处理核中空闲的处理核。
85.在一些实施例中,在步骤s7中,第一核心簇的主处理核可以监控或获取众核系统中各处理核的状态,从而可以确定众核系统中当前可用的所有处理核,即空闲的处理核。
86.在一些实施例中,在步骤s8中,将至少一个空闲的处理核添加至自身所在的第一核心簇可以进一步包括:创建该空闲的处理核的标识,并将该空闲的处理核的标识、地址及位置等信息添加至自身所在第一核心簇对应的核心簇列表,以更新自身所在第一核心簇对应的核心簇列表,同时将自身所在第一核心簇对应的核心簇列表发送给该空闲的处理核进行存储。
87.在一些实施例中,在接收到核共享请求之后,若自身所在的第一核心簇中不存在空闲的第二处理核,则还可以进一步跳转至步骤s7。
88.在一些实施例中,确定出的共享核阵列包括一个共享核,则在步骤s5、步骤s6中,从该共享核的存储区中创建与第一核心簇对应的第一共享存储区域,并创建与第二核心簇对应的第二共享存储区域,同时还可以创建用于承载任务的运算过程的通用共享存储区域。
89.在一些实施例中,确定出的共享核阵列包括多个共享核,其中,第一核心簇对应的第一共享存储区域可以对应阵列中的一个或多个共享核,也即第一核心簇对应的第一共享存储区域包括一个或多个共享核的存储区;同理,第二核心簇对应的第二共享存储区域也可以对应阵列中的一个或多个共享核,也即第二核心簇对应的第二共享存储区域包括一个或多个共享核的存储区;同理,通用共享存储区域也可以对应一个或多个共享核,也即通用共享存储区域包括一个或多个共享核的存储区。其中,不同区域对应的共享核不同。
90.换言之,在共享核阵列包括多个共享核的情形下,可以将多个共享核分成不同的区域,其中一个区域对应第一核心簇,用于存储第一核心簇的任务对应的第一任务数据,一个区域对应第二核心簇,用于存储第二核心簇的任务对应的第二任务数据,另一个区域作为第一核心簇和第二核心簇通用的计算通路区域,用于承载第一核心簇和第二核心簇分别对应的任务的执行运算过程。
91.图5为本公开实施例中一种共享核阵列的结构示意图,参见图5,在一些实施例中,共享核阵列包括多个共享核,共享核阵列对应存储区包括第一核心簇对应的第一共享存储区域m1、第二核心簇对应的第二共享存储区域m2、以及通用共享存储区域m0,第一共享存储区域、第二共享存储区域和通用共享存储区域可以分别对应一个或多个共享核。其中,第一共享存储区域m1对应的共享核可以被配置为用于存储第一核心簇的任务对应的第一任务数据,包括第一输入数据、第一输出数据以及第一任务配置信息;第二共享存储区域m2对应的共享核可以被配置为用于存储第二核心簇的任务对应的第二任务数据,包括第二输入数据、第二输出数据以及第二任务配置信息;通用共享存储区域m0对应的共享核可以被配置为用于接收并执行第一核心簇和第二核心簇分别对应的任务,也即承载第一核心簇和第二
核心簇的任务的运算过程。
92.在一些实施例中,参照图5,第一共享存储区域m1可以包括第一输入数据区域、第一输出数据区域以及第一任务配置区域,第一输入数据区域被配置为用于存储第一核心簇的任务对应的第一输入数据;第一输出数据区域被配置为用于存储第一核心簇的任务对应的第一输出数据;第一任务配置区域被配置为用于存储第一核心簇的任务对应的第一任务配置信息。
93.在一些实施例中,第一共享存储区域m1对应多个共享核,第一输入数据区域、第一输出数据区域以及第一任务配置区域可以分别对应一个或多个共享核,第一输入数据区域对应的共享核被配置为用于存储第一核心簇的任务对应的第一输入数据,第一输出数据区域对应的共享核被配置为用于存储第一核心簇的任务对应的第一输出数据,第一任务配置区域对应的共享核被配置为用于存储第一核心簇的任务对应的第一任务配置信息。
94.在一些实施例中,参照图5,第二共享存储区域m2可以包括第二输入数据区域、第二输出数据区域以及第二任务配置区域,第二输入数据区域被配置为用于存储第二核心簇的任务对应的第二输入数据;第二输出数据区域被配置为用于存储第二核心簇的任务对应的第二输出数据;第二任务配置区域被配置为用于存储第二核心簇的任务对应的第二任务配置信息。
95.在一些实施例中,第二共享存储区域m2对应多个共享核,第二输入数据区域、第二输出数据区域以及第二任务配置区域可以分别对应一个或多个共享核,第二输入数据区域对应的共享核被配置为用于存储第二核心簇的任务对应的第二输入数据,第二输出数据区域对应的共享核被配置为用于存储第二核心簇的任务对应的第二输出数据,第二任务配置区域对应的共享核被配置为用于存储第二核心簇的任务对应的第二任务配置信息。
96.在一些实施例中,共享核阵列对应配置有任务列表,该任务列表可以存储于第一核心簇的主处理核和/或第二核心簇的主处理核,共享核阵列可以按照任务列表中的任务顺序进行任务的处理,任务列表中可以包括但不限于:计算任务、信令任务、切换任务等。其中,计算任务例如是用于指示进行运算、计算等操作的任务,信令任务例如是用于指示向对应的核心簇发送所需的通知、请求等的任务,切换任务例如是用于在共享核从服务于一个核心簇切换至服务于另一个核心簇的情形下,指示进行缓冲区重置以及输入输出地址切换等操作的任务。在任务处理完成后,任务列表中相应的任务将被清除。
97.图6为本公开实施例提供的一种核共享装置的组成框图。
98.参照图6,本公开实施例提供了一种核共享装置300,该核共享装置300应用于众核系统,该众核系统包括预先配置的多个核心簇,每个核心簇包括至少一个第二处理核,该核共享装置300包括:接收模块301和共享确定模块302。
99.其中,接收模块301用于接收核共享请求;共享确定模块302用于根据核共享请求,从自身所在的第一核心簇和/或预先确定的第二核心簇的第二处理核中,确定出至少一个第二处理核,以作为该第一核心簇与第二核心簇间的共享核,至少一个共享核组成共享核阵列。其中,共享核阵列被配置为用于接收并执行该第一核心簇和该第二核心簇分别对应的任务,存储第一核心簇的任务对应的第一任务数据,以及存储第二核心簇的任务对应的第二任务数据。
100.在一些实施例中,该该核共享装置300还包括更新模块(图中未示出),更新模块用
于在共享确定模块302确定出共享核之后,更新各共享核分别对应的核心簇列表,更新后的核心簇列表包括第一核心簇和第二核心簇分别对应的标识信息。
101.在一些实施例中,该核共享装置300还包括共享存储区创建模块(图中未示出),共享存储区创建模块用于:在共享确定模块302确定出共享核阵列之后,在共享核阵列对应的存储区中创建与第一核心簇对应的第一共享存储区域,第一共享存储区域用于存储第一核心簇对应的任务的第二任务数据;在共享核阵列对应的存储区中创建与第二核心簇对应的第二共享存储区域,第二共享存储区域用于存储第二核心簇的任务对应的第二任务数据。
102.在一些实施例中,该核共享装置300还包括判断模块(图中未示出),判断模块用于在共享存储区创建模块创建第一共享存储区域之前,判断共享核阵列对应的存储区中是否存在可用存储空间;共享存储区创建模块具体用于响应于判断模块判断出共享核阵列对应的存储区中存在可用存储空间,执行在共享核阵列对应的存储区中创建与第一核心簇对应的第一共享存储区域的步骤。
103.在一些实施例中,该核共享装置300还包括核扩充模块(图中未示出),核扩充模块用于响应于判断模块判断出共享核阵列对应的存储区中不存在可用存储空间,确定众核系统中不归属于任何核心簇的处理核中空闲的处理核;将至少一个空闲的处理核确定为共享核,并加入所述共享核阵列中。
104.此外,本公开实施例所提供的核共享装置300,用于实现上述的核共享方法,关于该核共享装置300的其他描述可参见上述核共享方法中的描述,此处不再赘述。
105.本公开实施例还提供了一种处理核,该处理核包括上述的核共享装置。
106.图7为本公开实施例提供的一种电子设备的组成框图。
107.参照图7,本公开实施例提供了一种电子设备,该电子设备包括多个处理核701以及片上网络702,其中,多个处理核701均与片上网络702连接,片上网络702用于交互多个处理核间的数据和外部数据。
108.其中,一个或多个处理核701中存储有一个或多个指令,一个或多个指令被一个或多个处理核701执行,以使一个或多个处理核701能够执行上述的核共享方法。
109.此外,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现上述的核共享方法。
110.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访
问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
111.本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献