CN112148663A - 一种数据交换芯片及服务器 - Google Patents

一种数据交换芯片及服务器 Download PDF

Info

Publication number
CN112148663A
CN112148663A CN201910583787.1A CN201910583787A CN112148663A CN 112148663 A CN112148663 A CN 112148663A CN 201910583787 A CN201910583787 A CN 201910583787A CN 112148663 A CN112148663 A CN 112148663A
Authority
CN
China
Prior art keywords
chip
data
server
interface
switch
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
Application number
CN201910583787.1A
Other languages
English (en)
Inventor
侯新宇
贾群
林伟彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910583787.1A priority Critical patent/CN112148663A/zh
Priority to EP20833243.7A priority patent/EP3968171A4/en
Priority to PCT/CN2020/078029 priority patent/WO2020258917A1/zh
Publication of CN112148663A publication Critical patent/CN112148663A/zh
Priority to US17/561,019 priority patent/US20220114132A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/1735Network adapters, e.g. SCI, Myrinet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)

Abstract

本申请提供一种人工智能AI交换芯片及服务器,AI交换芯片包括第一AI接口、第一网络接口和控制器,第一AI接口用于AI交换芯片连接第一服务器中的第一AI芯片,第一AI芯片为第一服务器中多个AI芯片中的任意一个;第一网络接口用于AI交换芯片连接第二服务器;控制器通过第一AI接口接收第一AI芯片发送的数据;然后将数据通过第一网络接口发送至第二服务器。通过AI交换芯片,服务器在将AI芯片中的数据发送给另一服务器时,可以通过AI接口直接接收AI芯片发送的数据,然后通过与控制器连接的一个或多个网络接口发送给另一服务器,使服务器中的AI芯片中的数据传输到其他服务器的时延更小,效率更高。

Description

一种数据交换芯片及服务器
技术领域
本申请涉及服务器领域,尤其涉及一种数据交换芯片及服务器。
背景技术
随着计算机技术的发展,人工智能(Artificial Intelligence,AI)和大数据在机器视觉、自然语言处理等越来越多的领域中得到广泛的应用,人工智能是对人的意识和思维过程的模拟,通常通过神经网络模型实现,对于神经网络模型的训练常用到AI芯片,AI芯片是一种用于处理人工智能应用中的大量计算任务的模块,一个服务器中可以有一个或多个AI芯片。随着应用场景需求的提升,神经网络规模和数据集规模急剧增长,通过单个服务器对神经网络模型进行训练需要消耗的时间较长。为了适应神经网络规模和数据的增长,缩短神经网络模型训练的时间,通常需要利用多个服务器中的AI芯片进行数据的并行处理,例如,采用不同服务器负责训练神经网络模型的不同网络层,或者将同一层网络的不同数据分配到不同的服务器中的AI芯片进行训练,然后将所有服务器的计算结果按照某种方式合并。但是多个服务器并行处理数据时,不同服务器之间需要传输大量的数据,如何降低服务器之间传输数据时的时延是提高数据并行处理效率亟待解决的技术问题。
发明内容
本申请提供了一种数据交换的芯片及服务器,用于提高服务器之间数据传输的效率。
第一方面,本申请提供一种人工智能交换AI Switch芯片,包括:第一AI接口、第一网络接口以及控制器,其中,
第一AI接口用于AI Switch芯片通过第一AI接口连接第一服务器中的第一AI芯片,上述第一服务器包括上述AI Switch芯片以及多个AI芯片,第一AI芯片为多个AI芯片中的任意一个;
第一网络接口用于使AI Switch芯片通过第一网络接口连接第二服务器;
控制器分别连接上述第一AI接口与上述第一网络接口,并用于通过上述第一AI接口接收上述第一AI芯片发送的第一数据;然后将第一数据通过第一网络接口发送至上述第二服务器。
通过上述AI Switch芯片,服务器在需要将AI芯片中的数据发送给另外一台服务器时,上述AI Switch芯片中的控制器不需要经过其他芯片或者模块,可以通过与控制器连接的AI接口直接接收AI芯片发送的数据,然后通过与控制器连接的网络接口发送给另外一台服务器,从而使服务器中的控制器从AI芯片接收数据时的时延更小,效率更高。
在一种可能的实现方式中,上述AI Switch芯片还包括外设总线接口标准PCIe接口,PCIe接口分别连接上述控制器以及上述第一服务器中的处理器;
上述控制器在通过第一AI接口接收第一AI芯片发送的第一数据之前,上述控制器还用于:通过上述PCIe接口接收上述处理器发送的控制信息,所述控制信息中携带有第一AI芯片的标识;上述控制器通过所述第一AI接口接收所述第一AI芯片发送的第一数据时,具体为:根据上述第一AI芯片的标识通过上述第一AI接口接收上述第一AI芯片发送的第一数据。
在一种可能的实现方式中,上述AI Switch芯片还包括第二网络接口,第二网络接口连接上述第二服务器,上述控制器还用于:通过上述第一AI接口接收上述第一AI芯片发送的第二数据,将上述第二数据通过第二网络接口发送至第二服务器。上述AI Switch芯片包括多个网络接口,AI switch芯片中的控制器在接收AI芯片中的数据之后,可以通过多个网络接口发送给其他的服务器,从而能够提高服务器之间传递数据的带宽,降低服务器之间传输数据的时延。
在一种可能的实现方式中,上述AI Switch芯片中的第一AI接口通过上述第一AI芯片连接上述处理器,上述控制器还用于:通过上述第一AI接口和上述第一AI芯片接收处理器发送的第三数据,并将第三数据通过上述第一网络接口发送至上述第二服务器。上述AI Switch芯片可以通过PCIe接口接收处理器发送的数据,也可以通过第一AI接口以及第一AI芯片接收处理器发送的数据,因此AI Switch芯片可以通过两条通路连接处理器,可以通过两条通路接收处理器中的数据。
在一种可能的实现方式中,上述控制器还用于:通过上述第一AI接口接收上述第一AI芯片发送的第四数据,然后将第四数据通过第二AI接口发送至服务器中多个AI芯片中的第二AI芯片。上述控制器通过AI接口接收一个AI芯片发送的数据,然后通过其他AI接口发送给其他AI芯片,从而实现服务器内AI芯片之间的数据交互。
在一种可能的实现方式中,所述第一AI接口为HSSI接口。
第二方面,本申请提供一种服务器,包括处理器、多个人工智能AI芯片以及人工智能交换AI Switch芯片,其中,上述AI Switch芯片通过AI Switch芯片中的第一外设中心接口标准PCIe接口与处理器连接,并通过AI Switch芯片中的多个AI接口分别与多个AI芯片连接,AI Switch芯片用于:通过上述PCIe接口接收上述处理器发送的控制信息,控制信息包括第一AI芯片的标识,第一AI芯片为上述多个AI芯片中的任意一个;通过上述AI Switch芯片中的第一AI接口接收所述第一AI芯片发送的第一数据,并通过所述AI Switch芯片中的第一网络接口将所述第一数据发送至另一台服务器。
在一种可能的实施方式中,上述AI Switch芯片还包括第二网络接口,上述AISwitch芯片通过第二网络接口连接另一服务器;AI Switch芯片还用于:通过第一AI接口接收所述第一AI芯片发送的第二数据;然后将第二数据通过第二网络接口发送至上述另一服务器。
在一种可能的实施方式中,上述第一AI接口通过第一AI芯片连接上述处理器,上述AI Switch芯片还用于:通过第一AI接口与第一AI芯片接收上述处理器发送的第三数据;然后将第三数据通过第一网络接口发送至上述另一服务器。
在一种可能的实施方式中,上述AI Switch芯片通过PCIe接口连接上述处理器,上述AI Switch芯片在通过第一AI接口与第一AI芯片接收上述处理器发送的第三数据之前,所述处理器需要确定通过所述PCIe接口连接所述处理器的路径存在数据拥塞。控制器可以通过上述PCIe接口连接处理器,也可以通过第一AI接口与第一AI芯片连接处理器,在AISwitch芯片需要接收处理器中的数据时,AI Switch芯片可以通过上述任意一条通路接收处理器发送的数据,也可以同时通过上述两条通路接收处理器发送的数据。在控制器通过上述任意一条通路接收处理器发送的数据时,处理器可以获取两条数据通路的拥塞情况,选择拥塞程度较轻的数据通路接收处理器发送的数据,从而能够减少接收数据的时延。
在一种可能的实施方式中,上述AISwitch芯片还可以通过第二AI接口接收第一AI芯片中的第四数据,将所述第四数据发送至上述多个AI芯片中的第二AI芯片。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种多个服务器相互连接的拓扑结构示意图;
图1B是本申请实施例提供的另一种多个服务器互相连接的拓扑结构示意图;
图2是本申请实施例提供的一种多AI芯片的服务器的结构示意图;
图3是本申请实施例提供的一种服务器的结构示意图;
图4是本申请实施例提供的服务器的一种具体的结构示意图,
图5时本申请实施例提供的一种AI芯片与AI Switch芯片连接的示意图;
图6是本申请实施例提供的一种AI Switch芯片的结构示意图;
图7是本申请实施例提供的一种AI芯片与AI Switch芯片的连接示意图;
图8是本申请实施例提供的一种服务器的工作示意图;
图9是本申请实施例提供的一种数据传输的方法;
图10是本申请实施例提供的另一种多AI芯片的服务器的结构示意图。
具体实施方式
下面结合附图对本申请进行具体介绍,首先介绍本申请中涉及的专用名词:
人工智能(artificial intelligence,AI)芯片:是一种用于处理人工智能应用中大量计算任务的模块,一个服务器中可以有一个或多个AI芯片。
网络接口控制器(network interface controller,NIC):又称为网卡,NIC是设计用来允许各个计算机在网络上进行通信的计算机硬件,服务器的NIC用于将一台服务器与另一台服务器连接起来,或者用于使服务器与交换机等网络设备之间建立连接。
外设总线接口标准(peripheral component interface express,PCIe)接口:是一种高速串行计算机扩展总线标准接口,PCIe接口用于高速串行点对点双通路高宽带传输,其所连接的设备分配独享通路带宽,不共享总线带宽,主要支持端对端的可靠传输。
外设总线接口标准交换(peripheral component interface express switch,PCIeSwitch)芯片:PCIe Switch芯片是一种用于扩展PCIe链路的模块,PCIe链路使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备或器件,因此PCIe链路必须使用PCIe Switch芯片扩展PCIe链路,才能在PCIe链路的一端连接多个设备或者器件,其中,PCIe Switch芯片与其他设备或者器件之间通过PCIe总线连接。
高速串行总线(high-speed serial interface,HSSI)接口:是一种采用串行通信方式的扩展接口,包括通用串行总线(universal serial bus,USB)、高清多媒体接口(highdefinition multimedia interface,HDMI)、移动产业处理器接口(mobile industryprocessor interface,MIPI)等。
在人工智能领域,随着神经网络规模和数据集规模的急剧增长,要利用大规模的训练集训练大规模的神经网络,仅单个服务器内部的一个或多个AI芯片的计算能力已很难胜任,需要采用多个服务器(包含更多的AI芯片)对数据进行并行处理,例如采用模型并行训练的方法,将神经网络模型的不同网络层分配给不同的服务器进行训练,单个服务器在处理完数据之后,需要将处理后的数据发送给其他服务器以供其他服务器训练使用。
在采用多台服务器进行数据的并行处理时,服务器之间可以直接建立连接(即:两个服务器之间的数据传输不经过其他设备),也可以通过路由器或者交换机等实现相互连接(即:两个服务器之间的数据传输通过路由器或交换机等设备进行转发)。当多台服务器之间直接连接时,任意两台服务器之间可以通过一个或者多个网络接口控制器直接建立连接(例如:任意两台服务器的NIC用网线连接),任意两台服务器之间需要传输数据时,两台服务器之间可传输数据的带宽为这两台服务器之间相互连接的NIC的带宽之和。当多台服务器之间通过路由器或者交换机连接时,任意两台服务器之间可传输数据的最大带宽可以是每台服务器所具有的NIC的带宽之和。
示例性的,若每台服务器具有8个NIC,三台上述服务器通过全互联的方式直接相互连接时,网络拓扑如图1A所示,则任意两台服务器之间可以通过4个NIC相互连接,任意两台服务器之间传输数据时的最大带宽是4个NIC的带宽之和。当多台服务器之间通过路由器或者交换机互相连接时,任意两台服务器之间传输数据的最大带宽可以是每台服务器所具有的NIC的带宽之和,如图1B所示,图1B是三台上述服务器之间通过路由器或者交换机连接的示意图,当服务器A与服务器B之间需要进行数据传输,且服务器A与服务器B均与服务器C之间没有数据传输,则服务器A与服务器B之间可以通过8个NIC传输数据,即任意两台服务器之间传输数据时的最大带宽为8个NIC的带宽之和。在一台服务器与另一台服务器进行数据传输的过程中,影响数据传输效率的关键因素是服务器内部数据传输的路径和两个服务器之间进行数据传输的带宽大小。
如图2所示,图2是一种包含多个AI芯片的服务器的结构示意图,该类型的服务器包括8个NIC和多个人工智能交换AI Switch芯片,每个NIC通过一个PCIe Switch芯片与两个AI芯片连接,且通过PCIe Switch芯片与处理器连接;AI Switch芯片用于服务器内部的多个AI芯片之间实现相互连接,使服务器内部的多个AI芯片中的每两个AI芯片之间能够通过AI Switch芯片实现数据交换。当一台服务器需要将AI芯片中的数据发送给另一台服务器时,NIC通过PCIe Switch芯片接收AI芯片发送的数据,然后发送给与该NIC连接的另一台服务器。例如,当图2所示的服务器用于与其他服务器协同训练一个神经网络模型时,若一个服务器需要将AI芯片中的数据发送给其他服务器,由于一个NIC通过一个PCIe Switch芯片连接两个AI芯片,因此一个NIC需要通过一个PCIe Switch芯片接收一个或两个AI芯片发送的数据。两个AI芯片中的数据需要通过同一个PCIe Switch芯片传输到同一个NIC中,则两个AI芯片的数据通路具有重合的部分(即PCIe Switch芯片与NIC之间连接的PCIe总线),其中,AI芯片的数据通路是指AI芯片与NIC之间传输数据的通路。由于PCIe总线带宽较小,因此在图2所示的服务器中,当需要传输的数据量较多时,在PCIe Switch芯片到NIC的通路可能会出现拥塞导致服务器之间传输数据时延增加,进一步地,NIC通过PCIe Switch芯片接收一个AI芯片的数据或NIC通过PCIe Switch芯片向一个AI芯片发送数据,也使得服务器之间传输数据的时延增加。
在神经网络规模和数据集规模的急剧增长的趋势下,采用多台服务器进行数据的并行处理时,服务器之间传递数据将会变得频繁,若采用图2所示的服务器,一个NIC需要通过PCIe Switch芯片接收一个或者多个AI芯片中的数据并传输给另一个服务器,会导致服务器之间传递数据的时延长,若服务器之间传输数据的时延长,会使多服务器并行处理的效率降低,并行处理的优势不能充分发挥。
为解决上述多台服务器进行数据的并行处理时,由于服务器之间传输数据时传输速度慢而导致时延长的问题,本申请实施例提供一种服务器,下面结合附图对本申请提供的服务器和数据传输方法进行阐述。如图3所示,图3是本申请实施例提供的一种服务器的结构示意图,该服务器包括处理器、AI芯片、AI Switch芯片以及PCIe Switch芯片,处理器与AI芯片以及处理器与AI Switch芯片之间均通过PCIe Switch芯片连接,AI芯片与AISwitch芯片之间通过AI芯片和AI Switch芯片中的AI接口连接。示例性的,图4是本申请提供的上述服务器的一种具体的结构示意图,该服务器包括处理器、多个AI芯片、一个或多个AI Switch芯片以及多个PCIe Switch芯片。处理器可以通过一个PCIe Switch芯片与多个AI芯片连接,并通过PCIe Switch芯片与多个AI Switch芯片连接,多个AI芯片与多个AISwitch芯片通过AI接口相互连接,多个AI芯片与多个AI Switch芯片连接方式如图5所示,每个AI芯片与每个AI Switch芯片均包括多个AI接口,每个AI芯片可以通过一个AI接口与一个AI Switch芯片中的一个AI接口连接,也可以通过多个AI接口与一个AI Switch芯片中的多个AI接口连接,从而使服务器内部多个AI芯片中每两个AI芯片之间能够通过AISwitch芯片互相连接。示例性的,图5是服务器内部任意2个AI芯片与多个AI Switch芯片中的任意3个AI Switch芯片中的AI接口之间的连接示意图,图中每个AI芯片通过一个AI接口与一个AI Switch芯片中的一个AI接口连接。可选地,上述AI接口可以是HSSI接口,也可以是其他类型用于连接芯片的接口,本申请不作具体限定。
图6为上述AI Switch芯片内部结构示意图,AI Switch芯片包括控制器、一个或多个AI接口、一个或多个PCIe接口以及一个或者多个网络接口。其中,控制器分别与AI接口、PCIe接口以及网络接口连接,通过AI接口、PCIe接口或网络接口接收数据或控制信息,并将接收到的数据通过指定的接口发送给AI芯片或者其他服务器。AI接口用于AI Switch芯片连接服务器内的多个AI芯片,其中,AI Switch芯片上的每个AI接口与一个AI芯片上的一个AI接口连接;控制器与AI接口连接,通过AI接口接收AI芯片内的数据,并将接收到的数据通过其他AI接口发送给与上述其他AI接口连接的AI芯片,实现服务器内部的AI芯片之间的数据传输,或者,将接收到的数据通过网络接口发送给其他服务器,实现服务器与服务器之间的数据传输。PCIe接口用于AI Switch芯片通过与PCIe接口连接的PCIe Switch芯片与处理器连接。网络接口用于服务器与其他服务器连接,或者与交换机或路由器等设备连接,实现服务器与服务器之间的数据传输。在AI Switch芯片为图6所示的情况下,AI芯片与AISwitch芯片的连接方式如图7所示,即:多个AI Switch芯片与多个AI芯片通过各自不同的AI接口互相连接,使得一个AI Switch芯片可与多个AI芯片连接,使得多个AI芯片进行服务器内部或服务器之间的数据交换;多个AI Switch芯片也可与一个AI芯片连接,使得多个AISwitch芯片可同时为同一个AI芯片进行服务器内部或服务器之间的数据交换。
图8为本申请实施例提供的一种服务器的工作示意图。其中,AI Switch芯片可以通过PCIe Switch芯片连接至处理器,也可以通过一个AI芯片以及一个PCIe Switch芯片连接至处理器。对于AI芯片,上述控制器通过PCIe接口以及PCIe Switch芯片与处理器连接的通路(即图中通路1),称为控制通路,处理器通过控制通路向AI Switch芯片中的控制器发送控制信息,控制器根据控制信息接收AI芯片发送的数据;上述控制器通过AI接口与AI芯片连接的通路(即图中通路2),称为数据通路,每个AI芯片通过一个AI接口可以与一个AISwitch芯片中的控制器连接构成一条数据通路,因此每个AI芯片可以通过多个AI接口与多个AI Switch芯片中的控制器连接建立多个数据通路,接收到控制信息的一个或者多个控制器可以通过数据通路接收AI芯片发送的数据。可以理解,AI Switch芯片中包括多个AI接口与多个PCIe接口,图8中仅示出AI Switch芯片中一个AI接口与一个AI芯片连接以及一个PCIe接口与一个PCIe Switch芯片连接。
基于上述服务器,本申请实施例提供一种数据传输的方法,该方法应用于采用多台上述服务器进行数据的并行处理的服务器***中,如图9所示,所述方法包括:
S102、AI Switch芯片接收处理器发送的控制信息。
上述控制信息用于指示AI Switch芯片通过控制器接收目标AI芯片中的数据,所述控制信息包括目标AI芯片的标识,例如:目标AI芯片的ID和目标AI芯片的接口号,目标AI芯片的ID为AI Switch芯片需要接收数据的AI芯片,目标AI芯片的接口号为目标AI芯片连接的AI接口。例如,采用模型并行的方法训练神经网络模型时,一台服务器负责训练一个网络层,当一台服务器接收到需要处理的数据时,该服务器的处理器将接收到的数据分配给该服务器中的多个AI芯片进行处理,当一个AI芯片将分配到的数据处理完之后,处理器通过上述控制通路向一个或多个AI Switch芯片中的控制器发送控制信息,指示接收到控制信息的控制器通过AI接口接收目标AI芯片发送的数据。
S104、AI Switch芯片根据控制信息接收目标AI芯片发送的数据。
由于控制器位于AI Switch芯片的内部,控制器通过AI Switch芯片中的AI接口与AI芯片连接,因此控制器可以通过与目标AI芯片连接的AI接口接收目标AI芯片发送的数据。控制器在接收到上述控制信息之后,需要获取控制信息中的目标AI芯片的ID与目标AI芯片的接口号,根据控制信息中的目标AI芯片ID确定目标AI芯片,并根据目标AI芯片的端口号确定与目标AI芯片连接的AI接口,然后接收目标AI芯片发送的数据。
S106、AI Switch芯片向目标服务器发送接收到的数据。
AI Switch芯片在根据上述控制信息接收到目标AI芯片中对应的数据之后,将接收到的数据通过网络接口发送给与该网络接口连接到目标服务器。
值得注意的是,在上述数据传输的方法中,控制器可以通过AI接口直接接收AI芯片中的数据,如图7所示,由于控制器通过AI接口与AI芯片连接,因此控制器可以通过AI接口直接接收AI芯片中的数据。即在上述S104中,控制器不需要经过其他芯片或者模块,可以通过AI接口直接接收AI芯片发送的数据。并且控制器与多个网络接口连接,控制器从AI芯片接收的数据,可以通过多个网络接口传输到目标服务器,因此本申请提供的AI Switch芯片中的控制器从AI芯片接收数据以及传输数据时的时延更小,效率更高。
值得注意的是,本申请提供的服务器中,当其中一个AI芯片需要传输的数据量较大时,可以利用多个AI Switch芯片中的控制器同时接收该AI芯片发送的数据,并通过多个AISwitch芯片中的网络接口向另一台服务器发送数据,降低数据传输的时延。如图8所示,每个AI芯片与每个AI Switch芯片之间通过AI接口连接,每个AI芯片能够通过AI Switch芯片中的AI接口与每个AI Switch芯片中的控制器连接,从而与每个AI Switch芯片中的控制器构成一条数据通路。当需要接收某一个AI芯片发送的数据时,可以通过与该AI芯片连接的多个AI Switch芯片中的控制器同时接收该AI芯片中的数据,即处理器可以给多个AISwitch芯片中的控制器发送控制信息,通过多个控制器接收目标AI芯片中的数据,然后通过这多个AISwitch芯片中的网络接口将接收到的数据发送给另一台服务器。例如上述图8中,一个AI芯片与3个AI Switch芯片中的每个AI Switch芯片通过一个AI接口连接,当需要将其中一个AI芯片中的数据发送给另一台服务器时,与该AI芯片连接的3个AI Switch芯片中均可以与AI芯片之间构成数据通路,然后通过3条数据通路接收该AI芯片中的数据,然后通过三个AI Switch芯片中的网络接口将接收的数据发送给另一台服务器。因此本申请提供的服务器能够通过多个控制器同时接收同一个AI芯片中的数据,并且通过多个AISwitch芯片中的网络接口同时向另一台服务器发送数据,接收数据的服务器同样可以通过多个网络接口接收数据,在需要发送AI芯片中相同数量的数据时,本申请提供的服务器能够提供更大的带宽,接收并发送AI芯片中数据的速度更快,效率更高,时延更小。
进一步的,本申请提供的服务器中,当控制器需要将所有AI芯片中的数据发送到另一台服务器中时,每个AI芯片中的数据可以采用AI Switch芯片中的任意一个或多个网络接口传输到另一台服务器。图2所示的服务器中,一个NIC需要接收两个AI芯片中的数据,两个AI芯片中的数据需要通过同一条PCIe总线传输到NIC中,由于PCIe总线带宽有限,因此在图2所示的服务器中,当需要传输的数据量较多时,在PCIe Switch芯片到NIC的通路可能会出现拥塞导致服务器之间传输数据时延增长。本申请提供的服务器中,每个AI Switch芯片中均包括一个或者多个网络接口,网络接口的数量可以多于AI芯片的数量,因此在需要将所有AI芯片中的数据发送给另一台服务器时,每个AI Switch芯片中的控制器可以通过AI接口接收一个或者多个AI芯片中的数据,然后将接收的数据通过不同的网络接口发送出去,每个AI芯片至少有对应的一个网络接口发送其中的数据,因此不会出现图2服务器中由于一个NIC需要传输多个AI芯片的数据,当数据量过大时出现通路拥塞而导致服务器之间数据传输时延高的问题。
举例来讲,若本申请提供的服务器中包括2个AI芯片与3个AI Switch芯片,每个AISwitch芯片包括2个网络接口。根据图8中所示的AI芯片与AI Switch芯片中AI接口之间的连接关系以及AI Switch芯片的内部连接关系,该服务器中的6个网络接口均可以与每个AI芯片连接并发送AI芯片中的数据,当每个AI芯片仅通过一个AI接口与每个AI Switch芯片连接,在需要同时接收这两个AI芯片中的数据时,每个AI Switch芯片中的控制器可以通过与每个AI芯片连接的AI接口同时接收两个AI芯片中的数据,然后一个网络接口用于发送其中一个AI芯片中的数据,另一个网络接口发送从另一个AI芯片中的数据。即当需要将所有AI芯片中的数据发送给另一台服务器时,每个AI芯片可以对应有至少1个网络接口用于发送控制器接收到的该AI芯片中的数据。
值得注意的是,本申请提供的服务器中,能够根据实际需求设置网络接口的数量,以适应传输AI芯片中数据的带宽。由于控制器位于AI Switch芯片内部,控制器可以通过AISwitch芯片上的AI接口直接访问AI芯片中的数据,在设置该服务器中的网络接口时,只需要在每个AI Switch芯片中设置网络接口,不需要额外增加与AI芯片连接的PCIe Switch芯片,并且每个AI芯片与AI Switch芯片中AI接口连接的接口数量可以保持不变,只需要增加新增的网络接口以及网络接口与控制器之间接口连接线。可以理解,上述图2所示的服务器中,也可以通过增加NIC的数量使每个AI芯片能够与多个NIC连接,但是增加一个NIC需要占用一个AI芯片的接口,而每个AI芯片的接口数量有限,并且处理器以及AI芯片均要通过PCIe Switch芯片与NIC连接,而每个PCIe Switch芯片的接口数量有限,在增加NIC数量时,同样需要增加PCIe Switch芯片的数量,因此若在图2所示的服务器结构的基础上增加NIC,由于AI芯片接口数量的限制,导致能够增加的NIC数量有限,并且会使服务器内部芯片数量过多导致结构复杂。
上述控制器还可以用于接收处理器发送的数据,在接收处理器发送的数据时,可以同时通过两条数据通路或者从两条数据通路中选择拥塞程度轻的数据通路接收处理器发送的数据。如图7中所示,每个控制器可以仅通过PCIe Switch芯片与处理器连接,而每个控制器通过AI接口与AI芯片连接,AI芯片通过PCIe Switch芯片连接到处理器,则控制器也可以经过AI芯片以及PCIe Switch芯片连接到处理器。因此,控制器可以通过图7中的通路1与通路3两条通路连接到处理器。其中,通路1可以作为控制通路,处理器对控制器的控制信息均通过控制通路发送给控制器,如上述控制器通过通路1向控制器发送控制信息;通路1还可以作为数据通路,则控制器与处理器之间的数据通路包括图7中的通路1与通路3。在控制器需要接收处理器发送的数据时,控制器可以通过上述通路1或通路3中的任意一条数据通路接收处理器发送的数据,也可以同时通过上述两条数据通路接收处理器发送的数据,接收处理器发送的数据。在控制器通过上述任意一条数据通路接收处理器发送的数据时,处理器可以获取两条数据通路的拥塞情况,选择拥塞程度较轻的数据通路向控制器发送的数据。处理器能够通过两条数据通路或者从两条数据通路中选择拥塞程度轻的数据通路接收向控制器发送的数据,从而能够减少处理器发送数据的时延。
通过采用本申请提供的服务器进行数据的并行处理时,当一台服务器需要将处理器内存或者AI芯片中的数据发送给另外一台服务器时,由于网络接口集成在AI Switch芯片的内部,控制器在接收到控制信息之后,控制器能够通过AI Switch芯片与AI芯片之间的接口直接接收AI芯片中的数据,从而能够减少AI Switch芯片接收处理器或者AI芯片中数据的时间,减少服务器之间传递数据的时间。进一步的,本申请提供的服务器在需要发送一个AI芯片中的数据时,可以通过多个AI Switch芯片中的控制器接收同一个AI芯片中的数据,并通过多个控制器中的网络接口发送该AI芯片中的数据;在需要发送所有AI芯片中的数据时,能够给每个AI芯片提供至少一个网络接口用于接收和发送一个AI芯片数据,从而能够在传输相同数量的数据时,降低设备之间传输数据的时间,提高数据读取和传输的效率。另外,当需要发送处理器中的数据时,处理器能够通过两条数据通路发送数据给AISwitch芯片,也可以选择两台数据通路中拥塞程度轻的数据通路发送数据给AI Switch芯片,能够减少处理器发送数据的时间,降低时延。
下面以服务器包括16个AI芯片以及12个AI Switch芯片为例,对本申请实施例提供的服务器的结构以及数据传输时的带宽或时延进行分析。如图10所示,图10是本申请实施例提供的一种服务器的示意图,该服务器包括相同的两个基板,每个基板包括8个AI芯片和6个AI Switch芯片,若每个AI Switch芯片中包括4个网络接口,则本申请实施例中提供的服务器中共包括48个网络接口。每个AI芯片上有6个AI接口,每个AI Switch芯片上有18个AI接口,每个AI芯片上的每个AI接口连接一个AI Switch芯片,两块基板之间通过AISwitch芯片之间的AI接口连接,因此每个AI芯片能够和12个AI Switch芯片实现连接。由于每个AI芯片与每个AI Switch芯片通过一个AI接口连接,在需要发送一个AI芯片中的数据时,能够通过任意6个AI Switch芯片中的6个控制器接收数据,其中,每个AI Switch芯片中提供1个网络接口发送接收到的该AI芯片中的数据。在需要发送16个AI芯片中的数据时,每个AI芯片能够通过3个AI Switch中的控制器接收该AI芯片中的数据,并通过每个AISwitch芯片中的一个网络接口发送数据。若三台上述服务器通过如图1A所示的全互联的方式连接时,任意两台服务器之间可以通过24个网络接口相互连接,任意两台服务器之间传输数据时的最大带宽24个网络接口的带宽之和。当三台服务器之间通过如图1B所示的路由器或者交换机网络互相连接时,若服务器A与服务器B之间需要进行数据传输时,且服务器A与服务器B均与服务器C之间没有数据传输,则服务器A与服务器B之间可以通过48个网络接口传输数据,即任意两台服务器之间传输数据时的最大带宽可以为48个网络接口的带宽之和。
应当理解,上述实施例中所描述的芯片或者服务器的结构仅是示例性的,上述描述的芯片或者服务器的功能,还可以通过其他方式实现,例如上述AI Switch芯片的结构,仅仅是一种逻辑功能的划分,实际是实现是还可以有另外的划分方式,例如通过网卡实现接收AI芯片中的数据并将数据发送给其他服务器,通过交叉开关矩阵(crossbar)实现服务器内部AI芯片之间的数据交换等。另外,本申请实施例中各功能芯片可以继承在一个模块上,也可以是各个芯片单独存在。
以上对本申请实施例进行的介绍,是采用具体个例对本申请中提供的芯片和服务器的原理进行的阐述,以上实施例只是用于帮助理解本申请的核心思想,对于本领域技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (11)

1.一种人工智能交换AI Switch芯片,其特征在于,包括:
第一AI接口,连接第一服务器中的第一AI芯片,所述第一服务器包括所述AI Switch芯片以及多个AI芯片,所述第一AI芯片为所述多个AI芯片中的任意一个;
第一网络接口,连接第二服务器;
控制器,分别连接所述第一AI接口与所述第一网络接口,并用于:
通过所述第一AI接口接收所述第一AI芯片发送的第一数据;
将所述第一数据通过所述第一网络接口发送至所述第二服务器。
2.如权利要求1所述的AI Switch芯片,其特征在于,所述AI Switch芯片还包括:
外设总线接口标准PCIe接口,分别连接所述控制器以及所述第一服务器中的处理器;
所述控制器还用于:通过所述PCIe接口接收所述处理器发送的控制信息,所述控制信息携带有所述第一AI芯片的标识;
所述控制器用于:根据所述第一AI芯片的标识通过所述第一AI接口接收所述第一AI芯片发送的第一数据。
3.如权利要求1或2所述的AI Switch芯片,其特征在于,
所述AI Switch芯片还包括第二网络接口,所述第二网络接口连接所述第二服务器;
所述控制器还用于:
通过所述第一AI接口接收所述第一AI芯片发送的第二数据;
将所述第二数据通过所述第二网络接口发送至所述第二服务器。
4.如权利要求1-3任一项所述的AI Switch芯片,其特征在于,所述AI Switch芯片还通过所述第一AI芯片连接所述处理器,所述控制器还用于:
通过所述第一AI接口和所述第一AI芯片接收所述处理器发送的第三数据;
将所述第三数据通过所述第一网络接口发送至所述第二服务器。
5.如权利要求1-4任一项所述的AI Switch芯片,其特征在于,所述控制器还用于:
通过所述第一AI接口接收所述第一AI芯片发送的第四数据;
将所述第四数据通过所述AI Switch芯片中的第二AI接口发送至所述多个AI芯片中的第二AI芯片。
6.如权利要求1-5任一项所述的AI Switch芯片,其特征在于,所述第一AI接口为HSSI接口。
7.一种服务器,其特征在于,包括:
处理器,用于发送控制信息;
多个人工智能AI芯片;
人工智能交换AI Switch芯片,通过所述AI Switch芯片中的外设总线接口标准PCIe接口与所述处理器连接,并通过所述AI Switch芯片中的多个AI接口分别与多个AI芯片连接;
所述AI Switch芯片用于:
通过所述PCIe接口接收所述处理器发送的所述控制信息,所述控制信息包括第一AI芯片的标识,所述第一AI芯片为所述多个AI芯片中的任意一个;
通过所述AI Switch芯片中的第一AI接口接收所述第一AI芯片发送的第一数据;
通过所述AI Switch芯片中的第一网络接口将所述第一数据发送至另一台服务器。
8.如权利要求7所述的服务器,其特征在于,
所述AI Switch芯片还包括第二网络接口,所述第二网络接口连接所述另一台服务器;
所述AI Switch芯片还用于:
通过所述第一AI接口接收所述第一AI芯片发送的第二数据;
将所述第二数据通过所述第二网络接口发送至所述另一台服务器。
9.如权利要求7或8所述的服务器,其特征在于,所述AI Switch芯片还通过所述第一AI芯片连接所述处理器,所述AI Switch芯片还用于:
通过所述第一AI接口与所述第一AI芯片接收所述处理器发送的第三数据;
将所述第三数据通过所述第一网络接口发送至所述另一台服务器。
10.如权利要求9所述的服务器,其特征在于,所述处理器还用于:
确定通过所述PCIe接口连接所述处理器的路径存在数据拥塞;
通过所述第一AI芯片向所述AI Switch芯片发送所述第三数据。
11.如权利要求7-10任一项所述的服务器,其特征在于:
所述AISwitch芯片还用于,通过第二AI接口接收第一AI芯片中的第四数据,将所述第四数据发送至所述多个AI芯片中的第二AI芯片。
CN201910583787.1A 2019-06-28 2019-06-28 一种数据交换芯片及服务器 Pending CN112148663A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910583787.1A CN112148663A (zh) 2019-06-28 2019-06-28 一种数据交换芯片及服务器
EP20833243.7A EP3968171A4 (en) 2019-06-28 2020-03-05 CHIP AND DATA EXCHANGE SERVER
PCT/CN2020/078029 WO2020258917A1 (zh) 2019-06-28 2020-03-05 一种数据交换芯片及服务器
US17/561,019 US20220114132A1 (en) 2019-06-28 2021-12-23 Data Switch Chip and Server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910583787.1A CN112148663A (zh) 2019-06-28 2019-06-28 一种数据交换芯片及服务器

Publications (1)

Publication Number Publication Date
CN112148663A true CN112148663A (zh) 2020-12-29

Family

ID=73891717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910583787.1A Pending CN112148663A (zh) 2019-06-28 2019-06-28 一种数据交换芯片及服务器

Country Status (4)

Country Link
US (1) US20220114132A1 (zh)
EP (1) EP3968171A4 (zh)
CN (1) CN112148663A (zh)
WO (1) WO2020258917A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115665071A (zh) * 2022-10-24 2023-01-31 扬州万方科技股份有限公司 一种网络交换设备架构及其数据分析方法
WO2023138009A1 (zh) * 2022-01-21 2023-07-27 华为技术有限公司 一种数据传输***、方法及相关设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882218B2 (en) * 2007-09-27 2011-02-01 Rockwell Automation Technologies, Inc. Platform independent historian
US8810584B2 (en) * 2011-09-13 2014-08-19 Nvidia Corporation Smart power management in graphics processing unit (GPU) based cluster computing during predictably occurring idle time
ITRM20120094A1 (it) * 2012-03-14 2013-09-14 Istituto Naz Di Fisica Nuclea Re Scheda di interfaccia di rete per nodo di rete di calcolo parallelo su gpu, e relativo metodo di comunicazione internodale
US8848726B1 (en) * 2013-01-24 2014-09-30 The Intellisis Corporation I/O data interface for packet processors
KR102147629B1 (ko) * 2013-11-18 2020-08-27 삼성전자 주식회사 플렉시블 서버 시스템
US9639497B2 (en) * 2014-11-05 2017-05-02 International Business Machines Corporation Physical layer network interface module (PHY-NIM) adaptation system
US20180212825A1 (en) * 2017-01-24 2018-07-26 OSNEXUS Corporation Dynamic management of networks to facilitate storage device access
US10360214B2 (en) * 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US11307949B2 (en) * 2017-11-15 2022-04-19 American Express Travel Related Services Company, Inc. Decreasing downtime of computer systems using predictive detection
KR102447381B1 (ko) * 2017-12-08 2022-09-27 삼성전자주식회사 통화 중 인공지능 서비스를 제공하기 위한 방법 및 그 전자 장치
CN108304341A (zh) * 2018-03-13 2018-07-20 算丰科技(北京)有限公司 Ai芯片高速传输架构、ai运算板卡及服务器
CN108845970B (zh) * 2018-05-30 2021-07-27 郑州云海信息技术有限公司 一种自由切换gpu服务器拓扑的装置及方法
US11218376B2 (en) * 2018-11-16 2022-01-04 Cisco Technology, Inc. Algorithmic problem identification and resolution in fabric networks by software defined operations, administration, and maintenance
US11360925B2 (en) * 2018-12-25 2022-06-14 Intel Corporation Method and apparatus for host adaptation to a change of persona of a configurable integrated circuit die
US11824732B2 (en) * 2018-12-28 2023-11-21 Intel Corporation Techniques for artificial intelligence capabilities at a network switch
US11799952B2 (en) * 2019-01-07 2023-10-24 Intel Corporation Computing resource discovery and allocation
CN109828940A (zh) * 2019-01-31 2019-05-31 郑州云海信息技术有限公司 一种智能网卡及数据处理***和方法
US11483212B2 (en) * 2019-02-08 2022-10-25 Ciena Corporation Safeguarding artificial intelligence-based network control
CN109739802B (zh) * 2019-04-01 2019-06-18 上海燧原智能科技有限公司 计算集群及计算集群配置方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023138009A1 (zh) * 2022-01-21 2023-07-27 华为技术有限公司 一种数据传输***、方法及相关设备
CN115665071A (zh) * 2022-10-24 2023-01-31 扬州万方科技股份有限公司 一种网络交换设备架构及其数据分析方法

Also Published As

Publication number Publication date
EP3968171A4 (en) 2022-06-22
WO2020258917A1 (zh) 2020-12-30
US20220114132A1 (en) 2022-04-14
EP3968171A1 (en) 2022-03-16

Similar Documents

Publication Publication Date Title
CN108255755B (zh) 基于fpga的pcie通用多功能通信接口模块
CN108345555B (zh) 基于高速串行通信的接口桥接电路及其方法
US10248599B2 (en) USB connections
US20220114132A1 (en) Data Switch Chip and Server
CN113177018B (zh) 一种使用双槽cpu的服务器
CN104899170A (zh) 分布式智能平台管理总线ipmb连接方法及atca机框
CN105763488B (zh) 数据中心汇聚核心交换机及其背板
CN110932920B (zh) 一种网络拓扑结构
CN102870374A (zh) 负荷分担方法及装置、单板
CN112202600B (zh) 一种多节点单主机与多主机通信自动切换装置及方法
CN109840231A (zh) 一种PCIe-SRIO转接设备及其方法
CN107181702B (zh) 一种实现RapidIO和以太网融合交换的装置
CN116401065A (zh) 一种服务器、异构设备及其数据处理装置
CN114445260B (zh) 基于fpga的分布式gpu通信的方法及装置
CN114138354B (zh) 一种支持multihost的板载OCP网卡***及服务器
CN111274193A (zh) 数据处理装置及方法
CN111400238B (zh) 一种数据处理方法及装置
CN104980371A (zh) 微服务器
CN110958503B (zh) 一种带宽分配装置及方法
CN117041147B (zh) 智能网卡设备、主机设备和方法及***
CN220273788U (zh) 一种afdx总线交换设备
CN112835837B (zh) 建立数据连接的方法、相关装置及计算机程序产品
WO2021066001A1 (ja) 情報処理装置及び通信切替方法
CN117914808A (zh) 一种数据传输***、方法及交换机
TWI587675B (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