CN111782565A - Gpu服务器和数据传输方法 - Google Patents

Gpu服务器和数据传输方法 Download PDF

Info

Publication number
CN111782565A
CN111782565A CN202010611759.9A CN202010611759A CN111782565A CN 111782565 A CN111782565 A CN 111782565A CN 202010611759 A CN202010611759 A CN 202010611759A CN 111782565 A CN111782565 A CN 111782565A
Authority
CN
China
Prior art keywords
converter
gpu
network interface
cpu
interface controller
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.)
Granted
Application number
CN202010611759.9A
Other languages
English (en)
Other versions
CN111782565B (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010611759.9A priority Critical patent/CN111782565B/zh
Publication of CN111782565A publication Critical patent/CN111782565A/zh
Application granted granted Critical
Publication of CN111782565B publication Critical patent/CN111782565B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种GPU服务器和数据传输方法,涉及服务器架构领域。具体实现方案为:包括:GPU,CPU,第一转换器,第二转换器,网络接口控制器;所述GPU通过所述第一转换器与所述CPU连接;所述GPU通过所述第一转换器与所述第二转换器连接,所述第二转换器与所述网络接口控制器连接;所述第二转换器用于将从所述网络接口控制器接收的第一数据经由所述第一转换器发送给所述GPU,以及将所述GPU经由所述第一转换器发送给所述第二转换器的第二数据转发给所述网络接口控制器,能够提高GPU服务器性能,应用于高性能计算、深度学习等领域。

Description

GPU服务器和数据传输方法
技术领域
本申请实施例涉及计算机技术领域中的服务器架构,尤其涉及一种GPU服务器和数据传输方法。
背景技术
图形处理器(Graphics Processing Unit,缩写GPU)具有强大的计算能力,广泛地应用于高性能计算、深度学习等领域。
目前,GPU服务器中,GPU通过PICE switch与中央处理器(central processingunit,缩写CPU)连接,网络接口控制器(Network Interface Controller,缩写NIC)与一个CPU连接,GPU与网络接口控制器之间的通信需要通过PCIE switch和至少一个CPU,影响GPU服务器的性能。
发明内容
本申请提供了一种用于种GPU服务器和数据传输方法。
根据本申请的一方面,提供了一种GPU服务器,包括:GPU,CPU,第一转换器,第二转换器,网络接口控制器;
所述GPU通过所述第一转换器与所述CPU连接;
所述GPU通过所述第一转换器与所述第二转换器连接,所述第二转换器与所述网络接口控制器连接;
所述第二转换器用于将从所述网络接口控制器接收的第一数据经由所述第一转换器发送给所述GPU,以及将从所述GPU接收的第二数据转发给所述网络接口控制器,其中,所述第二数据是由所述GPU经由所述第一转换器发送给所述第二转换器的。
根据本申请的一方面,提供了一种数据传输方法,所述方法应用于GPU服务器,所述GPU服务器包括GPU,CPU,第一转换器,第二转换器,网络接口控制器,所述GPU通过所述第一转换器与所述CPU连接,所述GPU通过所述第一转换器与所述第二转换器连接,所述第二转换器与所述网络接口控制器连接;所述方法包括:
所述第二转换器将从所述网络接口控制器接收的第一数据经由所述第一转换器发送给所述GPU;
所述第二转换器将从所述GPU接收的第二数据转发给所述网络接口控制器,其中,所述第二数据是由所述GPU经由所述第一转换器发送给所述第二转换器的。
根据本申请的技术提高了GPU服务器性能。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例提供的一种GPU服务器架构的示意图;
图2为本申请实施例提供的另一种GPU服务器架构的示意图;
图3为本申请实施例提供的另一种GPU服务器架构的示意图;
图4为本申请实施例提供的另一种GPU服务器架构的示意图;
图5为本申请实施例提供的一种数据传输方法流程图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请提供一种GPU服务器,应用于计算机技术领域中的服务器架构,以达到缩短GPU服务器中GPU与网络接口控制器之间的通信延时长,提供GPU服务器的性能的技术效果,可以应用于高性能计算、深度学习等领域。
图1为本申请实施例提供的一种GPU服务器架构的示意图。如图1所示,GPU服务器包括GPU10,CPU11,第一转换器12,第二转换器13,网络接口控制器14。
其中,GPU10通过第一转换器12与CPU11连接。GPU10通过第一转换器12与第二转换器13连接,第二转换器13与网络接口控制器14连接。
第二转换器13用于将从网络接口控制器14接收的第一数据经由第一转换器12发送给GPU10,以及将从GPU10接收的第二数据转发给网络接口控制器14,其中,第二数据是由GPU10经由第一转换器12发送给第二转换器13的。
本申请实施例中,对于很多大规模的机器学习模型的训练任务中,对于参与训练任务的GPU服务器,由其他GPU服务器通过网络发送过来的数据中,有很大一部分数据是不需要经过CPU做处理,而可以直接由GPU进行处理的。本申请实施例中将这种通过互联网传输到网络接口控制器的,无需CPU做处理,可以直接交由GPU进行处理的数据统称为第一数据。
对于第一数据的传输过程,网络接口控制器14将第一数据发送给第二转换器13,第二转换器13将接收到的第一数据发送给第一转换器12,第一转换器12将接收到的第一数据发送给GPU10。本申请实施例通过将网络接口控制器接收到的第一数据依次经过第二转换器和第一转换器发送至GPU,无需经过CPU的转发,在减少CPU的负担的同时,可以缩短第一数据由网络接口控制器传输至GPU的延时,能够提高GPU服务器的整体性能。
本申请实施例中,对于GPU处理完的数据,绝大部分是不需要经过CPU处理,可以直接传入以太网或者其他网络,以通过网络传输给其他GPU服务器或者其他设备。本申请实施例中,将GPU处理完的数据中,不需要CPU做进一步处理,可以直接传入以太网或者其他网络的数据统称为第二数据。
对于第二数据的传输过程,GPU将第二数据发送给第一转换器12,第一转换器12将接收到的第二数据发送给第二转换器13,第二转换器13将接收到的第二数据发送给网络接口控制器14,以使网络接口控制器14将第二数据传入以太网或者其他网络。本申请实施例通过将GPU处理完的第二数据依次经过第一转换器和第二转换器发送至网络接口控制器,以通过网络接口控制器传入以太网或者其他网络,无需经过CPU的转发,在减少CPU的负担的同时,可以缩短第二数据由GPU传输至网络接口控制器的延时,能够提高GPU服务器的整体性能。
本申请实施例的技术方案,通过GPU服务器中增加第二转换器,GPU通过第一转换器和第二转换器与网络接口控制器连接,由第二转换器负责进行网络接口控制器与第一转换器之间的数据转发,GPU与网络接口控制器之间的数据传输无需经过CPU,可以缩短GPU与网络接口控制器之间数据传输的延时,能够提高GPU服务器的整体性能;进一步地,各个GPU之间可以通过第一转换器和第二转换器进行数据传输,无需经过CPU,可以实现GPU之间的P2P通信的高带宽和低时延,进一步可以提高GPU服务器的整体性能。
在上述实施例的基础上,在机器学习模型的训练任务中,需要由CPU进行训练任务的分发,以及部分数据的解析等处理,也就是说,在实际应用场景中,有少部分数据需要在网络接口控制器与CPU之间,以及CPU与GPU之间进行传输。本申请实施例中,将需要由网络接口控制器传输到CPU的数据统称为第三数据。将需要由CPU传输到网络接口控制器的数据统称为第四数据。
本申请实施例中,基于图1所示的GPU服务器架构,为了实现CPU与网络接口控制器之间的数据传输,第二转换器还用于将从网络接口控制器接收的第三数据经由第一转换器发送给CPU。
具体地,网络接口控制器将第三数据发送到第二转换器,第二转换器将接收到的第三数据转发到第一转换器,第一转换器将接收到的数据转发到CPU,能够基于本申请实施例提供的GPU服务器架构实现从网络接口控制器向CPU传输数据。
第二转换器还用于将接收到的第四数据转发给网络接口控制器,第四数据为CPU经由第一转换器发送的。
具体地,CPU将第四数据发送到第一转换器,第一转换器将接收到的第四数据转发到第二转换器,第二转换器将接收到的第四数据转发到网络接口控制器,能够基于本申请实施例提供的GPU服务器架构实现将从CPU向网络接口控制器传输数据。
本申请实施例中,将需要由GPU传输到CPU的数据统称为第五数据。将需要由CPU传输到GPU的数据统称为第六数据。
本申请实施例中,基于图1所示的GPU服务器架构,GPU与CPU之间的数据传输通过第一转换器实现。第一转换器用于将从GPU接收的第五数据发送给CPU,以及将从CPU接收的第六数据发送给GPU。
具体地,GPU将第五数据发送到第一转换器,第一转换器将接收到的第五数据转发到CPU;CPU将第六数据发送到第一转换器,第一转换器将接收到的第六数据转发到GPU,能够基于本申请实施例提供的GPU服务器架构实现GPU与CPU向之间的传输数据。
另外,本实施例中,GPU服务器中CPU的数量可以为一个或者多个,本实施例此处不做具体限定。
图2为本申请实施例提供的另一种GPU服务器架构的示意图;图3为本申请实施例提供的另一种GPU服务器架构的示意图。在上述任一实施例的基础上,本实施例中,CPU的数量可以为多个,每个CPU连接至少一个第一转换器,每个第一转换器与一个CPU连接,这样,对于每一个CPU来说,CPU与GPU之间的第一转换器越多,CPU与GPU之间的数据传输链路越多,数据传输的效率越高。
在一种可能的实施方式中,GPU服务器可以包括多个网络接口控制器,每个网络接口控制器与第二转换器连接,以提高GPU的网络带宽。当然,GPU服务器还可以只包括一个网络接口控制器。
示例性地,GPU服务器还可以包括至少一个与CPU连接的网络接口控制器,这样,可以实现网络接口控制器与CPU之间直接的数据传输,对于某些需要从网络传输到CPU的数据的传输,能够提高效率,能够提高GPU服务器的整体性能。
示例性地,GPU服务器可以包含GPU板,GPU板上有多个GPU。GPU服务器中的每个第一转换器与GPU板上的每个GPU连接。其中,多个CPU直接可以通过快速通道互联(QuickPath Interconnect,缩写UPI)进行数据通信。
在一种可能的实施方式中,第一转换器可以为工作在系统模式(base mode)的PCIE switch芯片,第一转换器与CPU通过PCIEx16链路连接。
第二转换器为工作在网状连接模式(fabric mode)的PCIE switch芯片,第二转换器与第一转换器通过PCIEx16链路连接。
其中,PCIEx16链路可以是不同版本的链路,例如PCIE4.0x16链路。随着PCIE技术的发展,本申请实施例中还可以采用更高版本的PCIEx16链路实现,或者,根据实际应用场景,也可以选择用更低版本的PCIEx16链路实现,本实施例此处不做具体限定。
本申请实施例中,第一转换器和第二转换器均使用PCIE switch芯片实现,可以提高第一转换器和第二转换器之间数据传输的稳定性。
在一种可能的实施方式中,GPU可以包含一个第一转换器,如图2和图3所示。
例如,图2中以GPU服务器包括:包含多个GPU的GPU板,一个第二转换器(如图2中所示的switch2),两个网络接口控制器(如图2中所示的NIC0和NIC1),两个CPU(如图2中所示的CPU0和CPU1),每个CPU对应一个第一转换器为例,对GPU服务器的架构进行示例性地说明。其中两个CPU之间通过UPI进行通信。
如图2所示,CPU0对应的第一转换器为switch0,CPU1对应的第一转换器为switch1,CPU0和CPU1分别通过switch0和switch1与GPU板上的各GPU连接。其中,CPU0与switch0之间,以及CPU1与switch1之间均通过PCIE4.0x16链路连接。每个CPU与GPU板之间有一条数据传输链路。
如图2所示,两个网络接口控制器NIC0和NIC1均与第二转换器switch2连接。第二转换器switch2通过PCIE4.0x16链路分别与第一转换器switch0和switch1连接。
在一种可能的实施方式中,每个CPU对应的第一转换器的数量可以扩展,以提高CPU与GPU之间的数据传输效率。
示例性地,每个CPU对应的第一转换器的数量相等,这样可以使得第一转换器均分配到各个CPU,使得各个CPU与GPU之间的数据传输链路数量均衡,能够提高GPU服务器的结构的均衡性,有利于提高GPU服务的整体性能。
另外,每个CPU对应的第一转换器的数量也可以不相等,例如,可以根据各个CPU的负载情况灵活地调整各个CPU对应的第一转换器的数量,本实施实例此处不做具体限定。
例如,图3中以GPU服务器包括:包含多个GPU的GPU板,一个第二转换器(如图3中所示的switch2),n个网络接口控制器(如图3中所示的NIC0,NIC1,…,NICn),两个CPU(如图3中所示的CPU0和CPU1),每个CPU对应两个第一转换器为例,对GPU服务器的架构进行示例性地说明。其中两个CPU之间通过UPI进行通信。其中n为正整数,表示网络接口控制器的总数。
如图3所示,CPU0对应的第一转换器为switch01和switch02,CPU1对应的第一转换器为switch11和switch12,CPU0通过switch01和switch02与GPU板上的各GPU连接,CPU1通过switch11和switch12与GPU板上的各GPU连接。其中,CPU0与switch01和switch02之间,以及CPU1与switch11和switch12之间均通过PCIE4.0x16链路连接。每个CPU与GPU板之间有两条数据传输链路,相较于图2所示的GPU服务器架构,每个CPU与GPU之间的数据通信链路更多,传输效率更高。
如图3所示,n个网络接口控制器NIC0至NICn均与第二转换器switch2连接。第二转换器switch2分别与第一转换器switch01,switch02,switch11,switch12通过PCIE4.0x16链路连接。
本申请实施例的另一实施方式中,GPU服务器中第二转换器的数量可以为多个,以提高网络接口控制器与GPU之间数据传输的带宽,提高GPU服务器的网络带宽。
其中,每个第一转换器分别与每个第二转换器连接;每个网络接口控制器与一个第二转换器连接,多个网络接口控制器平均分配给多个第二转换器,使得GPU服务器的网络均衡性更好,能够提高GPU服务器的整体性能。
本申请实施例的技术方案,GPU服务器可以包括多个与第二转换器连接的网络接口控制器,以提高GPU的网络带宽;进一步地,每个CPU对应的第一转换器的数量可以扩展,且每个CPU对应的第一转换器的数量相等,这样可以提高CPU与GPU之间的数据传输效率,并且使得各个CPU与GPU之间的数据传输链路数量均衡,能够提高GPU服务的整体性能;进一步地,通过扩展第二转换器的数量,可以提高网络接口控制器与GPU之间数据传输的带宽,提高GPU服务器的网络带宽,进一步提高GPU服务的整体性能。
图4为本申请实施例提供的另一种GPU服务器架构的示意图。在上述任一实施例的基础上,本申请实施例中,GPU服务器还包括至少一个第三转换器。GPU与至少一个第三转换器连接,每个第三转换器与每个第二转换器连接,至少一个第三转换器与CPU不连接。
第二转换器还用于将从网络接口控制器接收的数据经由第三转换器发送给GPU,以及将GPU经由第三转换器发送给第二转换器的数据转发给网络接口控制器。
本申请实施例中,通过在第二转换器与GPU之间增加第三转换器,用第三转换器分担第一转换器的数据传输任务,可以增加第二转换器与GPU之间的数据传输链路的数量,可以提高GPU的网络带宽,能够提高GPU的整体性能。
具体地,对于需要第一转换器将从第二转换器接收的第一数据,第二转换器可以将第一数据中的部分数据发送给第三转换器,经由第三转换器发送给GPU。
对于需要第一转换器将从GPU接收的第二数据,GPU可以将第二数据中的部分数据发送给第三转换器,由第三转换器发送给第二转换器。
例如,图4中以在图3提供的GPU服务器架构的基础上增加两个第三转换器为例,对GPU服务器的架构进行示例性地说明。如图4所示,在图3提供的GPU服务器架构的基础上增加两个第三转换器switch31和switch32。其中,switch31和switch32分别与每个第二转换器switch2连接,switch31和switch32分别与GPU板上的每个GPU连接。如图4所示,第三转换器switch31和switch32与每个CPU都不连接,专门用于进行第二转换器switch2与GPU板上的各个GPU之间的数据传输。
本申请实施例中,第三转换器的数量可以为CPU数量的整数倍,每个CPU对应的第三转换器的数量相等,这样可以使得增加的第三转换器均匀分布到各个CPU,用于处理与对应的CPU连接的各个第一转换器所负责转发的第一数据的部分数据和第二数据的部分数据,能够提高GPU服务器网络带宽的均衡性,进一步提高GPU服务器的整体性能。
示例性地,另一实施方式中,第三转换器的总数量可以不是CPU数量的整数倍,每个CPU对应的第三转换器的数量可以不相等,例如,每个CPU对应的第三转换器的数量可以根据各个CPU的负载灵活地调整,本实施例此处不做具体限定。
在一种可能的实施方式中,第三转换器可以为工作在系统模式(base mode)的PCIE switch芯片,第三转换器与第二转换器通过PCIEx16链路连接。本申请实施例中,第三转换器与第二转换器均使用PCIE switch芯片实现,可以提高第三转换器和第二转换器之间数据传输的稳定性。
其中,PCIEx16链路可以是不同版本的链路,例如PCIE4.0x16链路。随着PCIE技术的发展,本申请实施例中还可以采用更高版本的PCIEx16链路实现,或者,根据实际应用场景,也可以选择用更低版本的PCIEx16链路实现,本实施例此处不做具体限定。
例如,如图4中所示,在第二转换器switch2与GPU之间可以增加两个第三转换器(如图4中所示的switch30和switch31),每个CPU对应1个第三转换器,其中,CPU0对应的第三转换器为switch30,CPU1对应的第三转换器为switch31。
如图4所示,CPU0对应的第三转换器为switch30,与CPU0连接的第一转换器包括switch01和switch02,第二转换器switch2将从网络接口控制器接收的第一数据中需要经由switch01和switch02转发给GPU的部分数据发送给第三转换器switch30,由第三转换器switch30将接收到的第一数据转发给GPU;GPU需要经由switch01和switch02转发给第二转换器switch2的第二数据中的部分数据发送给第三转换器switch30,由第三转换器switch30将接收到的第二数据转发给第二转换器switch2。
如图4所示,CPU1对应的第三转换器为switch31,与CPU1连接的第一转换器包括switch11和switch12,第二转换器switch2将从网络接口控制器接收的第一数据中需要经由switch11和switch12转发给GPU的部分数据发送给第三转换器switch31,由第三转换器switch31将接收到的第一数据转发给GPU;GPU需要经由switch11和switch12转发给第二转换器switch2的第二数据中的部分数据发送给第三转换器switch31,由第三转换器switch31将接收到的第二数据转发给第二转换器switch2。
如图4所示,第三转换器switch30和switch31与第二转换器switch2之间通过PCIE4.0x16链路。
另外,本实施例中,第一转换器,第二转换器和第三转换器还可以采用与PCIEswitch芯片类似的芯片实现,本实施例此处不做具体限定。第一转换器,第二转换器和第三转换器也可以采用不同类型的芯片实现,本实施例此处不做具体限定。
本申请实施例的技术方案,通过在GPU服务器中增加至少一个第三转换器,GPU与至少一个第三转换器连接,每个第三转换器与每个第二转换器连接,至少一个第三转换器与CPU不连接;用第三转换器分担第一转换器的数据传输任务,可以增加第二转换器与GPU之间的数据传输链路的数量,可以提高GPU的网络带宽,能够提高GPU的整体性能;进一步地,第三转换器的数量可以为CPU数量的整数倍,每个CPU对应的第三转换器的数量相等,这样可以使得增加的第三转换器均匀分布到各个CPU,用于处理与对应的CPU连接的各个第一转换器所负责转发的第一数据的部分数据和第二数据的部分数据,能够提高GPU服务器网络带宽的均衡性,进一步提高GPU服务器的整体性能。
本申请提供一种数据传输方法,方法应用于GPU服务器,GPU服务器包括GPU,CPU,第一转换器,第二转换器,网络接口控制器,GPU通过第一转换器与CPU连接,GPU通过第一转换器与第二转换器连接,第二转换器与网络接口控制器连接。图5为本申请实施例提供的一种数据传输方法流程图。如图5所示,方法包括如下步骤:
S101、第二转换器将从网络接口控制器接收的第一数据经由第一转换器发送给GPU。
S102、第二转换器将从GPU接收的第二数据转发给网络接口控制器,其中,第二数据是由GPU经由第一转换器发送给第二转换器的。
本实施例中,第二转换器执行的数据传输方法步骤具体可以参加上述实施例,本实施例此处不再赘述。
本申请实施例的技术方案,通过GPU服务器中增加第二转换器,GPU通过第一转换器和第二转换器与网络接口控制器连接,由第二转换器负责进行网络接口控制器与第一转换器之间的数据转发,GPU与网络接口控制器之间的数据传输无需经过CPU,可以缩短GPU与网络接口控制器之间数据传输的延时,能够提高GPU服务器的整体性能;进一步地,各个GPU之间可以通过第一转换器和第二转换器进行数据传输,无需经过CPU,可以实现GPU之间的P2P通信的高带宽和低时延,进一步可以提高GPU服务器的整体性能。
根据本申请实施例的技术方案,GPU服务器架构中采用PCIE switch的系统模式+网状连接模式的架构,利用多个工作在系统模式的第一转换器分别与CPU通过PCIEx16链路进行通信,第一转换器与GPU板上的每个GPU连接,这些第一转换器平均分配给各个CPU,用于实现GPU与CPU之间的数据传输;通过多个工作在网状连接模式的第二转换器与多个网络接口控制器连接,多个网络接口控制器平均分配给各个第二转换器,第二转换器还与每个第一转换器连接,这些第二转换器用于实现网络接口控制器与第一转换器之间的数据传输,从而可以实现网络接口控制器与GPU之间的数据动态无阻塞传输,各个GPU之间可以通过第一转换器和第二转换器进行数据传输,无需经过CPU,可以实现GPU之间的P2P通信的高带宽和低时延,进一步可以提高GPU服务器的整体性能。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (14)

1.一种图形处理器GPU服务器,包括:GPU,CPU,第一转换器,第二转换器,网络接口控制器;
所述GPU通过所述第一转换器与所述CPU连接;
所述GPU通过所述第一转换器与所述第二转换器连接,所述第二转换器与所述网络接口控制器连接;
所述第二转换器用于将从所述网络接口控制器接收的第一数据经由所述第一转换器发送给所述GPU,以及将从所述GPU接收的第二数据转发给所述网络接口控制器,其中,所述第二数据是由所述GPU经由所述第一转换器发送给所述第二转换器的。
2.根据权利要求1所述的GPU服务器,其中,所述第二转换器还用于将从所述网络接口控制器接收的第三数据经由所述第一转换器发送给所述CPU;
所述第二转换器还用于将接收到的第四数据转发给所述网络接口控制器,所述第四数据为所述CPU经由所述第一转换器发送的。
3.根据权利要求2所述的GPU服务器,其中,所述第一转换器用于将从GPU接收的第五数据发送给所述CPU,以及将从所述CPU接收的第六数据发送给所述GPU。
4.根据权利要求1所述的GPU服务器,其中,所述CPU的数量为多个,每个所述CPU连接至少一个所述第一转换器,每个所述第一转换器与一个所述CPU连接。
5.根据权利要求4所述的GPU服务器,其中,每个所述CPU连接的所述第一转换器的数量相等。
6.根据权利要求1所述的GPU服务器,所述网络接口控制器的数量为多个,每个所述网络接口控制器与所述第二转换器连接。
7.根据权利要求6所述的GPU服务器,其中,所述第二转换器的数量为多个,
每个所述第一转换器分别与每个所述第二转换器连接;
每个所述网络接口控制器与一个所述第二转换器连接,多个所述网络接口控制器平均分配给多个所述第二转换器。
8.根据权利要求1所述的GPU服务器,其中,所述第一转换器为工作在系统模式的PCIEswitch芯片,所述第一转换器与所述CPU通过PCIE x16链路连接。
9.根据权利要求8所述的GPU服务器,其中,所述第二转换器为工作在网状连接模式的PCIE switch芯片,所述第二转换器与第一转换器通过PCIE x16链路连接。
10.根据权利要求1-9中任一项所述的GPU服务器,还包括:至少一个第三转换器,
所述GPU与所述至少一个第三转换器连接,每个所述第三转换器与每个所述第二转换器连接,所述至少一个第三转换器与所述CPU不连接;
所述第二转换器还用于将从所述网络接口控制器接收的数据经由所述第三转换器发送给所述GPU,以及将所述GPU经由所述第三转换器发送给所述第二转换器的数据转发给所述网络接口控制器。
11.根据权利要求10所述的GPU服务器,其中,所述第三转换器的数量为所述CPU数量的整数倍,每个所述CPU对应的所述第三转换器的数量相等。
12.根据权利要求10所述的GPU服务器,其中,所述第三转换器为工作在系统模式的PCIE switch芯片,所述第二转换器与第三转换器通过PCIE x16链路连接。
13.根据权利要求1-9中任一项所述的GPU服务器,还包括:与所述CPU连接的网络接口控制器。
14.一种数据传输方法,所述方法应用于GPU服务器,所述GPU服务器包括GPU,CPU,第一转换器,第二转换器,网络接口控制器,所述GPU通过所述第一转换器与所述CPU连接,所述GPU通过所述第一转换器与所述第二转换器连接,所述第二转换器与所述网络接口控制器连接;所述方法包括:
所述第二转换器将从所述网络接口控制器接收的第一数据经由所述第一转换器发送给所述GPU;
所述第二转换器将从所述GPU接收的第二数据转发给所述网络接口控制器,其中,所述第二数据是由所述GPU经由所述第一转换器发送给所述第二转换器的。
CN202010611759.9A 2020-06-30 2020-06-30 Gpu服务器和数据传输方法 Active CN111782565B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010611759.9A CN111782565B (zh) 2020-06-30 2020-06-30 Gpu服务器和数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010611759.9A CN111782565B (zh) 2020-06-30 2020-06-30 Gpu服务器和数据传输方法

Publications (2)

Publication Number Publication Date
CN111782565A true CN111782565A (zh) 2020-10-16
CN111782565B CN111782565B (zh) 2021-09-14

Family

ID=72761441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010611759.9A Active CN111782565B (zh) 2020-06-30 2020-06-30 Gpu服务器和数据传输方法

Country Status (1)

Country Link
CN (1) CN111782565B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114359015A (zh) * 2021-12-08 2022-04-15 北京百度网讯科技有限公司 数据传输方法、装置和图形处理服务器

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140222960A1 (en) * 2011-10-27 2014-08-07 Huawei Technologies Co., Ltd. Method and Apparatus for Rapid Data Distribution
US20140372662A1 (en) * 2013-06-12 2014-12-18 Acano (Uk) Ltd Collaboration Server
CN104657317A (zh) * 2015-03-06 2015-05-27 北京百度网讯科技有限公司 服务器
CN105022716A (zh) * 2015-06-24 2015-11-04 浪潮电子信息产业股份有限公司 一种多数据链路的gpu服务器
US20170255584A1 (en) * 2016-03-02 2017-09-07 Electronics And Telecommunications Research Institute Micro server based on fabric network
CN207623972U (zh) * 2017-12-20 2018-07-17 郑州云海信息技术有限公司 一种异构计算加速板卡
US10325343B1 (en) * 2017-08-04 2019-06-18 EMC IP Holding Company LLC Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140222960A1 (en) * 2011-10-27 2014-08-07 Huawei Technologies Co., Ltd. Method and Apparatus for Rapid Data Distribution
US20140372662A1 (en) * 2013-06-12 2014-12-18 Acano (Uk) Ltd Collaboration Server
CN104657317A (zh) * 2015-03-06 2015-05-27 北京百度网讯科技有限公司 服务器
CN105022716A (zh) * 2015-06-24 2015-11-04 浪潮电子信息产业股份有限公司 一种多数据链路的gpu服务器
US20170255584A1 (en) * 2016-03-02 2017-09-07 Electronics And Telecommunications Research Institute Micro server based on fabric network
US10325343B1 (en) * 2017-08-04 2019-06-18 EMC IP Holding Company LLC Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform
CN207623972U (zh) * 2017-12-20 2018-07-17 郑州云海信息技术有限公司 一种异构计算加速板卡

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAXIME MARTELLI .ETC: ""GPU Acceleration : OpenACC for Radar Processing Simulation"", 《2019 INTERNATIONAL RADAR CONFERENCE (RADAR)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114359015A (zh) * 2021-12-08 2022-04-15 北京百度网讯科技有限公司 数据传输方法、装置和图形处理服务器
CN114359015B (zh) * 2021-12-08 2023-08-04 北京百度网讯科技有限公司 数据传输方法、装置和图形处理服务器

Also Published As

Publication number Publication date
CN111782565B (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
US20160292115A1 (en) Methods and Apparatus for IO, Processing and Memory Bandwidth Optimization for Analytics Systems
CN103092807A (zh) 节点控制器、并行计算服务器系统以及路由方法
US11018896B2 (en) Information processing apparatus and information processing method
US10394738B2 (en) Technologies for scalable hierarchical interconnect topologies
WO2023040197A1 (zh) 一种跨节点通信方法、装置、设备及可读存储介质
CN111782565B (zh) Gpu服务器和数据传输方法
CN115994107B (zh) 存储设备的存取加速系统
CN111193971B (zh) 一种面向机器学习的分布式计算互连网络系统及通信方法
CN111427822A (zh) 一种边缘计算系统
US9575918B2 (en) Collaboration server
JP2012022578A (ja) 情報処理方法、装置及びプログラム
US6567909B2 (en) Parallel processor system
CN104104736A (zh) 一种云服务器及其使用方法
Ueno et al. Virtual circuit-switching network with flexible topology for high-performance fpga cluster
CN101009542A (zh) 一种数据网络节点设备端口的扩展装置
WO2020258917A1 (zh) 一种数据交换芯片及服务器
WO2017107413A1 (zh) 一种分形树结构通信结构、方法、控制装置及智能芯片
CN112217652A (zh) 一种基于中心通信模式的网络拓扑装置及方法
EP0405706A1 (en) Processor unit networks
CN113568847A (zh) 一种网卡与处理器的互联装置及服务器
CN113900793A (zh) 一种服务器集群及其深度学习的集合通信系统和方法
WO2013130317A1 (en) High data-rate processing system
CN107370652B (zh) 一种计算机节点动态互联平台及平台组网方法
CN107800639B (zh) 交换装置、交换装置组、数据传输方法和计算机系统
CN117807017B (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
GR01 Patent grant
GR01 Patent grant