本技术涉及计算机计算,特别是涉及一种业务执行方法、处理器、加速器、异构计算系统及设备
背景技术:
1、随着高性能计算、人工智能的快速发展,计算系统变得越来越复杂,通常整个系统由多个芯片组成,为了能够对特定的场景和业务做到加速,同时为了提高整个系统的能效,通常将采用特定的芯片对其业务进行加速,处理器cpu作为整个系统的控制中枢,按照不同的业务场景,可能存在多个相同的加速器或者多个不同的加速器,此时加速器和处理器cpu就会组成一个异构的计算系统。
2、在异构计算系统中,处理器可以将需要执行的业务拆分成一个一个的任务包(task),然后将task提交到加速器上进行加速处理。但是目前因为不同的任务包之间相互独立,而且可能在处理器的存储空间中并非连续,导致加速器从处理器中下拉任务包时,需要耗费大量的时间,导致效率较低。
技术实现思路
1、本技术至少提供一种业务执行方法、处理器、加速器、异构计算系统及设备。
2、本技术提供了一种业务执行方法,业务执行方法应用于异构计算系统中的处理器,异构计算系统中包括处理器和加速器,业务执行方法包括:对需要执行的业务进行拆分,得到任务包集合,任务包集合中包括至少两个任务包,任务包集合中除最后一个待执行的任务包以外的各任务包中携带了后一个待执行的任务包的指示信息;将任务包集合中首个任务包的指示信息发送至对应的加速器,以供加速器基于首个任务包的指示信息获取任务包集合中的其余任务包;接收加速器返回的任务执行结果,任务执行结果是加速器对任务包集合中一个或多个任务包执行得到的结果;结合加速器返回的任务执行结果,得到业务的执行结果。
3、在上述方案中,处理器在对待执行的业务进行拆分时,在各任务包中携带后一个待执行的任务包的指示信息,使得对应的加速器在获取到首个任务包之后,能够根据首个任务包携带的后一个任务包的指示信息获取到后一个任务包,以此类推,加速器能够通过这种链表式的方式获取到对应任务包集合中所有的任务包,相对于各任务包相对独立而言,本方案能够提高加速器获取各任务包的效率。
4、在一些实施例中,任务包的指示信息包括任务包的存储地址,每一任务包中包括头部、本体部以及下级部,头部中携带了当前任务包的相关信息,本体部携带了当前任务包的待执行任务,对于任务包集合中除最后一个待执行的任务包以外的各任务包的下级部携带了当前任务包的后一个任务包的存储地址。
5、在上述方案中,通过将任务包分为头部、本体部以及下级部,通过在下级部中携带当前任务包的后一个任务包的存储地址,方便加速器在对当前任务包解析之后,得到下一个任务包的存储地址,从而获取到下一个任务包。
6、在一些实施例中,任务包集合中首个任务包中的头部携带了任务包集合中具有的任务包的目标数量,以便加速器根据目标数量确定是否已获取任务包集合中全部的任务包。
7、在上述方案中,通过在首个任务包的头部携带该任务包集合中具有任务包的目标数量,从而方便加速器在获取目标数量的任务包之后,能够确定已经获取到该任务包集合中全部的任务包。
8、在一些实施例中,任务包集合中最后一个任务包中的下级部携带了当前任务包为尾个任务包的标识信息。
9、在上述方案中,通过在任务包集合中最后一个任务包的下级部中携带当前任务包为尾个任务包的标识信息,从而方便加速器在获取到尾个数据包之后,能够确定已经获取到该任务包集合中全部的任务包。
10、在一些实施例中,在异构计算系统中,任务包集合对应两个以上加速器,在将任务包集合中首个任务包的指示信息发送至对应的加速器之前,方法还包括:确定任务包集合对应的加速器的存储空间是否存在空闲;将目标加速器对应的任务包集合中首个任务包的指示信息,发送至目标加速器,目标加速器为存储空间存在空闲的加速器。
11、在上述方案中,通过在确定加速器的存储空间存在空闲的情况下,才将首个任务包的指示信息发送至该加速器,能够减少加速器的存储负担。
12、在一些实施例中,方法还包括:接收加速器发送的通知信息,通知信息是加速器在执行完任务包之后发出的;释放已经被执行的任务包对应的资源,资源包括处理器中的存储空间。
13、在上述方案中,在加速器执行完对应的任务包之后,处理器接收加速器发送的通知信息,释放处理器中的相关资源,能够实现资源的重复利用。
14、本技术提供了一种业务执行方法,业务执行方法应用于异构计算系统中的加速器,异构计算系统中包括处理器和加速器,业务执行方法包括:接收处理器发送的任务包集合中首个任务包的指示信息,任务包集合是处理器对业务进行拆分得到,至少一个任务包集合中包括多个任务包,任务包集合中除最后一个待执行的任务包以外的各任务包中携带了后一个待执行的任务包的指示信息;基于首个任务包的指示信息,获取首个任务包所在的任务包集合中的其余任务包;执行任务包集中的一个或多个任务包,得到任务执行结果;将任务执行结果发送至处理器。
15、在上述方案中,处理器在对待执行的业务进行拆分时,在各任务包中携带后一个待执行的任务包的指示信息,使得对应的加速器在获取到首个任务包之后,能够根据首个任务包携带的后一个任务包的指示信息获取到后一个任务包,以此类推,加速器能够通过这种链表式的方式获取到对应任务包集合中所有的任务包,相对于各任务包相对独立而言,本方案能够提高加速器获取各任务包的效率。
16、在一些实施例中,任务包的指示信息包括任务包的存储地址,每一任务包中包括头部、本体部以及下级部,头部中携带了当前任务包的相关信息,本体部携带了当前任务包的待执行任务,对于任务包集合中除最后一个待执行的任务包以外的各任务包的下级部携带了当前任务包的后一个任务包的存储地址,基于首个任务包的指示信息,获取首个任务包所在的任务包集合中的其余任务包,包括:基于首个任务包的存储地址,从处理器的存储空间中获取首个任务包;根据首个任务包中下级部携带的后一个待执行的任务包的存储地址,获取首个中间任务包;对于每一中间任务包,根据中间任务包中下级部携带的后一个待执行的任务包的存储地址,获取中间任务包的后一个待执行的任务包,得到任务包集合中的所有任务包。
17、在上述方案中,通过将任务包分为头部、本体部以及下级部,通过在下级部中携带当前任务包的后一个任务包的存储地址,方便加速器在对当前任务包解析之后,得到下一个任务包的存储地址,从而获取到下一个任务包。
18、在一些实施例中,任务包集合中首个任务包中的头部携带了任务包集合中具有的任务包的目标数量,对于每一中间任务包,根据中间任务包中下级部携带的后一个待执行的任务包的存储地址,获取中间任务包的后一个待执行的任务包,得到任务包集合中的所有任务包,包括:响应于当前任务包为第k个获取到的任务包,确定任务包集合中所有的任务包均已获取,其中,k=目标数量。
19、在上述方案中,通过在首个任务包的头部携带该任务包集合中具有任务包的目标数量,从而方便加速器在获取目标数量的任务包之后,能够确定已经获取到该任务包集合中全部的任务包。
20、在一些实施例中,任务包集合中最后一个任务包中的下级部携带了当前任务包为尾个任务包的标识信息,对于每一中间任务包,根据中间任务包中下级部携带的后一个待执行的任务包的存储地址,获取中间任务包的后一个待执行的任务包,得到任务包集合中的所有任务包,包括:响应于当前任务包中的下级部携带了当前任务包为尾个任务包的标识信息,确定任务包集合中所有的任务包均已获取。
21、在上述方案中,通过在任务包集合中最后一个任务包的下级部中携带当前任务包为尾个任务包的标识信息,从而方便加速器在获取到尾个数据包之后,能够确定已经获取到该任务包集合中全部的任务包。
22、在一些实施例中,对于每一中间任务包,根据中间任务包中下级部携带的后一个待执行的任务包的存储地址,获取中间任务包的后一个待执行的任务包,得到任务包集合中的所有任务包,包括:对获取到的任务包进行压缩,压缩包括将任务包中的头部和/或下级部去除;将压缩后的任务包存储至加速器对应的存储空间;其中,任务执行结果包括各任务包对应的执行结果,加速器获取到的任务包存储在加速器的存储空间中,执行任务包集中的一个或多个任务包,得到任务执行结果,包括:响应于加速器检测到存储空间中存在任务包,将任务包分发至加速器的执行单元中执行,得到任务包对应的执行结果,每一加速器中包括一个或多个执行单元。
23、在上述方案中,通过对任务包进行压缩,将压缩之后的存储至加速器对应的存储空间中,能够减少单个任务包所占的存储空间。
24、在一些实施例中,在将压缩后的任务包存储至加速器对应的存储空间之后,方法还包括:根据存储空间的存储情况设置存储状态;将存储空间的存储状态发送至处理器,以便处理器根据存储状态确定加速器的存储空间是否存在空闲。
25、在上述方案中,通过根据存储空间的存储情况设置对应的存储状态,能够方便处理器确定存储空间的存储情况,使得处理器根据各加速器存储空间的情况,确定是否将首个任务包的指示信息发送至加速器。
26、在一些实施例中,方法还包括:响应于任务包已经执行,加速器向处理器发送通知信息,以便处理器基于通知信息释放与任务包对应的资源,资源包括处理器中的存储空间。
27、在上述方案中,在加速器执行完对应的任务包之后,处理器接收加速器发送的通知信息,释放处理器中的相关资源,能够实现资源的重复利用。
28、本技术提供了一种处理器,处理器应用于异构计算系统,异构计算系统中包括处理器和加速器,处理器包括:业务拆分单元,用于对需要执行的业务进行拆分,得到任务包集合,各任务包集合分别对应有加速器,至少一个任务包集合中包括多个任务包,任务包集合中除最后一个待执行的任务包以外的各任务包中携带了后一个待执行的任务包的指示信息;任务分发单元,用于将任务包集合中首个任务包的指示信息发送至对应的加速器,以便加速器基于首个任务包的指示信息获取首个任务包所在的任务包集合中的其余任务包;数据接收单元,用于接收加速器返回的任务执行结果,任务执行结果是加速器对任务包集合中一个或多个任务包执行得到的结果;数据融合单元,用于结合加速器返回的任务执行结果,得到业务的执行结果。
29、本技术提供了一种加速器,加速器应用于异构计算系统,异构计算系统中包括处理器和加速器,加速器包括:任务接收单元,用于接收处理器发送的任务包集合中首个任务包的指示信息,任务包集合是处理器对业务进行拆分得到,任务包集合中包括多个任务包,任务包集合中除最后一个待执行的任务包以外的各任务包中携带了后一个待执行的任务包的指示信息;任务包获取单元,用于基于首个任务包的指示信息,获取首个任务包所在的任务包集合中的其余任务包;任务执行单元,用于执行任务包集中的一个或多个任务包,得到任务执行结果;结果发送单元,用于将任务执行结果发送至处理器。
30、本技术提供了一种异构计算系统,包括:上述处理器以及上述加速器。
31、本技术提供了一种电子设备,包括上述异构计算系统。
32、在上述方案中,处理器在对待执行的业务进行拆分时,在各任务包中携带后一个待执行的任务包的指示信息,使得对应的加速器在获取到首个任务包之后,能够根据首个任务包携带的后一个任务包的指示信息获取到后一个任务包,以此类推,加速器能够通过这种链表式的方式获取到对应任务包集合中所有的任务包,相对于各任务包相对独立而言,本方案能够提高加速器获取各任务包的效率。
33、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本技术。
1.一种业务执行方法,其特征在于,所述业务执行方法应用于异构计算系统中的处理器,所述异构计算系统中包括处理器和加速器,所述业务执行方法包括:
2.根据权利要求1所述的方法,其特征在于,任务包的指示信息包括任务包的存储地址,每一所述任务包中包括头部、本体部以及下级部,所述头部中携带了当前任务包的相关信息,所述本体部携带了所述当前任务包的待执行任务,对于所述任务包集合中除最后一个待执行的任务包以外的各所述任务包的下级部携带了所述当前任务包的后一个任务包的存储地址。
3.根据权利要求2所述的方法,其特征在于,所述任务包集合中首个任务包中的头部携带了所述任务包集合中具有的任务包的目标数量,以便加速器根据所述目标数量确定是否已获取所述任务包集合中全部的任务包。
4.根据权利要求2所述的方法,其特征在于,所述任务包集合中最后一个任务包中的下级部携带了所述当前任务包为尾个任务包的标识信息。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,在所述异构计算系统中,所述任务包集合对应两个以上加速器,在所述将任务包集合中首个任务包的指示信息发送至对应的加速器之前,所述方法还包括:
6.根据权利要求1至4中任意一项所述的方法,其特征在于,所述方法还包括:
7.一种业务执行方法,其特征在于,所述业务执行方法应用于异构计算系统中的加速器,所述异构计算系统中包括处理器和加速器,所述业务执行方法包括:
8.根据权利要求7所述的方法,其特征在于,任务包的指示信息包括任务包的存储地址,每一所述任务包中包括头部、本体部以及下级部,所述头部中携带了当前任务包的相关信息,所述本体部携带了所述当前任务包的待执行任务,对于所述任务包集合中除最后一个待执行的任务包以外的各所述任务包的下级部携带了所述当前任务包的后一个任务包的存储地址,所述基于所述首个任务包的指示信息,获取所述首个任务包所在的任务包集合中的其余任务包,包括:
9.根据权利要求8所述的方法,其特征在于,所述任务包集合中首个任务包中的头部携带了所述任务包集合中具有的任务包的目标数量,所述对于每一所述中间任务包,根据所述中间任务包中下级部携带的后一个待执行的任务包的存储地址,获取所述中间任务包的后一个待执行的任务包,得到所述任务包集合中的所有任务包,包括:
10.根据权利要求8所述的方法,其特征在于,所述任务包集合中最后一个任务包中的下级部携带了所述当前任务包为尾个任务包的标识信息,所述对于每一所述中间任务包,根据所述中间任务包中下级部携带的后一个待执行的任务包的存储地址,获取所述中间任务包的后一个待执行的任务包,得到所述任务包集合中的所有任务包,包括:
11.根据权利要求8所述的方法,其特征在于,所述对于每一所述中间任务包,根据所述中间任务包中下级部携带的后一个待执行的任务包的存储地址,获取所述中间任务包的后一个待执行的任务包,得到所述任务包集合中的所有任务包,包括:
12.根据权利要求11所述的方法,其特征在于,在所述将压缩后的任务包存储至所述加速器对应的存储空间之后,所述方法还包括:
13.根据权利要求7至12中任意一项所述的方法,其特征在于,所述方法还包括:
14.一种处理器,其特征在于,所述处理器应用于异构计算系统,所述异构计算系统中包括处理器和加速器,所述处理器包括:
15.一种加速器,其特征在于,所述加速器应用于异构计算系统,所述异构计算系统中包括处理器和加速器,所述加速器包括:
16.一种异构计算系统,其特征在于,包括:如权利要求14所述的处理器以及如权利要求15所述的加速器。
17.一种电子设备,其特征在于,包括如权利要求14所述的异构计算系统。
