CN105589829A - 基于多核处理器芯片的数据处理方法、装置以及系统 - Google Patents
基于多核处理器芯片的数据处理方法、装置以及系统 Download PDFInfo
- Publication number
- CN105589829A CN105589829A CN201410563717.7A CN201410563717A CN105589829A CN 105589829 A CN105589829 A CN 105589829A CN 201410563717 A CN201410563717 A CN 201410563717A CN 105589829 A CN105589829 A CN 105589829A
- Authority
- CN
- China
- Prior art keywords
- processor core
- data
- processor
- memory address
- pending
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 230000015654 memory Effects 0.000 claims abstract description 172
- 238000012545 processing Methods 0.000 claims abstract description 148
- 238000000034 method Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 7
- 238000000151 deposition Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 210000004027 cell Anatomy 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 3
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 3
- 235000003140 Panax quinquefolius Nutrition 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 235000008434 ginseng Nutrition 0.000 description 3
- 238000011112 process operation Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- IERHLVCPSMICTF-XVFCMESISA-N CMP group Chemical group P(=O)(O)(O)OC[C@@H]1[C@H]([C@H]([C@@H](O1)N1C(=O)N=C(N)C=C1)O)O IERHLVCPSMICTF-XVFCMESISA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000013317 conjugated microporous polymer Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 210000003643 myeloid progenitor cell Anatomy 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 230000009183 running Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
本发明实施例公开了一种基于多核处理器芯片的数据处理方法、装置,以及系统。其中,数据处理方法包括,第一处理器核获取数据处理任务,数据处理任务包括处理操作的标识、待处理数据的存储地址;第一处理器核确定第二处理器核,第二处理器核与待处理数据的存储地址对应;第一处理器核将处理操作的标识、待处理数据的存储地址发送给第二处理器核。本发明实施例提供的数据处理方法运用于多核处理器芯片,提升了多核处理器芯片的工作效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及基于多核处理器芯片的数据处理方法、装置以及系统。
背景技术
随着计算机体系结构技术的发展,处理器芯片上集成多核(Multi-Core)乃至众核(ManyCore)的架构逐渐成为主流,这类架构的芯片被称为多核处理器芯片,也被称为片上多核(ChipMulti-Processors,CMPs)芯片。如图1所示,现有的多核处理器芯片一般采用了非均匀的缓存结构(Non-UniformedCacheArchitecture,NUCA),具体即每个处理器核(Core)私有一级缓存(Level1cache),而一个多核处理器芯片的各个处理器核逻辑上共享二级缓存(Level2cache)。各个处理器核私有的一级缓存一般包含了一级数据缓存和一级指令缓存,主要存储了该一级缓存对应的处理器核在运行时的部分待处理数据和操作指令。多核处理器芯片的待处理数据主要存储于二级缓存上,所以二级缓存一般总容量较大。从物理上来看,二级缓存分布于整个多核处理器芯片的各个处理器核附近,并通过片上网络(NetworkonChip,NoC)互连,一般的,每个处理器核对应有一个二级缓存,类似的还可以用片上随机存取存储器(RandomAccessMemory,RAM)替代二级缓存。
与该多核处理器芯片的架构对应的,当多核处理器芯片运行某一应用时,该应用往往被划分成多个线程并分发到该多核处理器芯片的多个处理器核上进行并行执行,多个处理器核运行过程中交互不足,影响多核处理器芯片运行效率。
发明内容
针对上述现有技术而提出本发明,利用本发明可以解决现有技术方案中多核处理器芯片的多个处理器核并行处理应用时交互不足对其处理效率的造成的影响。
本发明实施例的第一方面提供了一种基于多核处理器芯片的数据处理方法,其特征在于,所述多核处理器芯片至少包括第一处理器核、第二处理器核,所述数据处理方法包括:所述第一处理器核获取数据处理任务,所述数据处理任务包括处理操作的标识、待处理数据的存储地址;所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应,确定第二处理器核也即获得第二处理器核的标识;所述第一处理器核将所述处理操作的标识、所述待处理数据的存储地址发送给所述第二处理器核,也即将所述第二处理器核的标识、所述处理操作的标识、所述待处理数据的存储地址封装为数据包发送至片上路由器,片上路由器获得该数据包之后,根据数据包中的第二处理器核的标识,将该数据包路由至第二处理器核。所述数据处理任务还可以包括执行顺序信息,指示所述第二处理器核按照执行顺序信息指示的执行顺序完成数据处理任务。所述数据处理任务还可以包括执行次数信息,指示所述第二处理器核按照所述执行次数信息指示的执行次数完成所述数据处理任务。
结合第一方面,在第一方面的第一种实现方式中,第一处理器核获取第二处理器核的标识具体包括:所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应,具体包括:所述第一处理器核,根据所述待处理数据的存储地址查询数据存储表,确定所述第二处理器核,所述数据存储表包含所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系。
结合第一方面,在第一方面的第二种实现方式中,所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应,具体包括:所述第一处理器核,根据所述第一处理器核和第二处理器核的负载参数,确定所述第二处理器核,将所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,记录在所述数据存储表中。
结合第一方面,在第一方面的第三种实现方式中,所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应,具体包括:所述第一处理器核,根据所述待处理数据的存储地址查询数据存储表,如查询到所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,则所述第一处理器核根据所述对应关系确定所述第二处理器核;如未查询到所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,则所述第一处理器核根据所述第一处理器核和所述第二处理器核的负载参数,确定所述第二处理器核,将所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,记录在所述数据存储表中。
结合第一方面的第二种或第三种实现方式,在第一方面的第四种实现方式中,如所述第二处理器核的负载参数超过预设的阈值,则删除所述数据存储表中所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系。
结合第一方面的第一、第二、第三或第四种实现方式,在第一方面的第五种实现方式中,在所述第一处理器核将所述处理操作的标识、所述待处理数据的存储地址发送给所述第二处理器核之后,所述方法还包括:所述第二处理器核获取所述处理操作的标识、所述待处理数据的存储地址,根据所述处理操作的标识确定处理操作,根据所述待处理数据的存储地址获取所述待处理数据;所述第二处理器核根据所述处理操作对所述待处理数据进行处理。如果数据处理任务中包括执行顺序信息的情况下,所述第二处理器核还根据该执行顺序信息对所述待处理数据进行处理。如果数据处理任务中包括执行次数信息的情况下,所述第二处理器核还根据该执行次数信息对所述待处理数据进行处理。所述第二处理器核在对所述待处理数据进行处理后,还可以向所述第一处理器核发送通知,或将处理结果返回给所述第一处理器核。
本发明实施例的第二方面提供了一种数据处理装置,包括:获取单元,用于获取数据处理任务,所述数据处理任务包括处理操作的标识、待处理数据的存储地址;确定单元,用于确定所述处理器核,所述处理器核与所述待处理数据的存储地址对应;发送单元,用于将所述处理操作的标识、所述待处理数据的存储地址发送给所述处理器核。
结合第二方面,在第二方面的第一种实现方式中,所述确定单元具体用于:根据所述待处理数据的存储地址查询数据存储表,确定所述处理器核,所述数据存储表包含所述待处理数据的存储地址与所述处理器核的标识之间的对应关系。
结合第二方面,在第二方面的第二种实现方式中,所述确定单元还用于:根据所述数据处理装置和所述处理器核的负载参数,确定所述处理器核,将所述待处理数据的存储地址与所述处理器核的标识之间的对应关系,记录在所述数据存储表中。
结合第二方面,在第二方面的第三种实现方式中,所述确定单元还用于:根据所述待处理数据的存储地址查询数据存储表,如查询到所述待处理数据的存储地址与所述处理器核的标识之间的对应关系,则根据所述对应关系确定所述处理器核;如未查询到所述待处理数据的存储地址与所述处理器核的标识之间的对应关系,则根据所述数据处理装置和所述处理器核的负载参数,确定所述处理器核,将所述待处理数据的存储地址与所述处理器核的标识之间的对应关系,记录在所述数据存储表中。
结合第二方面的第二或第三种实现方式,在第二方面的第四种实现方式中,所述数据处理装置还包括删除单元,所述删除单元,用于如所述处理器核的负载参数超过预设的负载参数,则删除所述数据存储表中所述待处理数据的存储地址与所述处理器核的标识之间的对应关系。
本发明实施例的第三方面提供了一种多核处理器芯片,所述多核处理器芯片至少包括第一处理器核、第二处理器核,所述第一处理器核和所述第二处理器核具有通信连接;
所述第一处理器核,用于获取数据处理任务,所述数据处理任务包括处理操作的标识、待处理数据的存储地址,确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应,以及将所述处理操作的标识、所述待处理数据的存储地址发送给所述第二处理器核;
所述第二处理器核,用于获取所述处理操作的标识、所述待处理数据的存储地址,根据所述处理操作的标识确定处理操作,根据所述待处理数据的存储地址获取所述待处理数据,以及根据所述处理操作对所述待处理数据进行处理。
结合第三方面,在第三方面的第一种实现方式中,所述多核处理器芯片还包括存储器,所述存储器用于存储数据存储表,所述存储器与所述第一处理器核、所述第二处理器核具有通信连接;所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应具体包括:所述第一处理器核根据所述待处理数据的存储地址查询所述数据存储表,确定所述第二处理器核,所述数据存储表包含所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系。
结合第三方面,在第三方面的第二种实现方式中,所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应具体包括:所述第一处理器核根据所述第一处理器核和第二处理器核的负载参数,确定所述第二处理器核,将所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,记录在所述数据存储表中。
结合第三方面,在第三方面的第三种实现方式中,所述多核处理器芯片还包括存储器,所述存储器用于存储数据存储表,所述存储器与所述第一处理器核、所述第二处理器核具有通信连接;所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应具体包括:所述第一处理器核根据所述待处理数据的存储地址查询所述数据存储表,如查询到所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,则所述第一处理器核根据所述对应关系确定所述第二处理器核;如未查询到所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,则所述第一处理器核根据所述第一处理器核和所述第二处理器核的负载参数,确定所述第二处理器核,将所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,记录在所述数据存储表中。
结合第三方面的第二或第三种实现方式,在第三方面的第四种实现方式中,所述第二处理器核还用于,如所述第二处理器核的负载参数超过预设的阈值,则删除所述数据存储表中所述第二处理器核与所述待处理数据的存储地址之间的对应关系。
本发明实施例的第四方面提供了一种计算机系统,所述计算机系统包括:如本发明第三方面所述的多核处理器芯片,存储器,通信接口和总线,其中,所述多核处理器芯片、所述存储器以及所述通信接口通过所述总线相连。
本发明实施例提供一种基于多核处理器芯片的数据处理方法、装置,多核处理器芯片以及计算机系统。多核处理器芯片的第一处理器核能够将接收到的数据处理任务,发送至该数据处理任务对应的第二处理器核,使得该数据处理任务由第一处理器核转移至第二处理器核执行,实现了数据处理任务在处理器核之间的交互,提升了多核处理器芯片处理应用的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作以简单地介绍,显而易见的,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所应用的多核处理器芯片的架构示意图;
图2为本发明方法实施例1所应用的数据处理方法流程示意图;
图3为本发明方法实施例1所应用的数据处理方法流程的部分示意图;
图4为本发明方法实施例2所应用的数据处理方法流程示意图;
图5为本发明装置实施例所应用的数据处理装置的组成结构示意图;
图6为本发明设备实施例所应用的多核处理器芯片的组成结构示意图;
图7为本发明系统实施例所应用的计算机系统的组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本说明书中的术语“处理器核”一般指多核处理器芯片的一个或者多个执行数据处理任务的处理单元,也可为称之为处理器核心或处理核心,还可能是一种具有信号的处理能力的集成电路芯片,例如通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)等。需要说明的是,本说明书各实施例中的第一处理器核与第二处理器核可以是多核处理器芯片的任意一个或多个处理器核,其名称不构成限定。
本说明书中的术语“待处理数据”并不仅限于指代数据处理任务的某一个待处理数据,也可以指代多个待处理数据,本说明书中的“数据”包含计算机技术领域常见的数据体现形式,例如,数、表、队列、库等。本说明书中的“处理操作”包含计算机技术领域常见的数据处理函数,例如,数的四则运算,图的遍历,数组的排序等,“处理操作”可以是实现固定运算功能的一个程序段。
本说明书中的术语“二级缓存”一般指多核处理器芯片的逻辑上各处理器核均可访问,且物理上分布于各处理器核附近的临时存储器,需要说明的是,本说明书各实施例中的二级缓存也可以为片上RAM,具体采用二级缓存或片上RAM由实际使用中的多核处理器芯片的构造确定,其名称不构成限定。
本说明书中的术语“第二处理器核与所述待处理数据的存储地址对应”,该对应既包含待处理数据存储在第二处理器核的二级缓存中的情况,也包含待处理数据存储在其他处理器核的二级缓存中的情况,第二处理器核和该待处理数据具有对应关系。
本发明实施例的多核处理器芯片的架构
图1描述了本发明实施例所提供的多核处理器芯片的架构的部分示意图。对于本领域的技术人员可以理解,图1为多核处理器芯片架构的一部分,实际中的多核处理器芯片架构可以由多个图1所示部分通过拓展构成(图1中省略号代替的部分为一个或者多个虚线框内所示的部分)。多核处理器芯片的每个处理器核对应有一级缓存、二级缓存和片上路由器。其中一级缓存为各个处理器核私有,即仅有一级缓存对应的处理器核能够访问该一级缓存,一般的,一级缓存可以分为一级数据缓存(DataCache,简称D-Cache)和一级指令缓存(InstructionCache,简称I-Cache),两者分别用来存放处理器核最常用的数据以及处理数据的指令,两者可以同时被处理器核访问。二级缓存分布于整个多核处理器芯片的各个片上路由器附近且能够与片上路由器进行通信,因此多核处理器芯片的处理器核可以通过片上网络访问任何一个二级缓存,即多核处理器芯片的二级缓存为所有处理器核共享使用的。每个处理器核还对应连接了一个片上路由器,并通过该片上路由器与其他处理器核或其他处理器核对应的二级缓存进行通信,各个片上路由器保证了多核处理器芯片的各个处理器核和二级缓存之间的通信,组成了片上网络。
方法实施例1
参见图2,本方法实施例1是基于图1所示的多核处理器芯片,所提供的一种数据处理方法,该多核处理器芯片至少包括第一处理器核和第二处理器核,其处理过程包括:
步骤202,第一处理器核获取数据处理任务,数据处理任务包括处理操作的标识、待处理数据的存储地址。
具体的,第一处理器核所获取的处理操作的标识用于指示数据处理任务的处理操作,处理操作的标识可以为一个数字或者符号,该标识具体的实现方式不构成限定。该待处理数据存储于多核处理器芯片的二级缓存中,即该待处理数据的存储地址可能指向多核处理器芯片的任一块二级缓存。
具体的,第一处理器核获取的该待处理数据的存储地址根据待处理数据的存储形式有不同的体现形式:
(1)当待处理数据是按照连续的方式存储时,则该待处理数据的存储地址有两种体现形式:该待处理数据的起始存储地址和该待处理数据的数据长度;或该待处理数据的起始存储地址和结束存储地址。
(2)当待处理数据是按照非连续的方式存储时,则该待处理数据的存储地址则为该待处理数据的地址。可以理解,数据的存储方式是多种多样的,实际运用中采用何种体现形式,上述描述方式并不构成限定。
步骤204,第一处理器核确定第二处理器核,第二处理器核与待处理数据的存储地址对应。
可选的,步骤204可以由以下三种方案完成,如图3所示。
A、第一方案,步骤402a,第一处理器核,根据待处理数据的存储地址查询数据存储表,确定第二处理器核,数据存储表包含待处理数据的存储地址与第二处理器核的标识之间的对应关系。
具体的,第一处理器核根据步骤202中获取的该待处理数据的存储地址查询数据存储表,获取第二处理器核的标识,也即确定了第二处理器核,第二处理器核的标识用于指示第二处理器核。数据存储表包含处理器核的标识与待处理数据的存储地址之间的映射关系,具体如表1中所示。
存储地址 | 处理器核的标识 |
0000~00FF | 3 |
0100~01FF | 4 |
表1
具体的,处理器核的标识可以为一个预设的符号或者数字,该标识具体的实现方式不构成限定。处理器核的标识与处理器核之间存在映射关系,使得片上路由器获取数据包中的处理器核的标识后,能够根据该映射关系将数据包路由至处理器核的标识对应的处理器核。
上述数据存储表中的存储地址即为待处理数据的存储地址,不同处理器核的标识指示不同处理器核,在获取处理器核的标识的同时,也即确定了该处理器核,不妨设表1中的标识3指示3号处理器核,标识4指示4号处理器核。例如,步骤202中获取的该待处理数据的存储地址为:起始存储地址000F和结束存储地址001F,则步骤204中第一处理器核查询表1后确定了3号处理器核,该3号处理器核即步骤202中的第二处理器核。实际中,数据存储表的建立和分配可以实现于步骤202中第一处理器核获取数据处理任务之前,数据存储表也可以为数据存储库,其具体实现方式不构成限定。应当说明的是,该数据存储表也可以分布为各个处理器核自有的,即每个处理器核维护一个数据存储表,该情况下,每个处理器核的数据存储表改动时,需要进行广播,以使全部数据存储表同步,其具体细节不再赘述。
可选的,数据存储表中的映射关系为:处理器核对应的二级缓存的存储地址,与该处理器核的标识之间的映射关系。仍以表1为例,此种情况下,3号处理器核对应的二级缓存的存储地址为0000~00FF,4号处理器核对应的二级缓存的存储地址为0100~01FF,沿用上例中的待处理数据的起始存储地址000F和结束存储地址001F,则该待处理数据存储于3号处理器核对应的二级缓存中,且步骤204中第一处理器核确定了3号处理器核。因此,后续步骤中3号处理器核在执行该数据处理任务时,可以直接从3号处理器核对应的二级缓存中读写该待处理数据,不需要远程访问其他存储器,避免了远程读写数据造成的片上网络拥塞。
B、第二方案,步骤402b,第一处理器核根据第一处理器核和第二处理器核的负载参数,确定第二处理器核;步骤404b,将待处理数据的存储地址与第二处理器核的标识之间的对应关系,记录在数据存储表中。
具体的,第一处理器核综合判断第一处理器核和第二处理器核的负载参数,该参数可以为占最大负载量的百分比、处理器核工作功率等表征处理器核的工作负载状况的参数,例如当前第二处理器核空闲,而第一处理器核繁忙,则第一处理器核确定数据处理任务由第二处理器核执行;或者当前第一处理器核繁忙(例如:该第一处理器核的负载量超出某一阈值,或者超过最大负载量的某一比例),如果存在多个处理器核空闲,则第一处理器核从这多个空闲的处理器核中选择一个确定为第二处理器核。第一处理器核确定第二处理器核,将待处理数据的存储地址与第二处理器核的标识之间的对应关系,记录在数据存储表中,以使该多核处理器芯片中任何一个处理器核接收到该待处理数据的存储地址后,能够通过查询数据存储表,确定该待处理数据的存储地址对应于第二处理器核。实际中,数据存储表的建立可以实现于步骤204之前,即步骤204之前存在数据存储表,步骤204中才对该数据存储表进行编辑,数据存储表的建立也可以在步骤204中执行,即第一处理器核确定第二处理器核后,建立数据存储表,并将待处理数据的存储地址与第二处理器核的标识之间的对应关系,记录在数据存储表中。
C、第三方案,步骤402c,第一处理器核根据待处理数据的存储地址查询数据存储表,如查询到该待处理数据的存储地址与第二处理器核的标识之间的对应关系,则第一处理器核根据该对应关系确定第二处理器核;
步骤404c,如未查询到该待处理数据的存储地址与第二处理器核的标识之间的对应关系,则第一处理器核根据第一处理器核和第二处理器核的负载参数,确定第二处理器核;
步骤406c,将该待处理数据的存储地址与第二处理器核的标识之间的对应关系,记录在数据存储表中。
具体的,第三方案中,第一处理器核根据待处理数据的存储地址查询数据存储表,如查询到该待处理数据的存储地址与第二处理器核的标识之间的对应关系,则具体细节与第一方案类似,如未查询到该待处理数据的存储地址与第二处理器核的标识之间的对应关系,则具体细节与第二方案类似,在此不再赘述。
步骤204采用第二或第三方案实现的情况下,该数据处理方法还可以包括:如第二处理器核的负载参数超过预设的阈值,则删除数据存储表中待处理数据的存储地址与第二处理器核的标识之间的对应关系。
具体的,通过负载参数确定第二处理器核的情况下,当第二处理器核接收到的负载过重,导致负载参数超过预设的阈值时,可以主动删除数据存储表中待处理数据的存储地址与第二处理器核的标识之间的对应关系,以使得其余处理器核在接收到该待处理数据的存储地址后,无法在数据存储表中查询到第二处理器核的标识,因此需要重新根据负载参数确定一个处理器核,因此达到了在多个处理器核之间负载均衡的目的。
步骤206,第一处理器核将处理操作的标识、待处理数据的存储地址发送给第二处理器核。
具体的,第一处理器核可以将步骤204中获得的第二处理器核的标识、处理操作的标识、待处理数据的存储地址封装为数据包,并发送至片上网络中,片上网络中的片上路由器按照预设的路由表,根据数据包中携带的第二处理器核的标识,将该数据包路由至第二处理器核。该数据包的组成方式可以有多种,其各个组成部分的排序不构成限定,表2示出了一种可能的数据包的构成。
表2
步骤206执行完后,第二处理器核接收到该数据包,通过该数据包获取处理操作的标识、待处理数据的存储地址,根据该处理操作的标识查询函数表,获得处理操作,该函数表包含处理操作的标识与处理操作之间的映射关系,如表3所示。第二处理器根据该待处理数据的存储地址获得该待处理数据,并根据获得的处理操作和待处理数据,完成对该待处理数据的处理。
处理操作的标识 | 处理操作 |
1 | 加操作 |
2 | 乘操作 |
… | … |
10 | 自增操作 |
表3
应当说明的是,上述步骤206执行完后,第二处理器核完成该待处理数据的处理操作的过程可以由第二处理器核上运行的数据包处理线程执行,也可以由第二处理器核的数据包处理模块执行。由数据包处理线程执行的情况下,该数据包处理线程监听并接收片上网络传送至第二处理器核的数据包,并根据获取的数据包完成待处理数据的处理。由数据包处理模块执行的情况下,片上网络传送给第二处理器核的数据包将会由数据包处理模块接收并处理。数据包处理模块进行待处理数据的处理同时,第二处理器核的其他处理模块还可以执行其他数据处理任务,提升工作效率。第二处理器核的数据包处理模块与其他处理模块共享第二处理器核对应的二级缓存,且两者都可以通过片上网络与多核处理器芯片的其他处理器核或二级缓存通信。
上述提供一种基于多核处理器芯片的数据处理方法的实施例,当处理器核在接收到数据处理任务时,确定与数据处理任务中的待处理数据的存储地址对应的处理器核,并将该数据处理任务的相关信息发送至该处理器核,使得多核处理器芯片上的处理器核之间能够交互数据处理任务,提升多核处理器芯片的工作效率。同时,由于本方法实施例中,发送的目的地是与数据处理任务中的待处理数据的存储地址对应的处理器核,因此不再会出现多个处理器核执行数据处理任务时竞争访问某一数据的情况,使得该处理器核在对数据进行访问时,不再需要进行读锁状态、加锁、解锁等操作,避免了锁操作造成的损耗,提升了多核处理器芯片处理应用的效率。
方法实施例2
参见图3,本方法实施例2提供了在图1所示的多核处理器芯片的架构的基础上,运用方法实施例1提供的数据处理方法对数据A进行自增操作的详细流程。
多核处理器芯片运行的应用被分配成多个数据处理任务,并分发到多个处理器核并行运算,多个处理器核上运行的处理上述数据处理任务的线程需要对数据A进行自增操作,自增操作即每次操作让数据A的值增加1,数据A存储于多核处理器芯片的二级缓存中。由于上述多个线程同时运行,导致有可能出现上述多个线程同一时间竞争访问数据A的情况,因此对于数据A的自增操作必须保证原子性,即同一时间保证最多有一个线程能够访问数据A。
下面以第一处理器核获取的数据处理任务需要对数据A进行自增操作为例,详细分析通过本发明提供的技术方案对数据A进行自增操作的步骤。
步骤602,第一处理器核获取数据处理任务,数据处理任务包括:处理操作的标识10,待处理数据A的存储地址000F~001F;该标识即方法实施例1中的处理操作的标识,该待处理数据的存储地址即方法实施例1中的待处理数据的存储地址。
步骤604,第一处理器核根据数据A的存储地址查询数据存储表,判断在数据存储表中是否记录有数据A的存储地址与处理器标识的对应关系。
如果数据存储表中记录有数据A的存储地址与处理器标识的对应关系执行步骤606a,即第一处理器核根据数据A的存储地址查询数据存储表,并获取处理器核的标识3。
具体的,数据存储表(如表1所示)中记录存储地址000F~001F与处理器核的标识3对应。特殊情况下,如果该标识3指示第一处理器核,则第一处理器核根据数据A的存储地址000F~001F获取数据A,并根据数据A的函数标识10查询函数表(如表3所示)并获取自增函数。第一处理器核根据数据A和自增函数完成数据A的自增操作。
如果数据存储表中未记录数据A的存储地址与处理器标识的对应关系,则执行步骤606b,即第一处理器核根据第一处理器核和第二处理器核的负载参数,确定数据A的自增操作由第二处理器核执行,获取第二处理器核的标识3,并将第二处理器核的标识3与数据A的存储地址的对应关系,记录入数据存储表中。
应当说明的是,步骤602之后,可以直接采用步骤606a或者步骤606b,其具体实现方式参考方法实施例一中的步骤402a,或步骤402b至步骤404b,在此不再赘述。
步骤608,第一处理器核将获取的处理器核的标识3、处理操作的标识10,以及数据A的存储地址000F~001F封装成数据包,如表4所示,并发送至片上网络中,片上网络中的片上路由器按照预设的路由表,根据数据包中携带的处理器核的标识3,将该数据包路由至处理器核的标识3对应的第二处理器核。
表4
步骤610,处理器核的标识3对应的处理器核,即第二处理器核接收数据包,并从数据包获取处理操作的标识10和数据A的存储地址000F~001F。
步骤612,第二处理器核根据数据A的存储地址000F~001F读取数据A,并根据处理操作的标识10查询函数表,获取自增函数,该函数表如表3所示,在此不再赘述。
步骤614,第二处理器核根据获取的自增函数和数据A,完成自增操作。
可选的,步骤614后,还可以继续如下两种操作。
第一操作,第二处理器核完成自增操作后,将自增操作的处理结果发送至第一处理器核。例如,第一处理器核上运行的多个数据处理任务有关的数据与多个处理器核对应,则第一处理器核将多个数据处理任务分别分配至多个处理器核执行,并接收多个处理器核的处理结果以进行接下来的数据处理。
第二操作,第二处理器核完成自增操作后,通知第一处理器核自增操作处理结束完毕。例如,第一处理器核在步骤608中发送数据包之后接收到的数据处理任务的需要在确认第二处理器核完成自增操作后执行,这种情况下,第二处理器核完成自增操作后需要通知第一处理器核自增操作完成。
装置实施例
本发明还提供一种数据处理装置的实施例,如图5所示,数据处理装置800包括:
获取单元802,用于获取数据处理任务,数据处理任务包括处理操作的标识、待处理数据的存储地址;
确定单元804,用于确定处理器核,处理器核与待处理数据的存储地址对应;
发送单元806,用于将处理操作的标识、待处理数据的存储地址发送给处理器核。
可选的,确定单元804具体用于:根据待处理数据的存储地址查询数据存储表,确定处理器核,数据存储表包含待处理数据的存储地址与处理器核的标识之间的对应关系。
可选的,确定单元804具体用于:根据数据处理装置和处理器核的负载参数,确定处理器核,将待处理数据的存储地址与处理器核的标识之间的对应关系,记录在数据存储表中。
可选的,确定单元804具体用于:根据待处理数据的存储地址查询数据存储表,如查询到待处理数据的存储地址与处理器核的标识之间的对应关系,则根据对应关系确定处理器核;如未查询到待处理数据的存储地址与处理器核的标识之间的对应关系,则根据数据处理装置和处理器核的负载参数,确定处理器核,将待处理数据的存储地址与处理器核的标识之间的对应关系,记录在数据存储表中。
可选的,数据处理装置800还包括删除单元,该删除单元用于,如处理器核的负载参数超过预设的负载参数,则删除数据存储表中待处理数据的存储地址与处理器核的标识之间的对应关系。
应当说明的是,数据处理装置800可以为图1所示的多核处理器芯片上的任何一个处理器核。
上述提供一种基于多核处理器芯片的数据处理装置的实施例,当数据处理装置接收到数据处理任务时,确定与数据处理任务对应的处理器核,并将该数据处理任务的相关信息发送至该处理器核,使得该数据处理装置能与多核处理器芯片上的其他处理器核交互数据处理任务,提升多核处理器芯片的工作效率。同时,由于本方法实施例中,发送的目的地是与数据处理任务中的待处理数据的存储地址对应的处理器核,因此不再会出现多个处理器核执行数据处理任务时竞争访问某一数据的情况,使得该处理器核在对数据进行访问时,不再需要进行读锁状态、加锁、解锁等操作,避免了锁操作造成的损耗,提升了多核处理器芯片处理应用的效率。
设备实施例
图6为本发明设备实施例的多核处理器芯片1000的组成结构示意图,具体的,该多核处理器芯片1000可以指代图1所示的多核处理器芯片中的一部分或整体。多核处理器芯片1000至少包括:处理器核1002、处理器核1004,处理器核1002和处理器核1004之间通过至少一个片上路由器进行通信。
具体的,处理器核1002用于执行方法实施例1中步骤202、步骤204、步骤206及其可选方案。
具体的,处理器核1004用于获取处理操作的标识、待处理数据的存储地址;根据处理操作的标识确定处理操作,根据待处理数据的存储地址获取待处理数据,以及根据处理操作对待处理数据进行处理。
上述提供一种多核处理器芯片的实施例,该多核处理器芯片在接收到数据处理任务后,确定与数据处理任务中的待处理数据的存储地址对应的处理器核,并将该数据处理任务的相关信息发送至该处理器核,使得该多核处理器芯片上的处理器核之间能够交互数据处理任务,提升多核处理器芯片的工作效率。同时,由于本方法实施例中,发送的目的地是与数据处理任务中的待处理数据的存储地址对应的处理器核,因此不再会出现多个处理器核执行数据处理任务时竞争访问某一数据的情况,使得该处理器核在对数据进行访问时,不再需要进行读锁状态、加锁、解锁等操作,避免了锁操作造成的损耗,提升了多核处理器芯片处理应用的效率。
系统实施例
图7为本发明系统实施例的计算机系统1200的组成结构示意图,具体的,该计算机系统包括如设备实施例所述的多核处理器芯片1202,存储器1204,通信接口1206,以及总线1208。多核处理器芯片1202、存储器1204、通信接口1206通过总线1208进行通信,通信接口1206用于与外部设备进行通信。在具体实现中,计算机系统1200运行时,多核处理器芯片1202处理数据处理任务的过程中,执行上述方法实施例1或方法实施例2中所述的方法。
上述提供一种计算机系统的实施例,该计算机系统运行时,其安装的多核处理器芯片在接收到数据处理任务后,确定与数据处理任务中的待处理数据的存储地址对应的处理器核,并将该数据处理任务的相关信息发送至该处理器核,使得该多核处理器芯片上的处理器核之间能够交互数据处理任务,提升多核处理器芯片与计算机系统的工作效率。同时,由于本方法实施例中,发送的目的地是与数据处理任务中的待处理数据的存储地址对应的处理器核,因此不再会出现多个处理器核执行数据处理任务时竞争访问某一数据的情况,使得该处理器核在对数据进行访问时,不再需要进行读锁状态、加锁、解锁等操作,避免了锁操作造成的损耗,提升了多核处理器芯片处理应用的效率。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (17)
1.一种基于多核处理器芯片的数据处理方法,其特征在于,所述多核处理器芯片至少包括第一处理器核、第二处理器核,所述数据处理方法包括:
所述第一处理器核获取数据处理任务,所述数据处理任务包括处理操作的标识、待处理数据的存储地址;
所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应;
所述第一处理器核将所述处理操作的标识、所述待处理数据的存储地址发送给所述第二处理器核。
2.如权利要求1所述的数据处理方法,其特征在于,所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应,具体包括:
所述第一处理器核,根据所述待处理数据的存储地址查询数据存储表,确定所述第二处理器核,所述数据存储表包含所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系。
3.如权利要求1所述的数据处理方法,其特征在于,所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应,具体包括:
所述第一处理器核,根据所述第一处理器核和所述第二处理器核的负载参数,确定所述第二处理器核,并将所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,记录在所述数据存储表中。
4.如权利要求1所述的数据处理方法,其特征在于,所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应,具体包括:
所述第一处理器核,根据所述待处理数据的存储地址查询数据存储表,如查询到所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,则所述第一处理器核根据所述对应关系确定所述第二处理器核;
如未查询到所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,则所述第一处理器核根据所述第一处理器核和所述第二处理器核的负载参数,确定所述第二处理器核,将所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,记录在所述数据存储表中。
5.如权利要求3或4所述的数据处理方法,其特征在于,如所述第二处理器核的负载参数超过预设的阈值,则删除所述数据存储表中所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系。
6.如权利要求1-5任一所述的数据处理方法,其特征在于,在所述第一处理器核将所述处理操作的标识、所述待处理数据的存储地址发送给所述第二处理器核之后,所述方法还包括:
所述第二处理器核获取所述处理操作的标识、所述待处理数据的存储地址,根据所述处理操作的标识确定处理操作,根据所述待处理数据的存储地址获取所述待处理数据;
所述第二处理器根据所述处理操作对所述待处理数据进行处理。
7.一种数据处理装置,其特征在于,包括:
获取单元,用于获取数据处理任务,所述数据处理任务包括处理操作的标识、待处理数据的存储地址;
确定单元,用于确定处理器核,所述处理器核与所述待处理数据的存储地址对应;
发送单元,用于将所述处理操作的标识、所述待处理数据的存储地址发送给所述处理器核。
8.如权利要求7所述的数据处理装置,其特征在于,所述确定单元具体用于:根据所述待处理数据的存储地址查询数据存储表,确定所述处理器核,所述数据存储表包含所述待处理数据的存储地址与所述处理器核的标识之间的对应关系。
9.如权利要求7所述的数据处理装置,其特征在于,所述确定单元还用于:根据所述数据处理装置和所述处理器核的负载参数,确定所述处理器核,将所述待处理数据的存储地址与所述处理器核的标识之间的对应关系,记录在所述数据存储表中。
10.如权利要求7所述的数据处理装置,其特征在于,所述确定单元还用于:根据所述待处理数据的存储地址查询数据存储表,如查询到所述待处理数据的存储地址与所述处理器核的标识之间的对应关系,则根据所述对应关系确定所述处理器核;如未查询到所述待处理数据的存储地址与所述处理器核的标识之间的对应关系,则根据所述数据处理装置和所述处理器核的负载参数,确定所述处理器核,并将所述待处理数据的存储地址与所述处理器核的标识之间的对应关系,记录在所述数据存储表中。
11.如权利要求9或10所述的数据处理装置,其特征在于,所述数据处理装置还包括删除单元,所述删除单元用于,如所述处理器核的负载参数超过预设的负载参数,则删除所述数据存储表中记录的所述待处理数据的存储地址与所述处理器核的标识之间的对应关系。
12.一种多核处理器芯片,其特征在于,所述多核处理器芯片至少包括第一处理器核、第二处理器核,所述第一处理器核和所述第二处理器核具有通信连接;
所述第一处理器核,用于获取数据处理任务,所述数据处理任务包括处理操作的标识、待处理数据的存储地址,确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应,以及将所述处理操作的标识、所述待处理数据的存储地址发送给所述第二处理器核;
所述第二处理器核,用于获取所述处理操作的标识、所述待处理数据的存储地址,根据所述处理操作的标识确定处理操作,根据所述待处理数据的存储地址获取所述待处理数据,以及根据所述处理操作对所述待处理数据进行处理。
13.如权利要求12所述的多核处理器芯片,其特征在于,所述多核处理器芯片还包括存储器,所述存储器用于存储数据存储表,所述存储器与所述第一处理器核、所述第二处理器核具有通信连接;
所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应具体包括:
所述第一处理器核根据所述待处理数据的存储地址查询所述数据存储表,确定所述第二处理器核,所述数据存储表包含所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系。
14.如权利要求12所述的多核处理器芯片,其特征在于,所述多核处理器芯片还包括存储器,所述存储器用于存储数据存储表,所述存储器与所述第一处理器核、所述第二处理器核具有通信连接;
所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应具体包括:
所述第一处理器核根据所述第一处理器核和所述第二处理器核的负载参数,确定所述第二处理器核,将所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,记录在所述数据存储表中。
15.如权利要求12所述的多核处理器芯片,其特征在于,所述多核处理器芯片还包括存储器,所述存储器用于存储数据存储表,所述存储器与所述第一处理器核、所述第二处理器核具有通信连接;
所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待处理数据的存储地址对应具体包括:
所述第一处理器核根据所述待处理数据的存储地址查询所述数据存储表,如查询到所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,则所述第一处理器核根据所述对应关系确定所述第二处理器核;
如未查询到所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,则所述第一处理器核根据所述第一处理器核和所述第二处理器核的负载参数,确定所述第二处理器核,将所述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,记录在所述数据存储表中。
16.如权利要求14或15所述的多核处理器芯片,其特征在于,所述第二处理器核还用于,如所述第二处理器核的负载参数超过预设的阈值,则删除所述数据存储表中所述第二处理器核与所述待处理数据的存储地址之间的对应关系。
17.一种计算机系统,其特征在于,所述计算机系统包括:
如权利要求12-16所述的多核处理器芯片,存储器,通信接口和总线,其中,所述多核处理器芯片、所述存储器以及所述通信接口通过所述总线相连。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410563717.7A CN105589829A (zh) | 2014-09-15 | 2014-10-21 | 基于多核处理器芯片的数据处理方法、装置以及系统 |
PCT/CN2015/089052 WO2016041447A1 (zh) | 2014-09-15 | 2015-09-07 | 基于多核处理器芯片的数据处理方法、装置以及系统 |
EP15842841.7A EP3176693A4 (en) | 2014-09-15 | 2015-09-07 | Multicore processor chip-based data processing method, device, and system |
US15/459,371 US20170185449A1 (en) | 2014-09-15 | 2017-03-15 | Data processing method based on multi-core processor chip, apparatus, and system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2014104686496 | 2014-09-15 | ||
CN201410468649 | 2014-09-15 | ||
CN201410563717.7A CN105589829A (zh) | 2014-09-15 | 2014-10-21 | 基于多核处理器芯片的数据处理方法、装置以及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105589829A true CN105589829A (zh) | 2016-05-18 |
Family
ID=55532545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410563717.7A Pending CN105589829A (zh) | 2014-09-15 | 2014-10-21 | 基于多核处理器芯片的数据处理方法、装置以及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170185449A1 (zh) |
EP (1) | EP3176693A4 (zh) |
CN (1) | CN105589829A (zh) |
WO (1) | WO2016041447A1 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775493A (zh) * | 2017-01-05 | 2017-05-31 | 华为技术有限公司 | 一种存储控制器及io请求处理方法 |
CN106951190A (zh) * | 2017-03-21 | 2017-07-14 | 联想(北京)有限公司 | 数据存储及访问方法、节点和服务器集群 |
CN108874729A (zh) * | 2018-04-19 | 2018-11-23 | 北京中科睿芯科技有限公司 | 芯片互联多应用有效映射方法、系统及内容寻址存储器 |
CN109117291A (zh) * | 2018-08-27 | 2019-01-01 | 惠州Tcl移动通信有限公司 | 基于多核处理器的数据调度处理方法、装置和计算机设备 |
CN109388609A (zh) * | 2018-09-30 | 2019-02-26 | 中科驭数(北京)科技有限公司 | 基于加速核的数据处理方法和装置 |
CN109655072A (zh) * | 2018-10-31 | 2019-04-19 | 百度在线网络技术(北京)有限公司 | 地图的生成方法和装置 |
CN110377356A (zh) * | 2019-06-14 | 2019-10-25 | 北京奇艺世纪科技有限公司 | 任务处理方法、装置、系统及计算机可读存储介质 |
CN110545242A (zh) * | 2018-05-29 | 2019-12-06 | 杭州海康威视数字技术股份有限公司 | 目标分析方法及智能分析设备 |
CN110543887A (zh) * | 2018-05-29 | 2019-12-06 | 杭州海康威视数字技术股份有限公司 | 目标分析方法、装置、电子设备及可读存储介质 |
CN111382857A (zh) * | 2018-12-29 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 任务处理装置、神经网络处理器芯片、组合装置以及电子设备 |
CN112214425A (zh) * | 2020-08-24 | 2021-01-12 | Oppo广东移动通信有限公司 | 数据发送方法、装置、计算机设备以及存储介质 |
WO2021023000A1 (zh) * | 2019-08-06 | 2021-02-11 | 上海商汤智能科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
WO2021077364A1 (zh) * | 2019-10-24 | 2021-04-29 | 北京希姆计算科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
US11003360B2 (en) | 2016-12-29 | 2021-05-11 | Huawei Technologies Co., Ltd. | IO request processing according to processing sorting indexes |
WO2021254135A1 (zh) * | 2020-06-19 | 2021-12-23 | 华为技术有限公司 | 任务执行方法及存储设备 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274193A (zh) * | 2018-12-05 | 2020-06-12 | 锐迪科(重庆)微电子科技有限公司 | 数据处理装置及方法 |
CN111382114B (zh) * | 2018-12-28 | 2022-05-03 | 北京灵汐科技有限公司 | 一种用于片上网络的数据传输方法、装置及电子设备 |
US11321144B2 (en) | 2019-06-29 | 2022-05-03 | Intel Corporation | Method and apparatus for efficiently managing offload work between processing units |
US10929129B2 (en) * | 2019-06-29 | 2021-02-23 | Intel Corporation | Apparatus and method for modifying addresses, data, or program code associated with offloaded instructions |
US11030000B2 (en) | 2019-06-29 | 2021-06-08 | Intel Corporation | Core advertisement of availability |
US11182208B2 (en) | 2019-06-29 | 2021-11-23 | Intel Corporation | Core-to-core start “offload” instruction(s) |
US11016766B2 (en) | 2019-06-29 | 2021-05-25 | Intel Corporation | Apparatus and method for compiler hints for inter-core offload |
US11372711B2 (en) | 2019-06-29 | 2022-06-28 | Intel Corporation | Apparatus and method for fault handling of an offload transaction |
US10983796B2 (en) | 2019-06-29 | 2021-04-20 | Intel Corporation | Core-to-core end “offload” instruction(s) |
CN112667554A (zh) * | 2019-10-16 | 2021-04-16 | 中兴通讯股份有限公司 | 数据包处理方法、装置、通信设备及存储介质 |
US11176063B2 (en) * | 2019-11-01 | 2021-11-16 | EMC IP Holding Company LLC | Optimized use of processor memory for I/O operations |
CN113535341B (zh) * | 2020-04-14 | 2023-09-22 | 大唐移动通信设备有限公司 | Linux下CPU核间中断通信的实现方法及装置 |
US11734224B2 (en) * | 2020-09-28 | 2023-08-22 | Tenstorrent Inc. | Overlay layer hardware unit for network of processor cores |
US11888938B2 (en) * | 2021-07-29 | 2024-01-30 | Elasticflash, Inc. | Systems and methods for optimizing distributed computing systems including server architectures and client drivers |
US11853250B2 (en) | 2021-09-28 | 2023-12-26 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Interconnect interface |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904873A (zh) * | 2005-07-28 | 2007-01-31 | 大唐移动通信设备有限公司 | 嵌入式实时操作系统中多核处理器的核间通信方法及装置 |
CN102811169A (zh) * | 2012-07-24 | 2012-12-05 | 成都卫士通信息产业股份有限公司 | 采用哈希算法进行多核并行处理的vpn实现方法及系统 |
CN103441952A (zh) * | 2013-08-20 | 2013-12-11 | 西安电子科技大学 | 基于多核或众核嵌入式处理器的网络数据包处理方法 |
CN103853620A (zh) * | 2012-11-30 | 2014-06-11 | 华为技术有限公司 | 一种众核处理器进程间相互通信的方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8819345B2 (en) * | 2012-02-17 | 2014-08-26 | Nokia Corporation | Method, apparatus, and computer program product for inter-core communication in multi-core processors |
-
2014
- 2014-10-21 CN CN201410563717.7A patent/CN105589829A/zh active Pending
-
2015
- 2015-09-07 EP EP15842841.7A patent/EP3176693A4/en not_active Withdrawn
- 2015-09-07 WO PCT/CN2015/089052 patent/WO2016041447A1/zh active Application Filing
-
2017
- 2017-03-15 US US15/459,371 patent/US20170185449A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904873A (zh) * | 2005-07-28 | 2007-01-31 | 大唐移动通信设备有限公司 | 嵌入式实时操作系统中多核处理器的核间通信方法及装置 |
CN102811169A (zh) * | 2012-07-24 | 2012-12-05 | 成都卫士通信息产业股份有限公司 | 采用哈希算法进行多核并行处理的vpn实现方法及系统 |
CN103853620A (zh) * | 2012-11-30 | 2014-06-11 | 华为技术有限公司 | 一种众核处理器进程间相互通信的方法、装置及系统 |
CN103441952A (zh) * | 2013-08-20 | 2013-12-11 | 西安电子科技大学 | 基于多核或众核嵌入式处理器的网络数据包处理方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11003360B2 (en) | 2016-12-29 | 2021-05-11 | Huawei Technologies Co., Ltd. | IO request processing according to processing sorting indexes |
WO2018126771A1 (zh) * | 2017-01-05 | 2018-07-12 | 华为技术有限公司 | 一种存储控制器及io请求处理方法 |
CN106775493B (zh) * | 2017-01-05 | 2019-01-25 | 华为技术有限公司 | 一种存储控制器及io请求处理方法 |
US10884667B2 (en) | 2017-01-05 | 2021-01-05 | Huawei Technologies Co., Ltd. | Storage controller and IO request processing method |
CN106775493A (zh) * | 2017-01-05 | 2017-05-31 | 华为技术有限公司 | 一种存储控制器及io请求处理方法 |
CN106951190B (zh) * | 2017-03-21 | 2019-11-26 | 联想(北京)有限公司 | 数据存储及访问方法、节点和服务器集群 |
CN106951190A (zh) * | 2017-03-21 | 2017-07-14 | 联想(北京)有限公司 | 数据存储及访问方法、节点和服务器集群 |
CN108874729A (zh) * | 2018-04-19 | 2018-11-23 | 北京中科睿芯科技有限公司 | 芯片互联多应用有效映射方法、系统及内容寻址存储器 |
CN110545242A (zh) * | 2018-05-29 | 2019-12-06 | 杭州海康威视数字技术股份有限公司 | 目标分析方法及智能分析设备 |
CN110543887A (zh) * | 2018-05-29 | 2019-12-06 | 杭州海康威视数字技术股份有限公司 | 目标分析方法、装置、电子设备及可读存储介质 |
CN109117291A (zh) * | 2018-08-27 | 2019-01-01 | 惠州Tcl移动通信有限公司 | 基于多核处理器的数据调度处理方法、装置和计算机设备 |
CN109388609A (zh) * | 2018-09-30 | 2019-02-26 | 中科驭数(北京)科技有限公司 | 基于加速核的数据处理方法和装置 |
CN109655072A (zh) * | 2018-10-31 | 2019-04-19 | 百度在线网络技术(北京)有限公司 | 地图的生成方法和装置 |
CN111382857A (zh) * | 2018-12-29 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 任务处理装置、神经网络处理器芯片、组合装置以及电子设备 |
CN111382857B (zh) * | 2018-12-29 | 2023-07-18 | 上海寒武纪信息科技有限公司 | 任务处理装置、神经网络处理器芯片、组合装置以及电子设备 |
CN110377356A (zh) * | 2019-06-14 | 2019-10-25 | 北京奇艺世纪科技有限公司 | 任务处理方法、装置、系统及计算机可读存储介质 |
WO2021023000A1 (zh) * | 2019-08-06 | 2021-02-11 | 上海商汤智能科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
WO2021077364A1 (zh) * | 2019-10-24 | 2021-04-29 | 北京希姆计算科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
WO2021254135A1 (zh) * | 2020-06-19 | 2021-12-23 | 华为技术有限公司 | 任务执行方法及存储设备 |
CN112214425A (zh) * | 2020-08-24 | 2021-01-12 | Oppo广东移动通信有限公司 | 数据发送方法、装置、计算机设备以及存储介质 |
CN112214425B (zh) * | 2020-08-24 | 2022-07-15 | Oppo广东移动通信有限公司 | 数据发送方法、装置、计算机设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3176693A4 (en) | 2017-08-02 |
EP3176693A1 (en) | 2017-06-07 |
US20170185449A1 (en) | 2017-06-29 |
WO2016041447A1 (zh) | 2016-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589829A (zh) | 基于多核处理器芯片的数据处理方法、装置以及系统 | |
US10628347B2 (en) | Deallocation of memory buffer in multiprocessor systems | |
DE102010044531B4 (de) | Autonome Speicherarchitektur | |
DE112018003087B4 (de) | On-chip-rauschunterdrückung oder -minderung der versorgungsspannung unter verwendung von lokalen detektionsschleifen in einem prozessorkern | |
CN108345499A (zh) | 统一线程池处理方法、应用服务器及计算机可读存储介质 | |
DE102018212253A1 (de) | Drosselung für bandbreitenunausgewogene datenübertragungen | |
JP2020087420A (ja) | 分散型ロボットのスケジューリング決定方法、装置、システム並びに電子機器及び記憶媒体 | |
DE112011101705T5 (de) | Migrieren virtueller Maschinen zwischen vernetzten Servern nach Erkennung der Verschlechterung der Funktion der Netzwerkverbindung | |
DE102019102883A1 (de) | Technologien zum Bewegen von Arbeitslasten zwischen Hardwarewarteschlangenmanagern | |
DE102010044529A1 (de) | Autonome Subsystem-Architektur | |
CN108121511A (zh) | 一种分布式边缘存储系统中的数据处理方法、装置及设备 | |
CN108694076A (zh) | 多节点存储操作 | |
CN110727403A (zh) | 元数据管理方法及装置 | |
CN103701641A (zh) | 一种自动化运维的方法和系统 | |
DE102020103521A1 (de) | Minimieren der Nutzung von Hardware-Zählern bei getriggerten Operationen für kollektive Kommunikation | |
US12056376B2 (en) | Interconnected memory grid with bypassable units | |
CN111651286A (zh) | 数据通信方法、装置及计算设备、存储介质 | |
US20090234696A1 (en) | Engineered Architecture | |
US20150195140A1 (en) | Apparatus and method for sharing data by using topology | |
US20080028080A1 (en) | Managing method for information processor system | |
CN108628760A (zh) | 原子写命令的方法与装置 | |
CN115576332B (zh) | 一种任务级多机器人协同运动规划系统与方法 | |
CN105393176B (zh) | 可编程控制器及运算处理系统 | |
US20110167033A1 (en) | Allocating resources in a data warehouse | |
CN107463519A (zh) | 存储设备及用于访问存储设备的系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160518 |
|
WD01 | Invention patent application deemed withdrawn after publication |