CN111400238A - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN111400238A
CN111400238A CN201910000432.5A CN201910000432A CN111400238A CN 111400238 A CN111400238 A CN 111400238A CN 201910000432 A CN201910000432 A CN 201910000432A CN 111400238 A CN111400238 A CN 111400238A
Authority
CN
China
Prior art keywords
network card
processor
physical network
data
server
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
CN201910000432.5A
Other languages
English (en)
Other versions
CN111400238B (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.)
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
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 China Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN201910000432.5A priority Critical patent/CN111400238B/zh
Publication of CN111400238A publication Critical patent/CN111400238A/zh
Application granted granted Critical
Publication of CN111400238B publication Critical patent/CN111400238B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种数据处理方法及装置。其中,方法包括:当第一服务器的多个处理器中的第一处理器被调度时,所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信;其中,所述第一处理器通过高速串行计算机扩展总线标准(PCIE,peripheral component interconnect express)总线向所述物理网卡发送数据、和/或接收数据;每个处理器与所述物理网卡之间均通过PCIE总线通信;处理器之间通过快速通道互连(QPI,Quick Path Interconnect)总线通信;多个处理器具有不同的非同一内存访问架构(NUMA,Non Uniform Memory Access Architecture);与所述物理网卡固定连接的处理器为多个处理器中除第一处理器外的其它处理器。

Description

一种数据处理方法及装置
技术领域
本发明涉及无线通信领域,尤其涉及一种数据处理方法及装置。
背景技术
目前,在一台服务器上可以部署多颗处理器,处理器之间通过QPI总线进行通信,每颗处理器的NUMA架构不同,物理网卡只与多颗处理器中的一颗处理器进行固定连接。
目前,当一台服务器的处理器需要与另一台服务器的处理器进行数据通信时,如果当前服务器被调用的处理器是除与所述物理网卡固定连接的处理器之外的处理器时,则该处理器需要先通过QPI总线与所述物理网卡固定连接的处理器进行数据通信,再由与所述物理网卡固定连接的处理器通过PCIE总线与所述物理网卡进行数据通信。由于QPI总线在单位时间的吞吐量较小,因而会降低数据的传输速率。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种数据处理方法及装置。
本发明实施例提供一种数据处理方法,所述方法包括:
当第一服务器的多个处理器中的第一处理器被调度时,所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信;其中,所述第一处理器通过PCIE总线向所述物理网卡发送数据、和/或接收数据;每个处理器与所述物理网卡之间均通过PCIE总线通信;处理器之间通过QPI总线通信;多个处理器具有不同的NUMA;与所述物理网卡固定连接的处理器为多个处理器中除第一处理器外的其它处理器。
上述方案中,所述物理网卡包括主网卡和子网卡,所述子网卡上设置有与所述第一处理器对应的PCIE总线;所述主网卡设置有与所述物理网卡固定连接的处理器对应的PCIE总线;
所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信,包括:
所述第一处理器通过PCIE总线向所述子网卡发送数据、和/或接收数据;
所述子网卡向所述主网卡发送所述数据、和/或接收所述数据,以实现与第二服务器的数据通信。
上述方案中,所述子网卡与所述主网卡通过硅光技术进行数据通信。
上述方案中,针对除与所述物理网卡固定连接的处理器外的每个处理器,对应一个子网卡;针对与所述物理网卡固定连接的处理器,对应一个主网卡。
上述方案中,所述物理网卡上设置有多个槽位,针对除与所述物理网卡固定连接的处理器外的每个处理器,对应第一槽位,并通过所述第一槽位对应的PCIE总线与所述物理网卡进行数据通信;针对与所述物理网卡固定连接的处理器,对应第二槽位,并通过所述第二槽位对应的PCIE总线与所述物理网卡进行数据通信。
本发明实施例提供一种数据处理装置,所述装置包括:
数据通信单元,用于当第一服务器的多个处理器中的第一处理器被调度时,所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信;其中,所述第一处理器通过高速串行计算机扩展总线标准PCIE总线向所述物理网卡发送数据、和/或接收数据;每个处理器与所述物理网卡之间均通过PCIE总线通信;处理器之间通过QPI总线通信;多个处理器具有不同的非同一内存访问架构NUMA;与所述物理网卡固定连接的处理器为多个处理器中除第一处理器外的其它处理器。
上述方案中,所述物理网卡包括主网卡和子网卡,所述子网卡上设置有与所述第一处理器对应的PCIE总线;所述主网卡设置有与所述物理网卡固定连接的处理器对应的PCIE总线;
所述数据通信单元,具体用于供所述第一服务器的第一处理器通过PCIE总线向所述子网卡发送数据、和/或接收数据;以及所述子网卡向所述主网卡发送所述数据、和/或接收所述数据。
上述方案中,所述子网卡与所述主网卡通过硅光技术进行数据通信。
上述方案中,针对除与所述物理网卡固定连接的处理器外的每个处理器,对应一个子网卡;针对与所述物理网卡固定连接的处理器,对应一个主网卡。
上述方案中,所述物理网卡上设置有多个槽位,针对除与所述物理网卡固定连接的处理器外的每个处理器,对应第一槽位,并通过所述第一槽位对应的PCIE总线与所述物理网卡进行数据通信;针对与所述物理网卡固定连接的处理器,对应第二槽位,并通过所述第二槽位对应的PCIE总线与所述物理网卡进行数据通信。
本发明实施例提供的数据处理方法及装置,当第一服务器的多个处理器中的第一处理器被调度时,所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信;其中,所述第一处理器通过PCIE总线向所述物理网卡发送数据、和/或接收数据;每个处理器与所述物理网卡之间均通过PCIE总线通信;处理器之间通过QPI总线通信;多个处理器具有不同的NUMA;与所述物理网卡固定连接的处理器为多个处理器中除第一处理器外的其它处理器。采用本发明实施例的技术方案,所述第一服务器的第一处理器可以绕过QPI总线与所述物理网卡进行数据通信,这样,所述第一服务器的第一处理器可以直接使用PCIE总线与所述第二服务器进行数据通信,由于PCIE总线在单位时间的吞吐量比QPI总线在单位时间的吞吐量较大,因而能够提高数据传输的速率。
附图说明
图1a是相关技术中两台服务器上的两颗处理器进行数据通信的流程示意图;
图1b是相关技术中处理器与物理网卡的连接示意图;
图1c是相关技术中跨NUMA节点通过物理网卡实现数据通信的示意图;
图2为相关技术中NUMA节点进行数据通信的示意图;
图3是本发明实施例数据处理方法的流程示意图;
图4a是本发明实施例处理器与物理网卡的连接示意图;
图4b是本发明实施例跨NUMA节点绕过QPI总线实现数据通信的示意图;
图5是本发明实施例跨NUMA节点通过子网卡实现数据通信的示意图;
图6是本发明实施例跨NUMA节点通过增设的PCIE槽位实现数据通信的示意图;
图7是本发明实施例数据处理装置的组成结构示意图。
具体实施方式
下面结合附图及实施例对本发明再作进一步详细的描述。
图1a是相关技术中两台服务器上的两颗处理器进行数据通信的流程示意图,如图1a所示,服务器1(用Server1表示)对应一个物理网卡(用Nic2表示),服务器3(用Server3表示)对应一个物理网卡(用Nic6表示)。当Server1的CPU1上的应用1(用App1表示)与Server3的CPU5上的应用2(用App2表示)进行数据通信时,首先,通过CPU1与Server1上的CPU2连接的QPI总线进行数据传输,然后,通过CPU2与Nic2连接的PCIE总线进行数据传输,最后,通过物理网络将数据传输至交换机1(用Switch1表示),Switch1再与交换机2(用Switch2表示)连接,Switch2将数据传输至Server3上的Nic6,Nic6通过PCIE总线与CPU6连接,CPU6通过QPI总线与CPU5连接,再由CPU5传给App2。数据传输的过程可以表示为:App1→CPU1→CPU2→Nic2→Switch1→Switch2→Nic6→CPU6→CPU5→App2。
其中,QPI是一种由英特尔开发并使用的点对点处理器互联架构,用来实现芯片之间的互联。PCIE总线是一种高速串行计算机扩展总线标准。PCIE属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QoS,Quality of Service)等功能。
图1b是相关技术中处理器与物理网卡的连接示意图,如图1b所示,两个处理器之间通过QPI总线进行连接,且只有一个处理器可以通过PCIE总线与物理网卡进行数据通信。
图1c是相关技术中跨NUMA节点通过物理网卡实现数据通信的示意图,如图1c所示,CPU1、CPU4为具有不同NUMA架构的跨NUMA节点。第一服务器侧的原有物理网卡用Nic1表示,第二服务器侧的原有物理网卡用Nic2表示。数据通信的过程可以为:假设应用程序APP1运行在第一服务器上的CPU1,应用程序APP2运行在第二服务器的CPU4。当APP1向APP2发送数据时,CPU1通过QPI总线向CPU2发送数据;CPU2向Nic1发送所述数据。Nic1向Nic2发送所述数据;Nic2向CPU3发送数据;CPU3通过QPI总线向CPU4发送数据;CPU4将数据发送至APP2。
图2为相关技术中跨NUMA节点进行数据通信的示意图,图2中,处理器为多核处理器,每个多核处理器分别通过PCIE总线与各自对应的物理网卡进行连接,采用两块物理网卡,首先会造成资源池减少一半,且组网过程较复杂;其次,需要增加额外的物理网卡和交换机,从而增大成本;第三,也未考虑为NUMA节点提高数据的I/O设备的位置在物理网卡上如何配置。
上述方式中,当使用一块物理网卡时,Server1上的CPU1需要先通过QPI总线与Nic2固定连接的CPU2进行数据通信,再由CPU2通过PCIE总线与Nic2进行数据通信。由于QPI总线的存在,导致在CPU2进行数据访问时,必须经过QPI总线,由于QPI总线在单位时间的吞吐量较小,因而会降低数据的传输速率,并影响数据包的通过效率。
基于此,本发明实施例中,当第一服务器的多个处理器中的第一处理器被调度时,所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信;其中,所述第一处理器通过PCIE总线向所述物理网卡发送数据、和/或接收数据;每个处理器与所述物理网卡之间均通过PCIE总线通信;处理器之间通过QPI总线通信;多个处理器具有不同的NUMA;与所述物理网卡固定连接的处理器为多个处理器中除第一处理器外的其它处理器。
图3是本发明实施例数据处理方法的流程示意图,应用于第一服务器,如图3所示,包括以下步骤:
步骤301:判断第一服务器的多个处理器中的第一处理器是否被调度。
步骤302:当第一服务器的多个处理器中的第一处理器被调度时,所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信。
其中,所述第一处理器通过PCIE总线向所述物理网卡发送数据、和/或接收数据;每个处理器与所述物理网卡之间均通过PCIE总线通信;处理器之间通过QPI总线通信;多个处理器具有不同的NUMA;与所述物理网卡固定连接的处理器为多个处理器中除第一处理器外的其它处理器。
这里,所述物理网卡可以由现场可编程门阵列(FPGA,Field Programmable GateArray)等实现。为了组网更易于实现,所述第一服务器的物理网卡仅配置有一块,同样地,所述第二服务器侧也仅配置一块物理网卡。
这里,所述第一服务器可以调度所述第一处理器,以运行第一应用程序,所述第二服务器可以调度第二处理器,以运行第二应用程序。当所述第一应用程序与所述第二应用程序进行数据通信时,可以通过所述第一处理器与所述第二处理器完成数据传输。所述第一处理器可以称为第一NUMA节点,所述第二处理器可以称为第二NUMA节点。所述第一NUMA节点和所述第二NUMA节点的NUMA架构不同。
实际应用时,所述第一服务器的多个处理器中仅有一个处理器与一个物理网卡进行固定连接,如果所述第一应用程序运行在与所述物理网卡固定连接的处理器上,则可以通过物理网卡上的PCIE总线,实现所述第一处理器与所述第二处理器的数据通信;如果所述第一应用程序未运行在与所述物理网卡固定连接的处理器上,而是运行在所述第一处理器上,则需要增设对应所述第一处理器的PCIE总线,以绕过第一处理器与其他处理器之间的QPI总线,实现所述第一处理器与所述第二处理器的数据通信,进而保证通信速率。
这里,可以通过在原来的物理网卡上新增一个子网卡,并在子网卡上设置对应所述第一处理器的PCIE总线,以使所述第一处理器可以绕过QPI总线,直接利用子网卡上的PCIE总线与所述第二处理器进行数据通信。
基于此,在一实施例中,所述物理网卡包括主网卡和子网卡,所述子网卡上设置有与所述第一处理器对应的PCIE总线;所述主网卡设置有与所述物理网卡固定连接的处理器对应的PCIE总线;所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信,包括:所述第一处理器通过PCIE总线向所述子网卡发送数据、和/或接收数据;所述子网卡向所述主网卡发送所述数据、和/或接收所述数据,以实现与第二服务器的数据通信。
其中,子网卡和主网卡为统一网卡,子网卡上没有出口,主网卡上有出口,也就是说,数据通过主网卡发出。
这里,主网卡和子网卡上均设置有对应的PCIE总线。当所述第一应用程序运行在与主网卡连接的处理器上时,利用主网卡上的PCIE总线,实现所述第一处理器与所述第二处理器的数据通信;当所述第一应用程序运行在与子网卡连接的第一处理器上时,利用子网卡上的PCIE总线,实现所述第一处理器与所述第二处理器的数据通信。
需要说明的是,所述第二服务器对应的物理网卡上也需要新增一个子网卡,以实现与所述第一处理器的数据通信。设置方式与所述第一服务器侧的设置方式相同,在此不再赘述。
实际应用时,为了提升数据通信的性能,并支持处理器亲和性,可以使用硅光技术将子网卡与主网卡进行连接。所述处理器亲和性可以是指将一个进程绑定到一个处理器上。
基于此,在一实施例中,所述子网卡与所述主网卡通过硅光技术进行数据通信。
实际应用时,当所述第一处理器的数量为多个时,可以设置多个子网卡,以保证所述第一应用程序运行在任何一个处理器上时,均能绕过处理器之间的PCIE总线,而是直接通过PCIE总线,实现数据的发送和接收,进而保证数据通信的速率,并减小数据包的丢失。
基于此,在一实施例中,所针对除与所述物理网卡固定连接的处理器外的每个处理器,对应一个子网卡;针对与所述物理网卡固定连接的处理器,对应一个主网卡。
实际应用时,除了在原来的物理网卡上新增一个子网卡外,还可以在包含多个处理器的主板上设置PCIE槽位,并在原来的物理网卡上也增设相应的PCIE槽位,这样,可以在增设的PCIE槽位之间设置PCIE总线,以使所述第一处理器可以绕过QPI总线,直接利用增设的PCIE槽位上的PCIE总线与所述第二处理器进行数据通信,进而保证数据通信的速率。
基于此,在一实施例中,所述物理网卡上设置有多个槽位,针对除与所述物理网卡固定连接的处理器外的每个处理器,对应第一槽位,并通过所述第一槽位对应的PCIE总线与所述物理网卡进行数据通信;针对与所述物理网卡固定连接的处理器,对应第二槽位,并通过所述第二槽位对应的PCIE总线与所述物理网卡进行数据通信。
这里,如果所述第一应用程序未运行在与所述物理网卡固定连接的处理器上,则可以通过第一槽位上的PCIE总线,实现所述第一处理器与所述第二处理器的数据通信;如果所述第一应用程序运行在与所述物理网卡固定连接的处理器上,而是运行在所述第一处理器上,则通过第二槽位上的PCIE总线,以绕过第一处理器与其他处理器之间的QPI总线,实现所述第一处理器与所述第二处理器的数据通信,进而保证通信速率。
需要说明的是,所述第二服务器的包含处理器的主板上也需要新增槽位,以实现与所述第一处理器的数据通信。设置方式与所述第一服务器侧的设置方式相同,在此不再赘述。
采用本发明实施例的技术方案,所述第一服务器的第一处理器可以绕过QPI总线与所述物理网卡进行数据通信,这样,所述第一服务器的第一处理器可以直接使用PCIE总线与所述第二服务器进行数据通信,由于PCIE总线在单位时间的吞吐量比QPI总线在单位时间的吞吐量较大,因而能够提高数据传输的速率。同时,还可以解决单个处理器访问非本地NUMA节点的远程I/O资源时的延迟大的问题。
下面结合具体实施例详细说明数据处理方法的具体实现原理。
图4a是处理器与物理网卡的连接示意图,如图4a所示,两个处理器之间通过QPI总线进行连接,且两个处理器均可以通过PCIE总线与物理网卡进行连接。
图4b是跨NUMA节点绕过QPI总线实现数据通信的示意图,如图4b所示,CPU1、CPU4为具有不同NUMA架构的跨NUMA节点。第一服务器侧的原有物理网卡用Nic1表示,第二服务器侧的原有物理网卡用Nic2表示。CPU1、CPU4均可以通过PCIE总线与原有物理网卡进行连接。
数据通信的过程可以为:假设应用程序APP1运行在第一服务器上的CPU1,应用程序APP2运行在第二服务器的CPU4。当APP1向APP2发送数据时,CPU1通过PCIE总线向Nic1发送数据。Nic1向Nic2发送所述数据;Nic2通过向PCIE总线向CPU4发送数据;CPU4将数据发送至APP2。
这里,所述第一服务器的CPU1可以绕过QPI总线与Nic1进行数据通信,这样,CPU1可以直接使用PCIE总线与所述第二服务器的CPU4进行数据通信,由于PCIE总线在单位时间的吞吐量比QPI总线在单位时间的吞吐量较大,因而能够提高数据传输的速率。
图5是跨NUMA节点通过子网卡实现数据通信的示意图,如图5所示,CPU1、CPU4为具有不同NUMA架构的跨NUMA节点。第一服务器侧的原有物理网卡用Nic1表示,第二服务器侧的原有物理网卡用Nic2表示,在Nic1上扩展一个对应CPU1的子网卡,Nic1作为主网卡;在Nic2上扩展一个对应CPU4的子网卡,Nic2作为主网卡。子网卡和主网卡为统一网卡,不多余出口。但,子卡本身没有出口,子网卡和主网卡占用2个PCIE总线,但只有主网卡有出口,所有数据从主网卡出,子网卡和主网卡通过硅光技术连接。
数据通信的过程可以为:假设应用程序APP1运行在第一服务器上的CPU1,应用程序APP2运行在第二服务器的CPU4。当APP1向APP2发送数据时,CPU1通过PCIE总线向对应的子网卡发送数据;与CPU1对应的子网卡向Nic1发送所述数据。Nic1向Nic2发送所述数据;Nic2向与CPU4对应的子网卡发送数据;与CPU4对应的子网卡通过PCIE总线向CPU4发送数据;CPU4将数据发送至APP2。
这里,APP1未运行在与所述物理网卡固定连接的CPU2上,而是运行在CPU1上,可以通过子网卡上的PCIE总线,绕过CPU1与CPU2之间的QPI总线,绕过CPU3与CPU4之间的QPI总线,实现数据通信,进而保证通信速率。
图6是跨NUMA节点通过增设的PCIE槽位实现数据通信的示意图,如图6所示,CPU1、CPU4为具有不同NUMA架构的跨NUMA节点。第一服务器侧的原有物理网卡用Nic1表示,第二服务器侧的原有物理网卡用Nic2表示,在第一服务器侧的主板上增设一个PCIE槽位,在Nic1上增设对应的PCIE槽位,以在两个PCIE槽位之间连接PCIE总线;在第二服务器侧的主板上增设一个PCIE槽位,在Nic2上增设对应的PCIE槽位,以在两个PCIE槽位之间连接PCIE总线。
数据通信的过程可以为:假设应用程序APP1运行在第一服务器上的CPU1,应用程序APP2运行在第二服务器的CPU4。当APP1向APP2发送数据时,CPU1通过增设的PCIE槽位对应的PCIE总线向Nic1发送数据。Nic1向Nic2发送所述数据;Nic2通过增设的PCIE槽位对应的PCIE总线向CPU4发送数据;CPU4将数据发送至APP2。
这里,APP1未运行在与所述物理网卡固定连接的CPU2上,而是运行在CPU1上,可以通过增设的PCIE槽位上的PCIE总线,绕过CPU1与CPU2之间的QPI总线,绕过CPU3与CPU4之间的QPI总线,实现数据通信,进而保证通信速率。
为实现本发明实施例的方法,本发明实施例还提供了一种数据处理装置,设置在第一服务器,如图7所示,所述装置包括:
判断单元71,用于判断第一服务器的多个处理器中的第一处理器是否被调度。
数据通信单元72,用于当第一服务器的多个处理器中的第一处理器被调度时,所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信。
其中,所述第一处理器通过PCIE总线向所述物理网卡发送数据、和/或接收数据;每个处理器与所述物理网卡之间均通过PCIE总线通信;处理器之间通过QPI总线通信;多个处理器具有不同的NUMA;与所述物理网卡固定连接的处理器为多个处理器中除第一处理器外的其它处理器。
所述第一服务器的多个处理器中仅有一个处理器与一个物理网卡进行固定连接,如果所述第一应用程序运行在与所述物理网卡固定连接的处理器上,则可以通过物理网卡上的PCIE总线,实现所述第一处理器与所述第二处理器的数据通信;如果所述第一应用程序未运行在与所述物理网卡固定连接的处理器上,而是运行在所述第一处理器上,则需要增设对应所述第一处理器的PCIE总线,以绕过第一处理器与其他处理器之间的QPI总线,实现所述第一处理器与所述第二处理器的数据通信,进而保证通信速率。
这里,可以通过在原来的物理网卡上新增一个子网卡,并在子网卡上设置对应所述第一处理器的PCIE总线,以使所述第一处理器可以绕过QPI总线,直接利用子网卡上的PCIE总线与所述第二处理器进行数据通信。
基于此,在一实施例中,所述物理网卡包括主网卡和子网卡,所述子网卡上设置有与所述第一处理器对应的PCIE总线;所述主网卡设置有与所述物理网卡固定连接的处理器对应的PCIE总线;
所述数据通信单元,具体用于供所述第一服务器的第一处理器通过PCIE总线向所述子网卡发送数据、和/或接收数据;以及所述子网卡向所述主网卡发送所述数据、和/或接收所述数据。
其中,子网卡和主网卡为统一网卡,子网卡上没有出口,主网卡上有出口,也就是说,数据通过主网卡发出。
这里,主网卡和子网卡上均设置有对应的PCIE总线。当所述第一应用程序运行在与主网卡连接的处理器上时,利用主网卡上的PCIE总线,实现所述第一处理器与所述第二处理器的数据通信;当所述第一应用程序运行在与子网卡连接的第一处理器上时,利用子网卡上的PCIE总线,实现所述第一处理器与所述第二处理器的数据通信。
需要说明的是,所述第二服务器对应的物理网卡上也需要新增一个子网卡,以实现与所述第一处理器的数据通信。设置方式与所述第一服务器侧的设置方式相同,在此不再赘述。
实际应用时,为了提升数据通信的性能,并支持处理器亲和性,可以使用硅光技术将子网卡与主网卡进行连接。所述处理器亲和性可以是指将一个进程绑定到一个处理器上。
基于此,在一实施例中,所述子网卡与所述主网卡通过硅光技术进行数据通信。
实际应用时,当所述第一处理器的数量为多个时,可以设置多个子网卡,以保证所述第一应用程序运行在任何一个处理器上时,均能绕过处理器之间的PCIE总线,而是直接通过PCIE总线,实现数据的发送和接收,进而保证数据通信的速率,并减小数据包的丢失。
基于此,在一实施例中,针对除与所述物理网卡固定连接的处理器外的每个处理器,对应一个子网卡;针对与所述物理网卡固定连接的处理器,对应一个主网卡。
实际应用时,除了在原来的物理网卡上新增一个子网卡外,还可以在包含多个处理器的主板上设置PCIE槽位,并在原来的物理网卡上也增设相应的PCIE槽位,这样,可以在增设的PCIE槽位之间设置PCIE总线,以使所述第一处理器可以绕过QPI总线,直接利用增设的PCIE槽位上的PCIE总线与所述第二处理器进行数据通信,进而保证数据通信的速率。
基于此,在一实施例中,所述物理网卡上设置有多个槽位,针对除与所述物理网卡固定连接的处理器外的每个处理器,对应第一槽位,并通过所述第一槽位对应的PCIE总线与所述物理网卡进行数据通信;针对与所述物理网卡固定连接的处理器,对应第二槽位,并通过所述第二槽位对应的PCIE总线与所述物理网卡进行数据通信。
这里,如果所述第一应用程序运行在与所述物理网卡固定连接的处理器上,则可以通过第一槽位上的PCIE总线,实现所述第一处理器与所述第二处理器的数据通信;如果所述第一应用程序未运行在与所述物理网卡固定连接的处理器上,而是运行在所述第一处理器上,则通过第二槽位上的PCIE总线,以绕过第一处理器与其他处理器之间的QPI总线,实现所述第一处理器与所述第二处理器的数据通信,进而保证通信速率。
需要说明的是:上述实施例提供的数据处理装置在进行数据处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在实际应用中,判断单元71、数据通信单元72可由位于数据处理装置上的处理器比如中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)、或FPGA等实现。
需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:
当第一服务器的多个处理器中的第一处理器被调度时,所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信;其中,所述第一处理器通过高速串行计算机扩展总线标准PCIE总线向所述物理网卡发送数据、和/或接收数据;每个处理器与所述物理网卡之间均通过PCIE总线通信;处理器之间通过快速通道互连QPI总线通信;多个处理器具有不同的非同一内存访问架构NUMA;与所述物理网卡固定连接的处理器为多个处理器中除第一处理器外的其它处理器。
2.根据权利要求1所述的方法,其特征在于,所述物理网卡包括主网卡和子网卡,所述子网卡上设置有与所述第一处理器对应的PCIE总线;所述主网卡设置有与所述物理网卡固定连接的处理器对应的PCIE总线;
所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信,包括:
所述第一处理器通过PCIE总线向所述子网卡发送数据、和/或接收数据;
所述子网卡向所述主网卡发送所述数据、和/或接收所述数据,以实现与第二服务器的数据通信。
3.根据权利要求2所述的方法,其特征在于,所述子网卡与所述主网卡通过硅光技术进行数据通信。
4.根据权利要求1所述的方法,其特征在于,针对除与所述物理网卡固定连接的处理器外的每个处理器,对应一个子网卡;针对与所述物理网卡固定连接的处理器,对应一个主网卡。
5.根据权利要求1所述的方法,其特征在于,所述物理网卡上设置有多个槽位,针对除与所述物理网卡固定连接的处理器外的每个处理器,对应第一槽位,并通过所述第一槽位对应的PCIE总线与所述物理网卡进行数据通信;针对与所述物理网卡固定连接的处理器,对应第二槽位,并通过所述第二槽位对应的PCIE总线与所述物理网卡进行数据通信。
6.一种数据处理装置,其特征在于,所述装置包括:
数据通信单元,用于当第一服务器的多个处理器中的第一处理器被调度时,所述第一处理器通过所述第一服务器的物理网卡实现与第二服务器的数据通信;其中,所述第一处理器通过高速串行计算机扩展总线标准PCIE总线向所述物理网卡发送数据、和/或接收数据;每个处理器与所述物理网卡之间均通过PCIE总线通信;处理器之间通过QPI总线通信;多个处理器具有不同的非同一内存访问架构NUMA;与所述物理网卡固定连接的处理器为多个处理器中除第一处理器外的其它处理器。
7.根据权利要求6所述的装置,其特征在于,所述物理网卡包括主网卡和子网卡,所述子网卡上设置有与所述第一处理器对应的PCIE总线;所述主网卡设置有与所述物理网卡固定连接的处理器对应的PCIE总线;
所述数据通信单元,具体用于供所述第一服务器的第一处理器通过PCIE总线向所述子网卡发送数据、和/或接收数据;以及所述子网卡向所述主网卡发送所述数据、和/或接收所述数据。
8.根据权利要求7所述的装置,其特征在于,所述子网卡与所述主网卡通过硅光技术进行数据通信。
9.根据权利要求7所述的装置,其特征在于,针对除与所述物理网卡固定连接的处理器外的每个处理器,对应一个子网卡;针对与所述物理网卡固定连接的处理器,对应一个主网卡。
10.根据权利要求7所述的装置,其特征在于,所述物理网卡上设置有多个槽位,针对除与所述物理网卡固定连接的处理器外的每个处理器,对应第一槽位,并通过所述第一槽位对应的PCIE总线与所述物理网卡进行数据通信;针对与所述物理网卡固定连接的处理器,对应第二槽位,并通过所述第二槽位对应的PCIE总线与所述物理网卡进行数据通信。
CN201910000432.5A 2019-01-02 2019-01-02 一种数据处理方法及装置 Active CN111400238B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910000432.5A CN111400238B (zh) 2019-01-02 2019-01-02 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910000432.5A CN111400238B (zh) 2019-01-02 2019-01-02 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN111400238A true CN111400238A (zh) 2020-07-10
CN111400238B CN111400238B (zh) 2023-03-28

Family

ID=71430179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910000432.5A Active CN111400238B (zh) 2019-01-02 2019-01-02 一种数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN111400238B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532545A (zh) * 2020-11-27 2021-03-19 苏州浪潮智能科技有限公司 一种外部节点间通信装置及服务器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484250A (zh) * 2014-11-28 2015-04-01 英业达科技有限公司 快速通道互联总线的压力测试方法和压力测试装置
CN107480017A (zh) * 2017-08-02 2017-12-15 郑州云海信息技术有限公司 Pcie外插卡的批量测试装置及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484250A (zh) * 2014-11-28 2015-04-01 英业达科技有限公司 快速通道互联总线的压力测试方法和压力测试装置
US20160154720A1 (en) * 2014-11-28 2016-06-02 Inventec (Pudong) Technology Corporation Pressure testing method and pressure testing device for a quick path interconnect bus
CN107480017A (zh) * 2017-08-02 2017-12-15 郑州云海信息技术有限公司 Pcie外插卡的批量测试装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李霞等: "服务器中高性能网络数据包处理方法的对比研究", 《计算机应用与软件》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532545A (zh) * 2020-11-27 2021-03-19 苏州浪潮智能科技有限公司 一种外部节点间通信装置及服务器

Also Published As

Publication number Publication date
CN111400238B (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
US7921251B2 (en) Globally unique transaction identifiers
US7917729B2 (en) System on chip IC with subsystem of multiple processing cores switch coupled to network protocol device and bus bridge to local system bus
US20140092740A1 (en) Adaptive packet deflection to achieve fair, low-cost, and/or energy-efficient quality of service in network on chip devices
CN103092807B (zh) 节点控制器、并行计算服务器系统以及路由方法
CN101174255B (zh) 用于导出多个唯一节点标识符的装置、系统和芯片组
JPH0619785A (ja) 分散共有仮想メモリーとその構成方法
CN116501681B (zh) Cxl数据传输板卡及控制数据传输的方法
CN114546913B (zh) 一种基于pcie接口的多主机之间数据高速交互的方法和装置
CN108768667B (zh) 一种用于多核处理器片内核间网络通信的方法
WO2017000848A1 (en) Method and system for aggregation-friendly address assignment to pcie devices
Ahuja S/Net: A high-speed interconnect for multiple computers
CN113177018A (zh) 一种使用双槽cpu的服务器
CN111400238B (zh) 一种数据处理方法及装置
CN112968794B (zh) 网络功能链部署方法、装置、终端设备以及存储介质
JP4927104B2 (ja) システム電源モード制御のためのパケット交換
CN112202600B (zh) 一种多节点单主机与多主机通信自动切换装置及方法
KR20050080704A (ko) 프로세서간 데이터 전송 장치 및 방법
CN112148663A (zh) 一种数据交换芯片及服务器
CN114138354B (zh) 一种支持multihost的板载OCP网卡系统及服务器
US20220321403A1 (en) Programmable network segmentation for multi-tenant fpgas in cloud infrastructures
CN107122268B (zh) 一种基于numa多物理层分区处理系统
US8346988B2 (en) Techniques for dynamically sharing a fabric to facilitate off-chip communication for multiple on-chip units
WO2018201383A1 (zh) 互连系统、互连控制方法和装置
EP1552402B1 (en) Integrated circuit and method for sending requests
US9678905B2 (en) Bus controller, bus control system and network interface

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