CN114579506A - 处理器之间的通信方法、系统、存储介质以及处理器 - Google Patents
处理器之间的通信方法、系统、存储介质以及处理器 Download PDFInfo
- Publication number
- CN114579506A CN114579506A CN202210114722.4A CN202210114722A CN114579506A CN 114579506 A CN114579506 A CN 114579506A CN 202210114722 A CN202210114722 A CN 202210114722A CN 114579506 A CN114579506 A CN 114579506A
- Authority
- CN
- China
- Prior art keywords
- processor
- target
- identification information
- communication mode
- communication
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 234
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000012545 processing Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 20
- 230000015654 memory Effects 0.000 description 37
- 101150060512 SPATA6 gene Proteins 0.000 description 33
- 230000008569 process Effects 0.000 description 20
- 238000012549 training Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008030 elimination Effects 0.000 description 5
- 238000003379 elimination reaction Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
- 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
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种处理器之间的通信方法、系统、存储介质以及处理器。其中,该方法包括:第一处理器获取待查询的至少一个目标标识信息;第一处理器确定至少一个目标标识信息对应的第二处理器,其中,第二处理器用于获取至少一个目标标识信息对应的目标查询结果;第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式,其中,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上;第一处理器通过目标通信方式将至少一个目标标识信息发送至第二处理器。本发明解决了由于处理器之间的通信效率较低从而降低了对目标标识信息进行查询的查询效率的技术问题。
Description
技术领域
本发明涉及处理器之间的通信领域,具体而言,涉及一种处理器之间的通信方法、系统、存储介质以及处理器。
背景技术
目前,在对预估模型进行训练的过程中,需要频繁的分布式查表操作,其核心查询步骤是通过AllToAllV(一种多方参与的同步通信元语)实现的,AllToAllV本身的性能对整个训练过程有重要作用,随着处理器等异构加速硬件在深度学习领域广泛使用,可以通过多个处理器之间的通信来实现AllToAllV的性能,但是,目前所采用的的多个处理器之间的通信效率较低,导致AllToAllV的性能较差,从而导致查询的效率较低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种处理器之间的通信方法、系统、存储介质以及处理器,以至少解决由于处理器之间的通信效率较低从而降低了对目标标识信息进行查询的查询效率的技术问题。
根据本发明实施例的一个方面,提供了一种处理器之间的通信方法,包括:第一处理器获取待查询的至少一个目标标识信息;第一处理器确定至少一个目标标识信息对应的第二处理器,其中,第二处理器用于获取至少一个目标标识信息对应的目标查询结果;第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式,其中,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上;第一处理器通过目标通信方式将至少一个目标标识信息发送至第二处理器。
根据本发明实施例的另一个方面,提供了一种处理器之间的通信系统,包括:第一处理器,用于获取待查询的至少一个目标标识信息;第二处理器,与第一处理器通过目标通信方式进行通信,用于获取至少一个目标标识信息对应的目标查询结果,其中,目标通信方式通过第一处理器和第二处理器的部署关系确定,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上。
根据本发明实施例的另一个方面,提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行任意一项的处理器之间的通信方法。
根据本发明实施例的另一个方面,提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行、任意一项的处理器之间的通信方法。
在本发明实施例中,首先,第一处理器可以获取待查询的至少一个目标标识信息,第一处理器确定至少一个目标标识信息对应的第二处理器,其中,第二处理器用于获取至少一个目标标识信息对应的目标查询结果,第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式,其中,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上,第一处理器通过目标通信方式将至少一个目标标识信息发送至第二处理器中,以便通过提高处理器之间的通信速度来提高查询的效率。容易注意到的是,通过第一处理器和第二处理器之间的部署关系确定的第二处理器的目标通信方式,可以充分的利用物理机之间的通信链路对处于同一物理机中的处理器进行通信,从而提高同一物理机之间的处理器之间的通信的速度,同时,可以减轻不同物理机之间的网络资源的占用,从而提高处于不同物理机之间的处理器的通信速度,进而解决了相关技术中由于处理器之间的通信效率较低从而降低了对目标标识信息进行查询的查询效率的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种用于实现处理器之间的通信方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本发明实施例的一种处理器之间的通信方法的流程图;
图3是根据本发明实施例的一种GPU之间均通过网络通信的拓扑图;
图4是根据本发明实施例的一种GPU互联的拓扑图;
图5是根据本发明实施例的一种层次化的哈希表示意图;
图6是根据本发明实施例的另一种处理器之间的通信方法的流程图;
图7是根据本发明实施例一种单机多GPU卡环境的AllToAllV实现架构;
图8是根据本发明实施例的一种处理器之间的通信装置的示意图;
图9是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
CTR预估模型:点击率预估模型。
NVLink/NVSwitch:一种单机多GPU卡之间的高速互联技术,具有较高的吞吐。
目前,分布式训练架构(ps worker)是深度学习异步训练最常见的解决方案,在点击率预估、离线/在线混合集群训练等场景中有着广泛应用。在异步训练时每个worker独立的向多个ps发起请求并等待ps请求返回后开始计算,ps的响应速度对worker计算速度有着重要影响,最慢的那个ps决定了worker训练完成的时间,如何在分布式训练的过程中可以在硬件资源有限的情况下提升ps响应速度。随着图像处理器(Graphic Process Unit,GPU)等异构加速硬件在深度学习领域中的广泛应用,可以通过总线通信协议(NVLink)或完全连接的总线通信协议(NVSwith)等高速互联技术使得机器内多GPU卡之间有非常高的通信吞吐,如何合理使用机器内的NVLink互联和机器间的网络互联来提升多机间AllToAllV通信元语的性能,是一个亟待解决的问题。
本申请可以通过层次化的流量规划充分的利用单个物理机上多个GPU之间的NVLink带宽和多个物理机间的网络带宽资源,从而提升AllToAllV元语的性能。
实施例1
根据本发明实施例,还提供了一种处理器之间的通信方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现处理器之间的通信方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他处理器之间的通信电路在本文中通常可以被称为“处理器之间的通信电路”。该处理器之间的通信电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,处理器之间的通信电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该处理器之间的通信电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的处理器之间的通信方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及处理器之间的通信,即实现上述的处理器之间的通信方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本申请提供了如图2所示的处理器之间的通信方法。图2是根据本发明实施例一的处理器之间的通信方法的流程图。
步骤S202,第一处理器获取待查询的至少一个目标标识信息。
上述的第一处理器可以是图形处理器(Graphic Process Unit,GPU)。其中,第一处理器的数量可以为多个。
上述的目标标识信息可以是ID,其中,在搜索领域的ID可以是搜索词,目标标识信息对应的目标查询结果可以为搜索结果;在推荐领域的ID可以是与用户喜好相关的关键词,目标标识信息对应的目标查询结果可以为与关键词所关联的内容;在广告领域的ID可以商品的名称,目标标识信息对应的目标查询结果可以为商品的属性信息和购买信息等。
在一种可选的实施例中,客户端可以发送查询请求至服务器中,服务器可以将查询请求分配至第一处理器中,第一处理器可以根据查询请求获取待查询的至少一个目标标识信息。可选的,第一处理器在获取到查询请求之后,可以从查询请求中的关键词解析得到至少一个目标标识信息,例如,查询请求为查找到女装和童装,其中关键词为女装和童装,其女装对应的标识信息可以为ID0,男装童装对应的标识信息可以为ID1,此时,可以从查询请求中解析得到目标标识信息为ID0和ID1。
在另一种可选的实施例中,点击预估模型在搜索、推荐、广告领域等有广泛的应用,点击预估模型需要频繁的分布式查表操作,可以在训练点击预估模型(CTR预估模型)的过程中,将多个目标标识信息作为训练样本分别发送至服务器的多个处理中,以便多个处理器可以根据目标标识信息查询到与目标标识信息对应的目标查询结果,从而完成点击预估模型中分布式查表的训练过程。
可选的,点击预估模型在进行分布式查表的过程中,其核心的步骤是通过AllToAllV通信元语实现的,传统高性能计算领域(High performance computing,HPC)的AllToAllV对GPU的支持不够,没有考虑到深度学习的使用场景,针对于传统HPC领域的AllToAllV方案没有考虑到深度学习使用场景的问题,本申请中可以为深度学习分布式查表过程进行量身打造,将分布式查表过程与通信语义进行有机结合,在满足深度学习训练任务的同时可以对GPU场景进行充分的支持。
步骤S204,第一处理器确定至少一个目标标识信息对应的第二处理器。
其中,第二处理器用于获取至少一个目标标识信息对应的目标查询结果。其中,第二处理器的数量可以为多个。
上述的第二处理器可以是与第一处理器处于同一物理服务器的GPU,还可以是与第一处理器处于不同物理服务器的GPU。
在一种可选的实施例中,第一处理器在接收到待查询的至少一个目标标识信息之后,为了提高目标标识信息的查询速度,可以将该目标标识信息分配至其他的处理器进行查询,可选的,可以通过预设的分桶规则对目标标识信息进行分桶处理,以便根据分桶结果将目标标识信息分配至第二处理器中进行查询;为了进一步提高目标标识信息的查询速度,可以将目标标识信息优先分配至处于同一物理机的第二处理器中,处于同一物理机的第一处理器和第二处理器之间可以通过NVLink的方式进行通信。
步骤S206,第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式。
其中,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上。
在一种可选的实施例中,为了提高第一处理器与第二处理器之间的通信速度,可以先获取第一处理器和第二处理器之间的部署关系,若第一处理器和第二处理器处于同一物理机,则可以利用NVlink互联的方式进行通信,若第一处理器和第二处理器处于不同物理机,则可以使用网络进行通信。
图3示出了GPU之间均通过网络通信的拓扑图,如图3所示,无论是处于同一机器内的GPU还是处于不同机器内的GPU,其均通过网络进行通信,这样会导致通信的速度较低,导致较大的性能损耗,为了提高通信的速度并且提高机器的性能,可以根据多个GPU之间的部署方式确定GPU的通信方式。图4示出了GPU互联的拓扑图,其中,机器1和机器2中的GPU通过NVLink/NVSwitch的方式进行互联,机器1和机器2之间通过网络进行通信,从而提高通信的效率,进而可以提高对目标标识信息的查询效率。
步骤S208,第一处理器通过目标通信方式将至少一个目标标识信息发送至第二处理器。
在一种可选的实施例中,在确定第一处理器和第二处理器之间的目标通信方式之后,可以利用目标通信方式将至少一个目标标识信息发送给第二处理器中,以便第二处理器可以根据目标标识信息查询到目标标识信息对应的目标查询结果。对于位于同一物理机的第二处理器,可以利用NVlink互联的方式将目标标识信息发送至该第二处理器;对于位于不同物理机的第二处理器,可以利用网络的方式将目标标识信息发送至该第二处理器。
在另一种可选的实施例中,可以通过哈希表管理模管理哈希表的布局和增删改查管理,为了降低显存的消耗,可以将哈希表的表头存储到GPU的本地,可以将哈希表的键值部分放到内存中,例如可以放置到CPU中,从而提高哈希表的可拓展性,其中,每个GPU可以根据一定的分桶策略持有全局哈希表的一部分,所有的GPU中存储的哈希表合并到一起可以构成整个哈希表的数据集。
在又一种可选的实施例中,第二处理器获取到至少一个目标标识信息对应的目标查询结果的实现过程可以为,第二处理器可以根据本地存储的哈希表表头查询到该目标标识信息对应的偏移地址,第二处理器可以根据该偏移地址从CPU中获取到至少一个目标标识信息对应的目标查询结果。
通过上述步骤,首先,第一处理器可以获取待查询的至少一个目标标识信息,第一处理器确定至少一个目标标识信息对应的第二处理器,其中,第二处理器用于获取至少一个目标标识信息对应的目标查询结果,第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式,其中,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上,第一处理器通过目标通信方式将至少一个目标标识信息发送至第二处理器中,以便通过提高处理器之间的通信速度来提高查询的效率。容易注意到的是,通过第一处理器和第二处理器之间的部署关系确定的第二处理器的目标通信方式,可以充分的利用物理机之间的通信链路对处于同一物理机中的处理器进行通信,从而提高同一物理机之间的处理器之间的通信的速度,同时,可以减轻不同物理机之间的网络资源的占用,从而提高处于不同物理机之间的处理器的通信速度,进而解决了相关技术中由于处理器之间的通信效率较低从而降低了对目标标识信息进行查询的查询效率的技术问题。
可选地,目标通信方式包括如下至少之一:第一通信方式、第二通信方式,第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式,包括:响应于部署关系为第一处理器和第二处理器部署在同一物理机上,确定目标通信方式为第一通信方式;响应于部署关系为述第一处理器和第二处理器部署在不同物理机上,确定目标通信方式为第二通信方式;其中,第一通信方式用于表征通过总线进行通信的通信方式,第二通信方式用于表征通过网络进行通信的通信方式。
上述的第一通信方式可以是NVlink的总线通信方式;上述的第二通信方式可以是网络的通信方式,其中,第一通信方式的通信速度可以大于第二通信方式的通信速度。
在一种可选的实施例中,若第一处理器和第二处理器都在同一物理机上,则可以通过机器内通信速度较快的第一通信方式进行通信,由于物理连接的总线通信速度较快,因此,可以提高第一处理器和第二处理器之间的通信速度,另外,同一物理机中的多个GPU之间的通过NVlink互联的通信性能远远高于机器内侧PCle互联,PCle互联的吞吐比PCle高1ˉ2个数量级,充分利用物理机内的NVLink带宽可以提高通信的效率。
若第一处理器和第二处理器不在同一物理机上,则可以通过机器间的网路进行通信,由于相同机器内的处理器都是通过总线进行通信的,因此,可以大大减少通过网络通信的处理器,从而释放网络的通信资源,通过网络对于处于不同物理机上的处理器之间进行通信可以提高通信的速度。
在另一种可选的实施例中,可以通过通信规划模块根据第一处理器和第二处理器之间的部署关系来确定第二处理器的目标通信方式,通过通信规划模块模块确定部署在同一物理机上的第一处理器和第二处理器之间使用NVLink进行通信,并确定部署在不同物理机上的第一处理器和第二处理器之间使用网络进行通信。
可选地,该方法还包括:第一处理器获取第二处理器对应的分组结果,其中,分组结果是基于第二处理器所属的物理机对第二处理器进行分组所得到;第一处理器基于第二处理器对应的分组结果,确定部署关系。
在一种可选的实施例中,可以将参与查询过程的多个第二处理器按照其所属的物理机进行分组,可以将处于同一个物理机的多个第二处理器放在同一个分组中得到分组结果,分组标记可以为g0,g1,...,gM,第一处理器可以根据第二处理器对应的分组结果可以确定出第一处理器是否与第二处理器处于一组,若处于一组,则可以确定第一处理器和第二处理器部署在同一物理机上,若处于不同的组,则可以确定第一处理器和第二处理器部署在不同一物理机上。
可选地,第一处理器确定至少一个目标标识信息对应的第二处理器包括:第一处理器基于预设分桶规则对至少一个目标标识信息进行分桶处理,得到目标分桶结果;第一处理器基于目标分桶结果确定第二处理器。
上述的预设分桶规则可以自行设定。
在一种可选的实施例中,第一处理器可以根据预设分桶规则将至少一个目标标识信息分桶至多个第二处理器中,分桶之后每个第二处理器持有的目标标识信息可以被分为k份,其中,k可以是全部第二处理器的数量。
可选地,该方法还包括:第二处理器基于本地存储的哈希表,获取至少一个目标标识信息的偏移地址;第二处理器基于偏移地址在目标处理器中查询到目标查询结果。
上述的本地存储的哈希表可以是哈希表的表头,上述的偏移地址可以是目标标识信息对应的键值,其中,表头信息可以包括<ID,ID对应的键值在CPU上的偏移地址>。为了节省处理器中的显存,可以将哈希表的表头放置在第二处理器的本地存储中,将哈希表的内存部分放置在CPU中,从而减少处理器的内存资源占用。
在一种可选的实施例中,第二处理器在获取到目标标识信息之后,可以从哈希表的表头中获取到目标标识信息的键值在CPU上的偏移地址,第二处理器可以按照偏移地址的路径从CPU中查询到与该目标标识信息对应的目标查询结果。
目前由英伟达的开源哈希表实现方案(HugeCTR)是将所有的活跃数据放在GPU中,由于GPU的显存容量非常稀缺,因此该方案存在拓展性瓶颈,针对HugeCTR方案存在拓展性的问题,本申请中可以将哈希表的布局进行改进,通过分层处理的方式将空间占用较小的表头放置在GPU中,将空间占用较大的键值部分放置在CPU内存中,以降低显存的占用,提高可拓展性。如图5所示为一种层次化的哈希表示意图,如图5所示可以将空间占用较小的表头放在第二处理器中,将空间占用较大的哈希表键值部分放在CPU内存中,通过分层的处理方式可以大幅降低第二处理器中的显存占用,使得系统具有更好地可拓展性。
可选地,第二处理器基于偏移地址在目标处理器中查询到目标查询结果,包括:响应于目标通信方式为第一通信方式,第二处理器将偏移地址分配至第三处理器,其中,第三处理器用于基于偏移地址从目标处理器中查询到第一查询结果;响应于目标通信方式为第二通信方式,第二处理器基于偏移地址在目标处理器中查询到第二查询结果;合并第一查询结果和第二查询结果,生成目标查询结果。
在一种可选的实施例中,若目标通信方式为第一通信方式,则说明第一处理器和第二处理器处于同一物理机中,由于同一物理机中的通信方式为通信速度较高的NVLink通信,因此,为了进一步提高对第二处理器中查询到的偏移地址的查询结果,可以将该偏移地址分配至同一物理机中的其他处理器中,也即上述的第三处理器中,通过第三处理器可以根据偏移地址的路径从目标处理器中查询到目标标识信息对应的第一查询结果,并将第一查询结果反馈至处于同一物理机中的第一处理器中。
进一步地,若目标通信方式为第二通信方式,则说明第一处理器和第二处理器不处于同一物理机中,由于不同物理机中的通信方式为通信速度较低的网络通信,因此,可以直接使用第二处理器根据偏移地址从目标处理器中查询到目标标识信息对应的第二查询结果,并将第二查询结果反馈至处于不同物理机中的第一处理器中。
又进一步地,可以将第一查询结果和第二查询结果进行合并,得到上述的目标查询结果。
在另一种可选的实施例中,由于相同物理机内使用的通信通路与不同物理机内使用的通信通路不同,因此,相同物理机内的查询过程和不同物理机内的查询过程可以同时进行,以提高查询的效率。
可选地,第一处理器获取待查询的至少一个目标标识信息,包括:所述第一处理器获取待查询的多个初始标识信息;所述第一处理器对所述多个初始标识信息进行去重处理,得到所述至少一个目标标识信息。
在一种可选的实施例中,第一处理器在获取到待查询的多个初始标识信息之后,可以对多个初始标识信息进行去重处理,以便得到没有重复的至少一个目标标识信息,可选的,可以使用ID去重模块进行去重,每个第一处理器在获取到待查询的多个初始标识信息之后,都可以通过去重模块对多个初始标识信息进行去重处理,得到至少一个目标标识信息,以降低下一步的查询量。
可选地,该方法还包括:响应于所述第二处理器获取到多个目标标识信息,所述第二处理器对所述多个目标标识信息进行去重处理,得到处理后的目标标识信息。
在另一种可选的实施例中,第二处理器在获取到第一处理器发送的多个目标标识信息之后,可以对多个目标标识信息去重处理,得到处理后的目标标识信息,以降低第二处理器进一步的查询量。
下面结合图6至图7对本申请的一种优选的实施例进行说明,如图6所示,该方法包括:
步骤S601,所有参与AllToAllV的GPU获取待查询的多个ID;
上述的GPU可以为第一处理器。上述的多个ID可以为多个初始标识信息。
步骤S602,每个GPU可以在本地对多个ID进行去重处理,得到去重处理后的ID;
上述的去重处理后的ID可以为上述的至少一个目标标识信息。
步骤S603,对于去重后的ID,每个GPU可以将本地的ID按照约定的分桶规则将ID分配到对应的GPU分桶;
上述对应的GPU可以为第二处理器。
可选的,分桶后每个GPU持有的ID都会被分为K份,其中,K为全局的GPU的总数量。
步骤S604,判断GPU与对应GPU分桶是否处于同一物理机中,若是,执行步骤S605,若否,执行步骤S609;
可选的,可以将参与AllToAllV的GUP按照物理机的节点进行分组,可以将属于同一物理机节点的GPU放在同一个分组中,属于同一分组的GPU处于同一物理机中。
步骤S605,对于处于同一物理机中的GPU和对应GPU分桶,可以通过NVLink互联相互向对方发送对应分桶的ID;
步骤S606,GPU在接收到ID之后可以再进行一次去重处理,得到去重处理后的ID;
步骤S607,GPU可以通过本地存储的哈希表表头找出ID对应的键值在CPU上的偏移地址;
上述的CPU可以是目标处理器。
步骤S608,GPU可以将查找到的偏移地址通过NVLink互联返回给本地的其他GPU;
上述的其他GPU可以是第三处理器。
步骤S609,GPU可以根据偏移地址去CPU中获取到ID对应的键值;
上述的ID对应的键值可以为相同物理机内查询得到的第一查询结果。
步骤S610,对于处于不同物理机中的GPU和对应的GPU分桶,可以通过网络相互向对方发送对应分桶的ID;
步骤S611,GPU在接收到ID之后可以进行一次去重处理,得到去重处理后的ID;
步骤S612,GPU可以通过本地存储的哈希表头找出ID对应的键值在CPU上的偏移地址,并根据该偏移地址从CPU中读取真正的键值;
上述的ID对应的键值可以为不同物理机间得到的第二查询结果。
步骤S613,可以将步骤S609和步骤S612得到的键值进行合并,得到最终的目标查询结果。
可选的,可以通过查询结果取回模块取回最终的目标查询结果,对于处于同一台物理机的GPU,结果取回就是去CPU拷贝对应的键值,对于不同机器的GPU,结果取回就是通过网络获取到远端的查询结果。
如图7所示为一种单机多GPU卡环境的AllToAllV实现架构,包括:哈希表管理模块、ID去重模块、查询模块、查询结果取回模块、通信规划模块。其中,哈希表管理模块用于管理哈希表的布局和增删改查管理,为了降低显存消耗,哈希表可将表头放到GPU上以加速查询,将表的键值部分放到内存,提升可拓展性。每个GPU根据一定的分桶策略持有全局哈希表的一部分,所有的GPU数据合并到一起构成整个哈希表数据集。ID去重模块用于在查表之前对ID进行去重,重复的ID只需查询一次,这样做可以降低查询的数据量。查询模块用于查询位于GPU上的哈希表表头部分,查询到的结果为键值在CPU内存里的偏移地址。查询结果取回模块用于取回最终的查询结果,对于同一台机器的GPU,结果取回就是去CPU拷贝对应的键值;对于不同机器的GPU,结果取回就是通过网络获取到远端的查询结果。通信规划模块用于依据GPU所在的位置规划优选的通信路径,对于相同机器上的GPU使用NVLink通信,对于不同机器间的GPU采用网络通信。
为了进一步的提高单个物理机的计算能力,可以将所有的计算过程放入到同一台物理机中,以便完全避免各个物理机之间的通信。为了进一步的增大GPU显存,可以将所有的哈希表都放在GPU内,避免远程查表的开销。
通过上述步骤,可以实现在相同的物理机内的GPU之间借助NVLink通信完成查表过程,不同物理机内的GPU之间通过网络通信完成查表过程,二者同时进行以便提高查询的效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的处理器之间的通信方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述处理器之间的通信方法的处理器之间的通信装置,如图8所示,该装置800包括:获取模块802、第一确定模块804、第二确定模块806、发送模块808。
其中,获取模块用于通过第一处理器获取待查询的至少一个目标标识信息;第一确定模块用于通过第一处理器确定至少一个目标标识信息对应的第二处理器,其中,第二处理器用于获取至少一个目标标识信息对应的目标查询结果;第二确定模块用于通过第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式,其中,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上;发送模块用于通过第一处理器根据目标通信方式将至少一个目标标识信息发送至第二处理器。
此处需要说明的是,上述确定模块100和发送模块102对应于实施例1中的步骤S202至步骤S208,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
可选地,第二确定模块包括:第一确定单元、第二确定单元。
其中,第一确定单元用于响应于部署关系为第一处理器和第二处理器部署在同一物理机上,确定目标通信方式为第一通信方式;第二确定单元用于响应于部署关系为述第一处理器和第二处理器部署在不同物理机上,确定目标通信方式为第二通信方式;其中,第一通信方式用于表征通过总线进行通信的通信方式,第二通信方式用于表征通过网络进行通信的通信方式。
可选地,该装置还包括:第三确定模块。
其中,获取模块还用于通过第一处理器获取第二处理器对应的分组结果,其中,分组结果是基于第二处理器所属的物理机对第二处理器进行分组所得到;第三确定模块用于通过第一处理器基于第二处理器对应的分组结果,确定部署关系。
可选地,第一确定模块包括:分桶单元、第三确定单元。
其中,分桶单元用于通过第一处理器基于预设分桶规则对至少一个目标标识信息进行分桶处理,得到目标分桶结果;第三确定单元用于通过第一处理器基于目标分桶结果确定第二处理器。
可选地,该装置还包括:查询模块。
其中,获取模块用于通过第二处理器基于本地存储的哈希表,获取至少一个目标标识信息的偏移地址;查询模块用于通过第二处理器基于偏移地址在目标处理器中查询到目标查询结果。
可选地,查询模块包括:分配单元、查询单元、合并单元。
其中,分配单元用于响应于目标通信方式为第一通信方式,第二处理器将偏移地址分配至第三处理器,其中,第三处理器用于基于偏移地址从目标处理器中查询到第一查询结果;查询单元用于响应于目标通信方式为第二通信方式,第二处理器基于偏移地址在目标处理器中查询到第二查询结果;合并单元,用于合并第一查询结果和第二查询结果,生成目标查询结果。
可选地,获取模块包括:获取单元、去重单元。
其中,获取单元用于通过第一处理器获取待查询的多个初始标识信息;去重单元用于通过第一处理器对多个初始标识信息进行去重处理,得到至少一个目标标识信息。
可选地,该装置还包括:去重模块。
其中,去重模块用于响应于第二处理器获取到多个目标标识信息,第二处理器对多个目标标识信息进行去重处理,得到处理后的目标标识信息。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例3
本发明的实施例可以提一种处理器之间的通信系统,包括:
第一处理器,用于获取待查询的至少一个目标标识信息;
第二处理器,与第一处理器通过目标通信方式进行通信,用于获取至少一个目标标识信息对应的目标查询结果,其中,目标通信方式通过第一处理器和第二处理器的部署关系确定,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例4
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行处理器之间的通信方法中以下步骤的程序代码:第一处理器获取待查询的至少一个目标标识信息;第一处理器确定至少一个目标标识信息对应的第二处理器,其中,第二处理器用于获取至少一个目标标识信息对应的目标查询结果;第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式,其中,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上;第一处理器通过目标通信方式将至少一个目标标识信息发送至第二处理器。
可选地,图9是根据本发明实施例的一种计算机终端的结构框图。如图9所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器902、存储器904。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的处理器之间的通信方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及处理器之间的通信,即实现上述的处理器之间的通信方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:第一处理器获取待查询的至少一个目标标识信息;第一处理器确定至少一个目标标识信息对应的第二处理器,其中,第二处理器用于获取至少一个目标标识信息对应的目标查询结果;第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式,其中,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上;第一处理器通过目标通信方式将至少一个目标标识信息发送至第二处理器。
可选地,上述处理器还可以执行如下步骤的程序代码:响应于部署关系为第一处理器和第二处理器部署在同一物理机上,确定目标通信方式为第一通信方式;响应于部署关系为述第一处理器和第二处理器部署在不同物理机上,确定目标通信方式为第二通信方式;其中,第一通信方式用于表征通过总线进行通信的通信方式,第二通信方式用于表征通过网络进行通信的通信方式。
可选地,上述处理器还可以执行如下步骤的程序代码:第一处理器获取第二处理器对应的分组结果,其中,分组结果是基于第二处理器所属的物理机对第二处理器进行分组所得到;第一处理器基于第二处理器对应的分组结果,确定部署关系。
可选地,上述处理器还可以执行如下步骤的程序代码:第一处理器基于预设分桶规则对至少一个目标标识信息进行分桶处理,得到目标分桶结果;第一处理器基于目标分桶结果确定第二处理器。
可选的,上述处理器还可以执行如下步骤的程序代码:第二处理器基于本地存储的哈希表,获取至少一个目标标识信息的偏移地址;第二处理器基于偏移地址在目标处理器中查询到目标查询结果。
可选地,上述处理器还可以执行如下步骤的程序代码:响应于目标通信方式为第一通信方式,第二处理器将偏移地址分配至第三处理器,其中,第三处理器用于基于偏移地址从目标处理器中查询到第一查询结果;响应于目标通信方式为第二通信方式,第二处理器基于偏移地址在目标处理器中查询到第二查询结果;合并第一查询结果和第二查询结果,生成目标查询结果。
可选地,上述处理器还可以执行如下步骤的程序代码:第一处理器获取待查询的多个初始标识信息;第一处理器对多个初始标识信息进行去重处理,得到至少一个目标标识信息。
可选地,上述处理器还可以执行如下步骤的程序代码:响应于第二处理器获取到多个目标标识信息,第二处理器对多个目标标识信息进行去重处理,得到处理后的目标标识信息。
采用本发明实施例,提供了一种处理器之间的通信的方案,首先,第一处理器可以获取待查询的至少一个目标标识信息,第一处理器确定至少一个目标标识信息对应的第二处理器,其中,第二处理器用于获取至少一个目标标识信息对应的目标查询结果,第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式,其中,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上,第一处理器通过目标通信方式将至少一个目标标识信息发送至第二处理器中,以便通过提高处理器之间的通信速度来提高查询的效率。容易注意到的是,通过第一处理器和第二处理器之间的部署关系确定的第二处理器的目标通信方式,可以充分的利用物理机之间的通信链路对处于同一物理机中的处理器进行通信,从而提高同一物理机之间的处理器之间的通信的速度,同时,可以减轻不同物理机之间的网络资源的占用,从而提高处于不同物理机之间的处理器的通信速度,进而解决了相关技术中由于处理器之间的通信效率较低从而降低了对目标标识信息进行查询的查询效率的技术问题。
本领域普通技术人员可以理解,图9所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,计算机终端9还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的处理器之间的通信方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:第一处理器获取待查询的至少一个目标标识信息;第一处理器确定至少一个目标标识信息对应的第二处理器,其中,第二处理器用于获取至少一个目标标识信息对应的目标查询结果;第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式,其中,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上;第一处理器通过目标通信方式将至少一个目标标识信息发送至第二处理器。
可选地,上述处理器还可以执行如下步骤的程序代码:响应于部署关系为第一处理器和第二处理器部署在同一物理机上,确定目标通信方式为第一通信方式;响应于部署关系为述第一处理器和第二处理器部署在不同物理机上,确定目标通信方式为第二通信方式;其中,第一通信方式用于表征通过总线进行通信的通信方式,第二通信方式用于表征通过网络进行通信的通信方式。
可选地,上述处理器还可以执行如下步骤的程序代码:第一处理器获取第二处理器对应的分组结果,其中,分组结果是基于第二处理器所属的物理机对第二处理器进行分组所得到;第一处理器基于第二处理器对应的分组结果,确定部署关系。
可选地,上述处理器还可以执行如下步骤的程序代码:第一处理器基于预设分桶规则对至少一个目标标识信息进行分桶处理,得到目标分桶结果;第一处理器基于目标分桶结果确定第二处理器。
可选地,上述处理器还可以执行如下步骤的程序代码:第二处理器基于本地存储的哈希表,获取至少一个目标标识信息的偏移地址;第二处理器基于偏移地址在目标处理器中查询到目标查询结果。
可选地,上述处理器还可以执行如下步骤的程序代码:响应于目标通信方式为第一通信方式,第二处理器将偏移地址分配至第三处理器,其中,第三处理器用于基于偏移地址从目标处理器中查询到第一查询结果;响应于目标通信方式为第二通信方式,第二处理器基于偏移地址在目标处理器中查询到第二查询结果;合并第一查询结果和第二查询结果,生成目标查询结果。
可选地,上述处理器还可以执行如下步骤的程序代码:第一处理器获取待查询的多个初始标识信息;第一处理器对多个初始标识信息进行去重处理,得到至少一个目标标识信息。
可选地,上述处理器还可以执行如下步骤的程序代码:响应于第二处理器获取到多个目标标识信息,第二处理器对多个目标标识信息进行去重处理,得到处理后的目标标识信息。
采用本发明实施例,提供了一种处理器之间的通信的方案,首先,第一处理器可以获取待查询的至少一个目标标识信息,第一处理器确定至少一个目标标识信息对应的第二处理器,其中,第二处理器用于获取至少一个目标标识信息对应的目标查询结果,第一处理器基于第一处理器和第二处理器的部署关系,确定第二处理器的目标通信方式,其中,部署关系用于表示第一处理器与第二处理器是否部署在同一物理机上,第一处理器通过目标通信方式将至少一个目标标识信息发送至第二处理器中,以便通过提高处理器之间的通信速度来提高查询的效率。容易注意到的是,通过第一处理器和第二处理器之间的部署关系确定的第二处理器的目标通信方式,可以充分的利用物理机之间的通信链路对处于同一物理机中的处理器进行通信,从而提高同一物理机之间的处理器之间的通信的速度,同时,可以减轻不同物理机之间的网络资源的占用,从而提高处于不同物理机之间的处理器的通信速度,进而解决了相关技术中由于处理器之间的通信效率较低从而降低了对目标标识信息进行查询的查询效率的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种处理器之间的通信方法,其特征在于,包括:
第一处理器获取待查询的至少一个目标标识信息;
所述第一处理器确定所述至少一个目标标识信息对应的第二处理器,其中,所述第二处理器用于获取所述至少一个目标标识信息对应的目标查询结果;
所述第一处理器基于所述第一处理器和所述第二处理器的部署关系,确定所述第二处理器的目标通信方式,其中,所述部署关系用于表示所述第一处理器与所述第二处理器是否部署在同一物理机上;
所述第一处理器通过所述目标通信方式将所述至少一个目标标识信息发送至所述第二处理器。
2.根据权利要求1所述的方法,其特征在于,所述目标通信方式包括如下至少之一:第一通信方式、第二通信方式,所述第一处理器基于所述第一处理器和所述第二处理器的部署关系,确定所述第二处理器的目标通信方式,包括:
响应于所述部署关系为所述第一处理器和所述第二处理器部署在同一物理机上,确定所述目标通信方式为所述第一通信方式;
响应于所述部署关系为述第一处理器和所述第二处理器部署在不同物理机上,确定所述目标通信方式为所述第二通信方式;
其中,所述第一通信方式用于表征通过总线进行通信的通信方式,所述第二通信方式用于表征通过网络进行通信的通信方式。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述第一处理器获取所述第二处理器对应的分组结果,其中,所述分组结果是基于所述第二处理器所属的物理机对所述第二处理器进行分组所得到;
所述第一处理器基于所述第二处理器对应的分组结果,确定所述部署关系。
4.根据权利要求1所述的方法,其特征在于,所述第一处理器确定所述至少一个目标标识信息对应的第二处理器包括:
所述第一处理器基于预设分桶规则对所述至少一个目标标识信息进行分桶处理,得到目标分桶结果;
所述第一处理器基于所述目标分桶结果确定所述第二处理器。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第二处理器基于本地存储的哈希表,获取所述至少一个目标标识信息的偏移地址;
所述第二处理器基于所述偏移地址在目标处理器中查询到所述目标查询结果。
6.根据权利要求5所述的方法,其特征在于,所述第二处理器基于所述偏移地址在目标处理器中查询到所述目标查询结果,包括:
响应于所述目标通信方式为第一通信方式,所述第二处理器将所述偏移地址分配至第三处理器,其中,所述第三处理器用于基于所述偏移地址从所述目标处理器中查询到第一查询结果;
响应于所述目标通信方式为第二通信方式,所述第二处理器基于所述偏移地址在所述目标处理器中查询到第二查询结果;
合并所述第一查询结果和所述第二查询结果,生成所述目标查询结果。
7.根据权利要求1所述的方法,其特征在于,第一处理器获取待查询的至少一个目标标识信息,包括:
所述第一处理器获取待查询的多个初始标识信息;
所述第一处理器对所述多个初始标识信息进行去重处理,得到所述至少一个目标标识信息。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
响应于所述第二处理器获取到多个目标标识信息,所述第二处理器对所述多个目标标识信息进行去重处理,得到处理后的目标标识信息。
9.一种处理器之间的通信系统,其特征在于,包括:
第一处理器,用于获取待查询的至少一个目标标识信息;
第二处理器,与所述第一处理器通过目标通信方式进行通信,用于获取所述至少一个目标标识信息对应的目标查询结果,其中,所述目标通信方式通过所述第一处理器和所述第二处理器的部署关系确定,所述部署关系用于表示所述第一处理器与所述第二处理器是否部署在同一物理机上。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至8中任意一项所述的处理器之间的通信方法。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的处理器之间的通信方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210114722.4A CN114579506A (zh) | 2022-01-30 | 2022-01-30 | 处理器之间的通信方法、系统、存储介质以及处理器 |
PCT/CN2023/073763 WO2023143595A1 (zh) | 2022-01-30 | 2023-01-30 | 处理器之间的通信方法、系统、存储介质以及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210114722.4A CN114579506A (zh) | 2022-01-30 | 2022-01-30 | 处理器之间的通信方法、系统、存储介质以及处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114579506A true CN114579506A (zh) | 2022-06-03 |
Family
ID=81771443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210114722.4A Pending CN114579506A (zh) | 2022-01-30 | 2022-01-30 | 处理器之间的通信方法、系统、存储介质以及处理器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114579506A (zh) |
WO (1) | WO2023143595A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023143595A1 (zh) * | 2022-01-30 | 2023-08-03 | 阿里巴巴(中国)有限公司 | 处理器之间的通信方法、系统、存储介质以及处理器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036817A (zh) * | 2012-12-14 | 2013-04-10 | 华为技术有限公司 | 一种服务器单板、服务器单板实现方法及主处理器 |
US20150095443A1 (en) * | 2013-09-30 | 2015-04-02 | Huawei Technologies Co., Ltd. | Method for migrating memory data of virtual machine, and related apparatus and cluster system |
CN106326143A (zh) * | 2015-06-18 | 2017-01-11 | 华为技术有限公司 | 一种缓存分配、数据访问、数据发送方法、处理器及系统 |
CN111078415A (zh) * | 2019-12-19 | 2020-04-28 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、服务器及计算机可读存储介质 |
CN113157609A (zh) * | 2021-04-20 | 2021-07-23 | 北京达佳互联信息技术有限公司 | 存储系统、数据处理方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631110B (zh) * | 2008-07-15 | 2013-01-02 | 国际商业机器公司 | 基于相对位置动态确定连接建立机制的装置和方法 |
US20180316636A1 (en) * | 2017-04-28 | 2018-11-01 | Hrb Innovations, Inc. | Context-aware conversational assistant |
CN108694092B (zh) * | 2018-05-11 | 2021-01-15 | 华中科技大学 | 一种面向并行应用的容器通信方法和系统 |
CN113420191B (zh) * | 2020-12-17 | 2024-07-05 | 阿里巴巴集团控股有限公司 | 数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质 |
CN113657577B (zh) * | 2021-07-21 | 2023-08-18 | 阿里巴巴达摩院(杭州)科技有限公司 | 模型训练方法及计算系统 |
CN114579506A (zh) * | 2022-01-30 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 处理器之间的通信方法、系统、存储介质以及处理器 |
-
2022
- 2022-01-30 CN CN202210114722.4A patent/CN114579506A/zh active Pending
-
2023
- 2023-01-30 WO PCT/CN2023/073763 patent/WO2023143595A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036817A (zh) * | 2012-12-14 | 2013-04-10 | 华为技术有限公司 | 一种服务器单板、服务器单板实现方法及主处理器 |
US20150095443A1 (en) * | 2013-09-30 | 2015-04-02 | Huawei Technologies Co., Ltd. | Method for migrating memory data of virtual machine, and related apparatus and cluster system |
CN106326143A (zh) * | 2015-06-18 | 2017-01-11 | 华为技术有限公司 | 一种缓存分配、数据访问、数据发送方法、处理器及系统 |
CN111078415A (zh) * | 2019-12-19 | 2020-04-28 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、服务器及计算机可读存储介质 |
CN113157609A (zh) * | 2021-04-20 | 2021-07-23 | 北京达佳互联信息技术有限公司 | 存储系统、数据处理方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023143595A1 (zh) * | 2022-01-30 | 2023-08-03 | 阿里巴巴(中国)有限公司 | 处理器之间的通信方法、系统、存储介质以及处理器 |
Also Published As
Publication number | Publication date |
---|---|
WO2023143595A1 (zh) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096336B (zh) | 数据监控方法、装置、设备和介质 | |
CN111258978A (zh) | 一种数据存储的方法 | |
CN113342509B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN105812175B (zh) | 一种资源管理方法及资源管理设备 | |
CN110928681A (zh) | 数据的处理方法和装置、存储介质及电子装置 | |
CN109325056A (zh) | 一种大数据处理方法及装置、通信设备 | |
CN105872635A (zh) | 视频资源分发的方法和装置 | |
CN114579506A (zh) | 处理器之间的通信方法、系统、存储介质以及处理器 | |
CN113051102A (zh) | 文件备份方法、装置、系统、存储介质和计算机设备 | |
CN114710571A (zh) | 数据包处理系统 | |
CN111400301A (zh) | 一种数据查询方法、装置及设备 | |
CN107818117B (zh) | 一种数据表的建立方法、在线查询方法及相关装置 | |
CN113609349A (zh) | 租赁车辆库存检测方法、装置及介质 | |
CN108076029A (zh) | 排班管理系统的搭建方法及装置 | |
CN115277553B (zh) | 一种流表存储方法、装置、设备和计算机可读存储介质 | |
CN112395282A (zh) | 一种图重构方法及装置 | |
CN112148925A (zh) | 用户标识关联查询方法、装置、设备及可读存储介质 | |
CN112231405B (zh) | 数据存储装置 | |
CN112162731B (zh) | 数据扩展方法、装置、存储介质及电子装置 | |
CN107305581B (zh) | 分布式数据库系统中的表连接方法及分布式数据库系统 | |
CN114860460A (zh) | 一种数据库加速的方法、装置、计算机设备 | |
CN111046249A (zh) | 一种数据存储、定位、应用方法及相关装置 | |
CN111459484A (zh) | 网页前后端分离开发时后端数据模拟方法 | |
CN115168366B (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN112804335B (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 |