[go: up one dir, main page]

CN103036817A - Server single-board, server single-board realization method and host processor - Google Patents

Server single-board, server single-board realization method and host processor Download PDF

Info

Publication number
CN103036817A
CN103036817A CN2012105446005A CN201210544600A CN103036817A CN 103036817 A CN103036817 A CN 103036817A CN 2012105446005 A CN2012105446005 A CN 2012105446005A CN 201210544600 A CN201210544600 A CN 201210544600A CN 103036817 A CN103036817 A CN 103036817A
Authority
CN
China
Prior art keywords
processor
pcie
ethernet data
packet
interchanger
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
CN2012105446005A
Other languages
Chinese (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.)
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 CN2012105446005A priority Critical patent/CN103036817A/en
Publication of CN103036817A publication Critical patent/CN103036817A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种服务器单板及其实现方法,涉及通信领域。该服务器单板可以降低服务器内部的延时,提高网络服务质量。包括:PCIe交换器,主处理器以及多个从处理器,PCIe交换器包括一个上行端口以及多个下行端口;主处理器与PCIe交换器的上行端口相连,多个从处理器分别与PCIe交换器的下行端口相连;主处理器用于通过网口接收其他单板发送的第一以太网数据包,将第一以太网数据包转成第一PCIe数据包,通过PCIe交换器将第一PCIe数据包转发给一个或多个从处理器;还用于接收一个或多个从处理器发送的第二PCIe数据包,将第二PCIe数据包转成第二以太网数据包,通过网口向其他单板转发第二以太网数据包。

Figure 201210544600

Embodiments of the present invention provide a server single board and an implementation method thereof, which relate to the communication field. The server single board can reduce the delay inside the server and improve the quality of network service. Including: a PCIe switch, a main processor and multiple slave processors. The PCIe switch includes an uplink port and multiple downlink ports; the main processor is connected to the uplink port of the PCIe switch, and multiple slave processors are connected to the PCIe switch respectively. connected to the downstream port of the device; the main processor is used to receive the first Ethernet data packet sent by other boards through the network port, convert the first Ethernet data packet into the first PCIe data packet, and convert the first PCIe data packet through the PCIe switch The packet is forwarded to one or more slave processors; it is also used to receive the second PCIe data packet sent by one or more slave processors, convert the second PCIe data packet into a second Ethernet data packet, and send it to other The single board forwards the second Ethernet data packet.

Figure 201210544600

Description

一种服务器单板、服务器单板实现方法及主处理器A server single board, server single board implementation method and main processor

技术领域technical field

本发明涉及通信领域,尤其涉及一种服务器单板、服务器单板实现方法及主处理器。The invention relates to the communication field, in particular to a server single board, a method for realizing the server single board and a main processor.

背景技术Background technique

随着通信技术的不断发展,向用户提供核心计算、信息资源管理、信息资源服务等功能的电信设备的数量也在不断增长。过高的能耗不仅影响运营商的运营成本,还将造成能源的严重浪费,因此,电信设备的节能已逐渐成为业界关注的焦点。With the continuous development of communication technology, the number of telecommunication equipment that provides functions such as core computing, information resource management, and information resource services to users is also increasing. Excessive energy consumption not only affects the operating costs of operators, but also causes serious waste of energy. Therefore, the energy saving of telecommunication equipment has gradually become the focus of the industry.

电信机房一般由大量的服务器、交换设备、接入设备、存储设备以及网络设备等部件所组成。其中,以多种形态呈现的服务器(如机架式、刀片式、插卡式)往往是电信机房中能耗最高的部件。在众多的服务器节能措施中,采用低功耗处理器芯片构建低功耗的服务器就是一个非常有效的措施。A telecommunications room is generally composed of a large number of servers, switching equipment, access equipment, storage equipment, and network equipment. Among them, servers in various forms (such as rack type, blade type, plug-in card type) are often the components with the highest energy consumption in the telecommunications room. Among many server energy-saving measures, using low-power processor chips to build low-power servers is a very effective measure.

现有技术中包括由多个低功耗处理器芯片构成的服务器,在此系统中,为了使数据能够在不同的处理器芯片之间进行合理配置并调度,处理器芯片之间可以通过高速以太网接口进行互连。由于每一个处理器芯片的以太网接口数量有限,处理器芯片之间通常采用树形结构进行互连,当处理器芯片数量较多时,则树形结构的深度需要很大才能够实现每个处理器芯片之间的全互连,但这样一来,对于处在叶子节点的处理器芯片来说,如果两个叶子节点的处理器要实现数据交互,必须要经过多级以太网交换,这将使得延时加大,从而严重影响网络服务的质量。The existing technology includes a server composed of multiple low-power processor chips. In this system, in order to enable data to be reasonably configured and scheduled among different processor chips, the processor chips can be connected through high-speed Ethernet Network interface for interconnection. Due to the limited number of Ethernet interfaces of each processor chip, the processor chips are usually interconnected in a tree structure. When the number of processor chips is large, the depth of the tree structure needs to be large to realize each processing. But in this way, for the processor chips at the leaf nodes, if the processors of the two leaf nodes want to realize data interaction, they must go through multi-level Ethernet switching, which will The delay is increased, which seriously affects the quality of network services.

发明内容Contents of the invention

本发明的实施例提供一种服务器单板、服务器单板实现方法及主处理器,用于解决现有技术存在着的服务器内部延时大,从而严重影响网络服务质量的问题。Embodiments of the present invention provide a server single board, a method for implementing the server single board, and a main processor, which are used to solve the problem in the prior art that the internal delay of the server is large, thereby seriously affecting the quality of network service.

为达到上述目的,本发明的实施例采用如下技术方案:In order to achieve the above object, embodiments of the present invention adopt the following technical solutions:

第一方面,本发明实施例第一种实现方式提供了一种服务器单板,应用于服务器系统,所述服务器系统还包括与所述服务器单板连接的至少一个其他单板,所述服务器单板包括:In the first aspect, the first implementation of the embodiment of the present invention provides a server single board, which is applied to a server system, and the server system further includes at least one other single board connected to the server single board, and the server single board Board includes:

PCIe交换器,主处理器以及多个从处理器,所述PCIe交换器包括一个上行端口以及多个下行端口;A PCIe switch, a main processor and a plurality of slave processors, the PCIe switch includes an uplink port and a plurality of downlink ports;

所述主处理器与所述PCIe交换器的上行端口相连,所述多个从处理器分别与所述PCIe交换器的下行端口相连;The main processor is connected to the uplink port of the PCIe switch, and the multiple slave processors are respectively connected to the downlink port of the PCIe switch;

所述主处理器用于通过网口接收所述其他单板发送的第一以太网数据包,将所述第一以太网数据包转成第一PCIe数据包,通过所述PCIe交换器的所述上行端口将所述第一PCIe数据包转发给所述PCIe交换器,使得所述PCIe交换器将所述第一PCIe数据包转发给与所述下行端口相连的所述从处理器;The main processor is used to receive the first Ethernet data packet sent by the other single board through the network port, convert the first Ethernet data packet into the first PCIe data packet, and pass through the PCIe switch. The uplink port forwards the first PCIe data packet to the PCIe switch, so that the PCIe switch forwards the first PCIe data packet to the slave processor connected to the downlink port;

所述主处理器还用于通过所述PCIe交换器接收所述从处理器发送的第二PCIe数据包,将所述第二PCIe数据包转成第二以太网数据包,通过所述网口向所述其他单板转发所述第二以太网数据包。The main processor is also used to receive the second PCIe packet sent by the slave processor through the PCIe switch, convert the second PCIe packet into a second Ethernet packet, and pass through the network port Forwarding the second Ethernet data packet to the other single board.

结合第一方面第一种可能实现方式,第二种可能的实现方式中,所述主处理器还用于,通过所述PCIe交换器接收其中一个所述从处理器发送的第三PCIe数据包,并通过所述PCIe交换器将所述第三PCIe数据包转发给另一个所述从处理器。With reference to the first possible implementation of the first aspect, in the second possible implementation, the master processor is further configured to receive, through the PCIe switch, the third PCIe data packet sent by one of the slave processors , and forward the third PCIe data packet to another slave processor through the PCIe switch.

结合第一方面第一种或第二种可能的实现方式,第三种可能的实现方式中,所述主处理器用于将所述第二PCIe数据包转成第二以太网数据包具体为:In combination with the first or second possible implementation of the first aspect, in a third possible implementation, the main processor is used to convert the second PCIe data packet into a second Ethernet data packet, specifically:

若所述第二PCIe数据包的净荷包括完整的以太网数据包,所述主处理器用于直接提取所述以太网数据包以得到第二以太网数据包;或,If the payload of the second PCIe data packet includes a complete Ethernet data packet, the main processor is used to directly extract the Ethernet data packet to obtain the second Ethernet data packet; or,

若所述第二PCIe数据包的净荷包括以太网数据包的净荷,所述主处理器用于提取所述以太网数据包的净荷进行封装以得到第二以太网数据包。If the payload of the second PCIe data packet includes the payload of the Ethernet data packet, the main processor is configured to extract the payload of the Ethernet data packet for encapsulation to obtain the second Ethernet data packet.

结合第一方面第一到第三种任一可能的实现方式,第四种可能的实现方式中,所述主处理器还用于,生成路径配置表,所述路径配置表包括从处理器标识以及与所述从处理器标识对应的路由信息;With reference to any of the first to third possible implementations of the first aspect, in a fourth possible implementation, the master processor is further configured to generate a path configuration table, where the path configuration table includes a slave processor identifier and routing information corresponding to the slave processor identifier;

所述主处理器用于将所述第一以太网数据包转成第一PCIe数据包,通过所述PCIe交换器的所述上行端口将所述第一PCIe数据包转发给所述PCIe交换器,使得所述PCIe交换器将所述第一PCIe数据包转发给与所述下行端口相连的所述从处理器具体为:The main processor is used to convert the first Ethernet data packet into a first PCIe data packet, and forward the first PCIe data packet to the PCIe switch through the uplink port of the PCIe switch, Making the PCIe switch forward the first PCIe packet to the slave processor connected to the downlink port is specifically:

所述主处理器用于:The main processor is used to:

将所述第一以太网数据包整体封装到第一PCIe数据包的净荷中或者所述主处理器用于提取所述第一以太网数据包中的净荷,将所述第一以太网数据包中的净荷封装到第一PCIe数据包的净荷中;根据所述路径配置表及所述从处理器的从处理器标识获取与所述从处理器对应的第一路由信息,将所述第一路由信息添加到所述第一PCIe数据包的头部;通过所述PCIe交换器的上行端口将所述第一PCIe数据包转发给所述PCIe交换器,使得所述PCIe交换器根据所述第一PCIe数据包头部中的所述第一路由信息将所述第一PCIe数据包转发给与所述下行端口相连的所述从处理器。Encapsulate the first Ethernet data packet as a whole into the payload of the first PCIe data packet or the main processor is used to extract the payload in the first Ethernet data packet, and the first Ethernet data The payload in the packet is encapsulated into the payload of the first PCIe data packet; according to the path configuration table and the slave processor identification of the slave processor, the first routing information corresponding to the slave processor is obtained, and the The first routing information is added to the header of the first PCIe data packet; the first PCIe data packet is forwarded to the PCIe switch through the uplink port of the PCIe switch, so that the PCIe switch according to The first routing information in the header of the first PCIe data packet forwards the first PCIe data packet to the slave processor connected to the downlink port.

结合第一方面第一到第四种任一可能的实现方式,第五种可能的实现方式中,所述主处理器还用于:With reference to any one of the first to fourth possible implementations of the first aspect, in a fifth possible implementation, the main processor is further configured to:

通过所述PCIe交换器接收所述从处理器发送加载请求;receiving the loading request from the processor through the PCIe switch;

根据所述加载请求读取操作系统和应用程序镜像文件;Read operating system and application image files according to the loading request;

将读取到的所述操作系统镜像文件通过所述PCIe交换器发送至所述从服务器,使得所述从处理器根据所述操作系统镜像文件启动操作系统。and sending the read operating system image file to the slave server through the PCIe switch, so that the slave processor starts an operating system according to the operating system image file.

结合第一方面第一到第五种任一可能的实现方式,第六种可能的实现方式中,In combination with any of the first to fifth possible implementations of the first aspect, in the sixth possible implementation,

所述主处理器还用于:The main processor is also used to:

通过所述PCIe交换器向所述从处理器发送在线检测消息,以检测所述从处理器是否正常连接;Send an online detection message to the slave processor through the PCIe switch, to detect whether the slave processor is connected normally;

当确定一个从处理器连接失败时,根据预设的发送策略将发送至所述一个从处理器的数据包通过所述PCIe交换器发送至另一个从处理器。When it is determined that a slave processor fails to connect, the data packet sent to the one slave processor is sent to another slave processor through the PCIe switch according to a preset sending strategy.

结合第一方面第六种实现方式,第七种可能的实现方式中,当确定所述一个从处理器恢复连接时,将发送至所述另一个从处理器的所述数据包通过所述PCIe交换器转发至所述一个从处理器。In combination with the sixth implementation manner of the first aspect, in a seventh possible implementation manner, when it is determined that the one slave processor resumes the connection, the data packet sent to the other slave processor is passed through the PCIe The switch forwards to the one slave processor.

第二方面,在第一种可能的实现方式中,本实施例公开了一种服务器单板实现方法,所述服务器单板应用于服务器系统,所述服务器系统还包括与所述服务器单板连接的至少一个其他单板,包括:In the second aspect, in the first possible implementation manner, this embodiment discloses a method for implementing a server board, the server board is applied to a server system, and the server system further includes a server board connected to the server board. at least one other board, including:

主处理器通过网口接收所述其他单板发送的第一以太网数据包;The main processor receives the first Ethernet data packet sent by the other single board through the network port;

所述主处理器将所述第一以太网数据包转成第一PCIe数据包;The main processor converts the first Ethernet data packet into the first PCIe data packet;

所述主处理器通过所述PCIe交换器的所述上行端口将所述第一PCIe数据包转发给所述PCIe交换器,使得所述PCIe交换器将所述第一PCIe数据包转发给与所述下行端口相连的所述从处理器;The main processor forwards the first PCIe data packet to the PCIe switch through the uplink port of the PCIe switch, so that the PCIe switch forwards the first PCIe data packet to the The slave processor connected to the downlink port;

所述主处理器通过所述PCIe交换器接收所述从处理器发送的第二PCIe数据包;The main processor receives the second PCIe data packet sent from the processor through the PCIe switch;

所述主处理器将所述第二PCIe数据包转成第二以太网数据包;The main processor converts the second PCIe data packet into a second Ethernet data packet;

所述主处理器通过所述网口向所述其他单板转发所述第二以太网数据包。The main processor forwards the second Ethernet data packet to the other boards through the network port.

结合第二方面第一种可能的实现方式,第二种可能的实现方式中,所述方法还包括:With reference to the first possible implementation of the second aspect, in the second possible implementation, the method further includes:

所述主处理器通过所述PCIe交换器接收其中一个所述从处理器发送的第三PCIe数据包,并通过所述PCIe交换器将所述第三PCIe数据包转发给另一个所述从处理器。The main processor receives the third PCIe packet sent by one of the slave processors through the PCIe switch, and forwards the third PCIe packet to another slave processor through the PCIe switch device.

结合第二方面第一到第二种任一可能的实现方式,第三种可能的实现方式中,所述主处理器将所述第二PCIe数据包转成第二以太网数据包包括:In combination with any of the first to second possible implementations of the second aspect, in a third possible implementation, converting the second PCIe data packet into a second Ethernet data packet by the main processor includes:

若所述第二PCIe数据包的净荷包括完整的以太网数据包,所述主处理器直接提取所述以太网数据包以得到第二以太网数据包;或,If the payload of the second PCIe data packet includes a complete Ethernet data packet, the main processor directly extracts the Ethernet data packet to obtain the second Ethernet data packet; or,

若所述第二PCIe数据包的净荷包括以太网数据包的净荷,所述主处理器提取所述以太网数据包的净荷进行封装以得到第二以太网数据包。If the payload of the second PCIe data packet includes the payload of the Ethernet data packet, the main processor extracts the payload of the Ethernet data packet and encapsulates it to obtain the second Ethernet data packet.

结合第二方面第一到第三种任一可能的实现方式,第四种可能的实现方式中,所述方法还包括:In combination with any of the first to third possible implementation manners of the second aspect, in a fourth possible implementation manner, the method further includes:

生成路径配置表,所述路径配置表包括从处理器标识以及与所述从处理器标识对应的路由信息;generating a path configuration table, the path configuration table including a slave processor identifier and routing information corresponding to the slave processor identifier;

所述主处理器将所述第一以太网数据包转成第一PCIe数据包包括:The host processor converting the first Ethernet packet into the first PCIe packet includes:

将所述第一以太网数据包整体封装到第一PCIe数据包的净荷中或者所述主处理器提取所述第一以太网数据包中的净荷,将所述第一以太网数据包中的净荷封装到第一PCIe数据包的净荷中;根据所述路径配置表及所述从处理器的从处理器标识获取与所述从处理器对应的第一路由信息,将所述第一路由信息添加到所述第一PCIe数据包的头部;Encapsulate the first Ethernet data packet as a whole into the payload of the first PCIe data packet or the main processor extracts the payload in the first Ethernet data packet, and encapsulate the first Ethernet data packet The payload in the packet is encapsulated into the payload of the first PCIe packet; according to the path configuration table and the slave processor identification of the slave processor, the first routing information corresponding to the slave processor is obtained, and the The first routing information is added to the header of the first PCIe data packet;

所述主处理器通过所述PCIe交换器的所述上行端口将所述第一PCIe数据包转发给所述PCIe交换器,使得所述PCIe交换器将所述第一PCIe数据包转发给与所述下行端口相连的所述从处理器包括:The main processor forwards the first PCIe data packet to the PCIe switch through the uplink port of the PCIe switch, so that the PCIe switch forwards the first PCIe data packet to the The slave processor connected to the downstream port includes:

通过所述PCIe交换器的上行端口将所述第一PCIe数据包转发给所述PCIe交换器,使得所述PCIe交换器根据所述第一PCIe数据包头部中的所述第一路由信息将所述第一PCIe数据包转发给与所述下行端口相连的所述从处理器。The first PCIe data packet is forwarded to the PCIe switch through the uplink port of the PCIe switch, so that the PCIe switch forwards the first PCIe data packet according to the first routing information in the header of the first PCIe data packet The first PCIe data packet is forwarded to the slave processor connected to the downlink port.

结合第二方面第一到第四种任一可能的实现方式,第五种可能的实现方式中,所述方法还包括:In combination with any of the first to fourth possible implementation manners of the second aspect, in a fifth possible implementation manner, the method further includes:

所述主处理器通过所述PCIe交换器接收所述从处理器发送加载请求;The main processor receives the loading request sent from the processor through the PCIe switch;

根据所述加载请求读取操作系统和应用程序镜像文件;Read operating system and application image files according to the loading request;

将读取到的所述操作系统镜像文件通过所述PCIe交换器发送至所述从服务器,使得所述从处理器根据所述操作系统镜像文件启动操作系统。and sending the read operating system image file to the slave server through the PCIe switch, so that the slave processor starts an operating system according to the operating system image file.

结合第二方面第一到第五种任一可能的实现方式,第六种可能的实现方式中,所述主处理器通过所述PCIe交换器向所述从处理器发送在线检测消息,以检测所述从处理器是否正常连接;With reference to any of the first to fifth possible implementations of the second aspect, in a sixth possible implementation, the master processor sends an online detection message to the slave processor through the PCIe switch to detect Whether the slave processor is connected normally;

当确定一个从处理器连接失败时,所述主处理器根据预设的发送策略将发送至所述一个从处理器的数据包通过所述PCIe交换器发送至另一从处理器。When it is determined that a slave processor fails to connect, the master processor sends the data packet sent to the one slave processor to another slave processor through the PCIe switch according to a preset sending policy.

结合第二方面第六种可能的实现方式,第七种可能的实现方式中,当确定所述一个从处理器恢复连接时,将发送至所述另一个从处理器的所述数据包通过所述PCIe交换器转发至所述一个从处理器。With reference to the sixth possible implementation of the second aspect, in the seventh possible implementation, when it is determined that the one slave processor resumes the connection, pass the data packet sent to the other slave processor through the The PCIe switch forwards to the one slave processor.

第三方面,第一种可能的方式中,本实施例公开了一种处理器,应用于服务器单板,所述主处理器包括:In the third aspect, in the first possible manner, this embodiment discloses a processor, which is applied to a server board, and the main processor includes:

第一接收模块,用于通过网口接收其他单板发送的第一以太网数据包;The first receiving module is configured to receive the first Ethernet data packet sent by other boards through the network port;

第一转换模块,用于将所述第一接收模块接收到的所述第一以太网数据包转成第一PCIe数据包;A first converting module, configured to convert the first Ethernet data packet received by the first receiving module into a first PCIe data packet;

第一发送模块,用于通过PCIe交换器将所述第一转换模块转换得到的所述第一PCIe数据包转发给与所述PCIe交换器相连的从处理器;The first sending module is used to forward the first PCIe data packet converted by the first conversion module to the slave processor connected to the PCIe switch through the PCIe switch;

第二接收模块,用于通过所述PCIe交换器接收所述从处理器发送的第二PCIe数据包;A second receiving module, configured to receive the second PCIe data packet sent from the processor through the PCIe switch;

第二转换模块,用于将所述第二接收模块接收到的所述第二PCIe数据包转成第二以太网数据包;A second converting module, configured to convert the second PCIe data packet received by the second receiving module into a second Ethernet data packet;

第二发送模块,用于通过所述网口向所述其他单板转发所述第二转换模块转换得到的所述第二以太网数据包。The second sending module is configured to forward the second Ethernet data packet converted by the second conversion module to the other boards through the network port.

结合第三方面第一可能的实现方式,第二种可能的实现方式中,所述第一发送模块,具体用于通过PCIe交换器的上行端口将所述第一PCIe数据包经由PCIe交换器发送给与所述PCIe交换器的下行端口相连的从处理器;With reference to the first possible implementation of the third aspect, in the second possible implementation, the first sending module is specifically configured to send the first PCIe data packet via the PCIe switch through the uplink port of the PCIe switch To the slave processor connected to the downstream port of the PCIe switch;

所述第二接收模块,具体用于从所述PCIe交换器的上行端口接收所述从处理器从所述PCIe交换器的下行端口发送的、经由所述PCIe交换器到达所述PCIe交换器的上行端口的第二PCIe数据包。The second receiving module is specifically configured to receive from the uplink port of the PCIe switch the information sent by the slave processor from the downlink port of the PCIe switch and arrive at the PCIe switch via the PCIe switch The second PCIe data packet of the uplink port.

结合第三方面第一到第二种任一可能的实现方式,第三种可能的实现方式中,所述第二接收模块还用于通过所述PCIe交换器接收其中一个所述从处理器发送的第三PCIe数据包;With reference to any of the first to second possible implementations of the third aspect, in a third possible implementation, the second receiving module is further configured to receive one of the slave processors through the PCIe switch. The third PCIe packet;

所述第一发送模块还用于通过所述PCIe交换器将所述第二接收模块接收到的所述第三PCIe数据包转发给另一个所述从处理器。The first sending module is further configured to forward the third PCIe data packet received by the second receiving module to another slave processor through the PCIe switch.

结合第三方面第一到第三种任一可能的实现方式,第四种可能的实现方式中,所述主处理器还包括:With reference to any of the first to third possible implementation manners of the third aspect, in a fourth possible implementation manner, the main processor further includes:

配置表生成模块,用于生成路径配置表,所述路径配置表包括从处理器标识以及与所述从处理器标识对应的路由信息;A configuration table generating module, configured to generate a path configuration table, the path configuration table including a slave processor identifier and routing information corresponding to the slave processor identifier;

所述第一转换模块包括:The first conversion module includes:

净荷处理模块,用于将所述第一以太网数据包整体封装到第一PCIe数据包的净荷中或者用于提取所述第一以太网数据包中的净荷,将所述第一以太网数据包中的净荷封装到第一PCIe数据包的净荷中;Payload processing module, for encapsulating the first Ethernet data packet as a whole into the payload of the first PCIe data packet or for extracting the payload in the first Ethernet data packet, the first The payload in the Ethernet packet is encapsulated into the payload of the first PCIe packet;

头部处理模块,用于根据所述路径配置表及所述从处理器的从处理器标识获取与所述从处理器对应的第一路由信息,将所述第一路由信息添加到所述第一PCIe数据包的头部,使得所述PCIe交换器收到后所述第一发送模块发送的所述第一PCIe数据包后,根据所述第一PCIe数据包头部中的所述第一路由信息将所述第一PCIe数据包转发给所述从处理器。A header processing module, configured to obtain first routing information corresponding to the slave processor according to the path configuration table and the slave processor identifier of the slave processor, and add the first routing information to the second A header of a PCIe data packet, so that after the PCIe switch receives the first PCIe data packet sent by the first sending module, according to the first route in the first PCIe data packet header information to forward the first PCIe packet to the slave processor.

结合第三方面第一到第四种任一可能的实现方式,第五种可能的实现方式中,第三接收模块,用于接收所述从处理器通过所述PCIe交换器发送的加载请求,根据所述加载请求读取操作系统和应用程序镜像文件;With reference to any of the first to fourth possible implementations of the third aspect, in a fifth possible implementation, the third receiving module is configured to receive the loading request sent by the slave processor through the PCIe switch, Read operating system and application image files according to the loading request;

第三发送模块,用于将读取到的所述操作系统镜像文件通过所述PCIe交换器发送至所述从处理器,使得所述从处理器根据所述操作系统镜像文件启动操作系统。The third sending module is configured to send the read operating system image file to the slave processor through the PCIe switch, so that the slave processor starts an operating system according to the operating system image file.

结合第二方面第一到第五种任一可能的实现方式,第六种可能的实现方式中,所述主处理器还包括:With reference to any one of the first to fifth possible implementation manners of the second aspect, in a sixth possible implementation manner, the main processor further includes:

检测模块,用于通过所述PCIe交换器向所述从处理器发送在线检测消息,以检测所述从处理器是否正常连接;A detection module, configured to send an online detection message to the slave processor through the PCIe switch, to detect whether the slave processor is connected normally;

当所述检测模块确定一个从处理器连接失败时,所述第一发送模块还用于:When the detection module determines that a slave processor connection fails, the first sending module is also used for:

根据预设的发送策略将发送至所述从处理器的数据包通过所述PCIe交换器发送至另一从处理器;当确定所述一个从处理器恢复连接时,将发送至所述另一个从处理器的所述数据包通过所述PCIe交换器转发至所述一个从处理器。According to the preset sending strategy, the data packet sent to the slave processor is sent to another slave processor through the PCIe switch; when it is determined that the connection is restored from the processor, it will be sent to the other The data packet of the slave processor is forwarded to the one slave processor through the PCIe switch.

本发明实施例提供的服务器单板、服务器单板实现方法及主处理器,该服务器单板应用于服务器系统,该服务器系统还包括与该服务器单板连接的至少一个其他单板,该服务器单板具体包括PCIe交换器,主处理器以及多个从处理器,其中,PCIe交换器包括一个上行端口以及多个下行端口;主处理器与该PCIe的上行端口相连,多个从处理器分别与该PCIe交换器的下行端口相连。采用这样一种结构的服务器单板,主处理器可以通过网口与其他单板进行数据的收发,该主处理器又通过PCIe交换器与各个从处理器相连接,因此,从处理器数据的收发以及各个从处理器之间数据的交换均可以通过主处理器完成。这样一来,无需采用多级树形结构就可以实现全处理器之间的互连,从而避免了数据在多级处理器之间转发,降低了服务器单板的延时,提高了网络服务的质量。The embodiment of the present invention provides a server board, a method for implementing the server board, and a main processor. The server board is applied to a server system, and the server system further includes at least one other board connected to the server board. The server board is The board specifically includes a PCIe switch, a main processor and multiple slave processors, wherein the PCIe switch includes an uplink port and a plurality of downlink ports; the main processor is connected to the uplink port of the PCIe, and the multiple slave processors are respectively connected to The downlink port of the PCIe switch is connected. Using such a structure of the server board, the main processor can send and receive data with other boards through the network port, and the main processor is connected to each slave processor through the PCIe switch. Therefore, the slave processor data Both sending and receiving and data exchange between slave processors can be completed by the main processor. In this way, the interconnection between all processors can be realized without using a multi-level tree structure, thereby avoiding data forwarding between multi-level processors, reducing the delay of the server single board, and improving network service efficiency. quality.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only These are some embodiments of the present invention. Those skilled in the art can also obtain other drawings based on these drawings without creative work.

图1为本发明实施例提供的一种服务器单板的结构示意图;FIG. 1 is a schematic structural diagram of a server board provided by an embodiment of the present invention;

图2a为本发明实施例提供的一种主处理器的结构示意图;FIG. 2a is a schematic structural diagram of a main processor provided by an embodiment of the present invention;

图2b为本发明实施例提供的另一主处理器的结构示意图;FIG. 2b is a schematic structural diagram of another main processor provided by an embodiment of the present invention;

图3为本发明实施例提供的一种服务器单板的连接结构示意图;FIG. 3 is a schematic diagram of a connection structure of a server board provided by an embodiment of the present invention;

图4为本发明实施例提供的一种服务器单板实现方法的流程示意图;FIG. 4 is a schematic flowchart of a method for implementing a server single board provided by an embodiment of the present invention;

图5为本发明实施例提供的另一服务器单板实现方法的流程示意图。FIG. 5 is a schematic flowchart of another method for implementing a server single board provided by an embodiment of the present invention.

具体实施方式Detailed ways

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.

本发明实施例提供的服务器单板1,可以应用于服务器系统,该服务器系统还可以包括与服务器单板1连接的至少一个其他单板2,如图1所示,服务器单板1可以包括:The server single board 1 provided by the embodiment of the present invention can be applied to a server system, and the server system can also include at least one other single board 2 connected to the server single board 1. As shown in FIG. 1, the server single board 1 can include:

PCIe交换器11,主处理器12以及多个从处理器13,该PCIe交换器11可以包括一个上行端口以及多个下行端口。A PCIe switch 11, a master processor 12 and multiple slave processors 13, the PCIe switch 11 may include one uplink port and multiple downlink ports.

该主处理器12与PCIe交换器11的上行端口相连,多个从处理器13分别与该PCIe交换器11的下行端口相连。The master processor 12 is connected to an uplink port of the PCIe switch 11 , and multiple slave processors 13 are connected to downlink ports of the PCIe switch 11 respectively.

该主处理器12用于通过网口14接收其他单板2发送的第一以太网数据包,将该第一以太网数据包转成第一PCIe数据包,通过PCIe交换器11的上行端口将该第一PCIe数据包转发给PCIe交换器11,使得该PCIe交换器11将该第一PCIe数据包转发给与下行端口相连的从处理器13。The main processor 12 is used to receive the first Ethernet data packet sent by other single boards 2 through the network port 14, convert the first Ethernet data packet into the first PCIe data packet, and convert the first Ethernet data packet into the first PCIe data packet through the uplink port of the PCIe switch 11. The first PCIe data packet is forwarded to the PCIe switch 11, so that the PCIe switch 11 forwards the first PCIe data packet to the slave processor 13 connected to the downlink port.

例如,主处理器12将第一以太网数据包转成第一PCIe数据包的过程具体可以包括:主处理器12将该第一以太网数据包整体封装到第一PCIe数据包的净荷中,采用这样一种整体封装的方式可以高效快速地实现数据包格式的转换;或者,主处理器12还可以提取该第一以太网数据包中的净荷,并将该第一以太网数据包中的净荷封装到第一PCIe数据包的净荷中,这样一来,封装的PCIe数据包中不包含包括以太网数据包的包头等在内的非关键数据,大大减小了PCIe数据包的容量,提高了PCIe数据包的封装效率。For example, the process in which the main processor 12 converts the first Ethernet data packet into the first PCIe data packet may specifically include: the main processor 12 encapsulates the first Ethernet data packet as a whole into the payload of the first PCIe data packet , the conversion of the data packet format can be realized efficiently and quickly by adopting such an overall encapsulation method; or, the main processor 12 can also extract the payload in the first Ethernet data packet, and convert the first Ethernet data packet The payload in the package is encapsulated into the payload of the first PCIe data packet, so that the encapsulated PCIe data packet does not contain non-critical data including the packet header of the Ethernet data packet, which greatly reduces the PCIe data packet capacity, improving the encapsulation efficiency of PCIe data packets.

该主处理器12还用于通过PCIe交换器11接收从处理器13发送的第二PCIe数据包,将该第二PCIe数据包转成第二以太网数据包,通过网口14向其他单板2转发该第二以太网数据包。The main processor 12 is also used to receive the second PCIe data packet sent from the processor 13 through the PCIe switch 11, convert the second PCIe data packet into a second Ethernet data packet, and transmit the data to other single boards through the network port 14. 2. Forward the second Ethernet data packet.

相应的,主处理器12将第二PCIe数据包转成第二以太网数据包的过程具体可以包括:若该第二PCIe数据包的净荷包括完整的以太网数据包,主处理器12可以直接提取该以太网数据包以得到第二以太网数据包;或者,若该第二PCIe数据包的净荷包括以太网数据包的净荷,主处理器12可以提取该以太网数据包的净荷进行封装以得到第二以太网数据包。Correspondingly, the process in which the main processor 12 converts the second PCIe data packet into the second Ethernet data packet may specifically include: if the payload of the second PCIe data packet includes a complete Ethernet data packet, the main processor 12 may Directly extract the Ethernet data packet to obtain the second Ethernet data packet; or, if the payload of the second PCIe data packet includes the payload of the Ethernet data packet, the main processor 12 can extract the net of the Ethernet data packet The payload is encapsulated to obtain the second Ethernet data packet.

在本发明实施例中,处理器可以包括x86处理器或ARM处理器。其中,x86处理器具体是指基于x86的低功耗的处理器。在实际应用中,由于基于ARM架构的处理器具有低成本、低功耗等特点,通过将多个较低性能的ARM处理器进行集群可以获得较高性能的服务器,在保证了服务器性能的同时大大降低了生产成本,降低了服务器的功耗。In this embodiment of the present invention, the processor may include an x86 processor or an ARM processor. Wherein, the x86 processor specifically refers to an x86-based low-power processor. In practical applications, due to the low cost and low power consumption of processors based on the ARM architecture, a server with higher performance can be obtained by clustering multiple lower-performance ARM processors, while ensuring server performance. The production cost is greatly reduced, and the power consumption of the server is reduced.

本发明实施例提供的服务器单板,应用于服务器系统,该服务器系统还包括与该服务器单板连接的至少一个其他单板,该服务器单板具体包括PCIe交换器,主处理器以及多个从处理器,其中,PCIe交换器包括一个上行端口以及多个下行端口;主处理器与该PCIe的上行端口相连,多个从处理器分别与该PCIe交换器的下行端口相连。采用这样一种结构的服务器单板,主处理器可以通过网口与其他单板进行数据的收发,该主处理器又通过PCIe交换器与各个从处理器相连接,因此,从处理器数据的收发以及各个从处理器之间数据的交换均可以通过主处理器完成。这样一来,无需采用多级树形结构就可以实现全处理器之间的互连,从而避免了数据在多级处理器之间转发,降低了服务器单板的延时,提高了网络服务的质量。The server single board provided by the embodiment of the present invention is applied to a server system, and the server system further includes at least one other single board connected to the server single board, and the server single board specifically includes a PCIe switch, a main processor, and a plurality of slave A processor, wherein the PCIe switch includes an uplink port and multiple downlink ports; the main processor is connected to the uplink port of the PCIe, and multiple slave processors are respectively connected to the downlink ports of the PCIe switch. Using such a structure of the server board, the main processor can send and receive data with other boards through the network port, and the main processor is connected to each slave processor through the PCIe switch. Therefore, the slave processor data Both sending and receiving and data exchange between slave processors can be completed by the main processor. In this way, the interconnection between all processors can be realized without using a multi-level tree structure, thereby avoiding data forwarding between multi-level processors, reducing the delay of the server single board, and improving network service efficiency. quality.

进一步地,主处理器12还可以用于,通过PCIe交换器11接收其中一个从处理器13发送的第三PCIe数据包,并通过PCIe交换器11将该第三PCIe数据包转发给另一个从处理器13。Further, the main processor 12 can also be used to receive the third PCIe data packet sent by one of the slave processors 13 through the PCIe switch 11, and forward the third PCIe data packet to another slave through the PCIe switch 11. Processor 13.

这样一来,多个从处理器13之间可以通过主处理器12控制PCIe交换器11进行数据交换,从而避免了数据在多级处理器之间转发,降低了服务器单板的延时,提高了网络服务的质量。In this way, multiple slave processors 13 can control the PCIe switch 11 for data exchange through the main processor 12, thereby avoiding data forwarding between multi-level processors, reducing the delay of the server single board, and improving quality of network service.

进一步地,主处理器12还可以用于:Further, the main processor 12 can also be used for:

初始化PCIe交换器11,通过配置PCIe交换器11的寄存器以使得该PCIe交换器11能够正常工作。The PCIe switch 11 is initialized, and the registers of the PCIe switch 11 are configured so that the PCIe switch 11 can work normally.

其中,主处理器12初始化PCIe交换器11具体可以包括:为与该PCIe交换器11相连的各个从处理器13分配路由信息。Wherein, the initialization of the PCIe switch 11 by the main processor 12 may specifically include: allocating routing information for each slave processor 13 connected to the PCIe switch 11 .

需要说明的是,在本发明实施例中,路由信息具体可以包括BDF(Bus(总线)、Device(设备)、Function(功能)号的统称)信息或者BAR(Base Address Register,基地址寄存器)空间地址。It should be noted that, in the embodiment of the present invention, the routing information may specifically include BDF (collectively referred to as Bus (bus), Device (device), and Function (function) numbers) information or BAR (Base Address Register, base address register) space address.

该主处理器12还可以用于,生成路径配置表,该路径配置表包括从处理器13标识以及与该从处理器13标识对应的路由信息,其中,与该从处理器13标识对应的路由信息与为该处理器标识所指示的从处理器13分配的路由信息相同。The main processor 12 can also be used to generate a path configuration table, the path configuration table includes the identifier of the slave processor 13 and routing information corresponding to the identifier of the slave processor 13, wherein the routing information corresponding to the identifier of the slave processor 13 The information is the same as the routing information assigned for the slave processor 13 indicated by the processor identification.

进一步地,主处理器12将第一以太网数据包转成第一PCIe数据包,通过PCIe交换器11的上行端口将第一PCIe数据包转发给PCIe交换器11,使得PCIe交换器11将第一PCIe数据包转发给与下行端口相连的从处理器13的具体过程可以如下:Further, the main processor 12 converts the first Ethernet data packet into the first PCIe data packet, and forwards the first PCIe data packet to the PCIe switch 11 through the uplink port of the PCIe switch 11, so that the PCIe switch 11 converts the first PCIe data packet into the first PCIe data packet. A PCIe packet is forwarded to the specific process from the processor 13 connected to the downlink port and can be as follows:

首先,主处理器12可以将第一以太网数据包整体封装到第一PCIe数据包的净荷中或者主处理器12可以提取第一以太网数据包中的净荷,将该第一以太网数据包中的净荷封装到第一PCIe数据包的净荷中。First, the main processor 12 can encapsulate the first Ethernet data packet as a whole into the payload of the first PCIe data packet or the main processor 12 can extract the payload in the first Ethernet data packet, and the first Ethernet The payload in the data packet is encapsulated into the payload of the first PCIe data packet.

在完成第一PCIe数据包的封装之后,主处理器可以根据路径配置表及从处理器13的从处理器标识获取与该从处理器13对应的第一路由信息,将该第一路由信息添加到第一PCIe数据包的头部;通过PCIe交换器11的上行端口将该第一PCIe数据包转发给PCIe交换器11,使得PCIe交换器11可以根据该第一PCIe数据包头部中的第一路由信息将第一PCIe数据包转发给与下行端口相连的从处理器13。After completing the encapsulation of the first PCIe packet, the master processor can obtain the first routing information corresponding to the slave processor 13 according to the path configuration table and the slave processor identification of the slave processor 13, and add the first routing information to the head of the first PCIe packet; the first PCIe packet is forwarded to the PCIe switch 11 by the uplink port of the PCIe switch 11, so that the PCIe switch 11 can be based on the first PCIe packet in the first PCIe packet header. The routing information forwards the first PCIe data packet to the slave processor 13 connected to the downlink port.

例如,路径配置表中记录有每一个从处理器的身份信息,该身份信息可以是从处理器所处的总线ID或者是该从处理器的MAC(Medium Access Control,介质访问控制层)地址,每一个从处理器的身份信息均对应一个预设的路由信息,主处理器12在通过PCIe交换器11转发第一PCIe数据包之前,可以根据路径配置表及从处理器13的从处理器标识获取与该从处理器13对应的路由信息,将该路由信息添加到第一PCIe数据包的头部,PCIe交换器11可以通过第一PCIe数据包头部记录的路由信息查找路径配置表,根据该路径配置表获得一个或多个从处理器13的路由信息,从而将第一PCIe数据包转发给一个或多个从处理器13。For example, the identity information of each slave processor is recorded in the path configuration table, and the identity information can be the bus ID where the processor resides or the MAC (Medium Access Control, medium access control layer) address of the slave processor, The identity information of each slave processor corresponds to a preset routing information. Before the master processor 12 forwards the first PCIe data packet through the PCIe switch 11, the slave processor identification of the slave processor 13 according to the path configuration table Obtain the routing information corresponding to the slave processor 13, add the routing information to the header of the first PCIe packet, and the PCIe switch 11 can search the path configuration table by the routing information recorded in the header of the first PCIe packet, according to the The path configuration table obtains routing information of one or more slave processors 13 , so as to forward the first PCIe data packet to one or more slave processors 13 .

当然,多个从处理器13之间同样可以根据该路径配置表进行数据的交换。例如,在主处理器12完成PCIe交换器11的初始化和从处理器13的扫描后生成路径配置表,并将该路径配置表下发到各个从处理器13,当第一从处理器需要向第二从处理器转发数据时,可以将该数据包发送至PCIe交换器11,该转发的数据包中添加有该第二从处理器的身份信息,PCIe交换器11可以查询路径配置表,从而根据第二从处理器的身份信息确定该第二从处理器的路由信息以便完成数据的转发。Of course, multiple slave processors 13 can also exchange data according to the path configuration table. For example, after the main processor 12 completes the initialization of the PCIe switch 11 and the scanning of the slave processor 13, the path configuration table is generated, and the path configuration table is sent to each slave processor 13. When the first slave processor needs to send When the second slave processor forwards data, the data packet can be sent to the PCIe switch 11, the identity information of the second slave processor is added in the forwarded data packet, and the PCIe switch 11 can query the path configuration table, thereby The routing information of the second slave processor is determined according to the identity information of the second slave processor so as to complete the data forwarding.

在主处理器12初始化PCIe交换器11之后,从处理器13还可以用于:After the master processor 12 initializes the PCIe switch 11, the slave processor 13 can also be used for:

通过PCIe交换器11向主处理器12发送加载请求,以请求加载必要的操作系统和应用程序。A loading request is sent to the main processor 12 through the PCIe switch 11 to request loading of necessary operating systems and application programs.

相应的,在接收到该加载请求之后,主处理器12还可以用于:根据该加载请求读取操作系统和应用程序镜像文件;将读取到的操作系统镜像文件通过PCIe交换器11发送至从服务器13,使得该从处理器13根据该操作系统镜像文件启动操作系统。Correspondingly, after receiving the loading request, the main processor 12 can also be used to: read the operating system and the application program image file according to the loading request; send the read operating system image file through the PCIe switch 11 to The slave server 13 enables the slave processor 13 to start the operating system according to the operating system image file.

这样一来,可以预先将操作系统和应用程序的镜像文件放置在主处理器12的存储介质中,当从处理器13需要加载时,只需要将该镜像文件从主处理器12的存储介质中取出发送至从处理器13即可,从而可以使得各个从处理器13无需自备操作系统和应用程序,节省了从处理器13的内存,提高了从处理器13的处理效率。In this way, the image file of the operating system and the application program can be placed in the storage medium of the main processor 12 in advance, and when the slave processor 13 needs to be loaded, only the image file needs to be loaded from the storage medium of the main processor 12. Just take out and send to the slave processor 13, so that each slave processor 13 does not need to prepare its own operating system and application program, saves the memory of the slave processor 13, and improves the processing efficiency of the slave processor 13.

进一步地,主处理器12还可以用于:Further, the main processor 12 can also be used for:

通过PCIe交换器11向从处理器13发送在线检测消息,以检测从处理器13是否正常连接。An online detection message is sent to the slave processor 13 through the PCIe switch 11 to detect whether the slave processor 13 is connected normally.

具体的,当确定一个从处理器连接失败时,可以根据预设的发送策略将发送至该从处理器的数据包通过PCIe交换器11发送至另一个从处理器;当确定该从处理器恢复连接时,将发送至另一个从处理器的数据包通过PCIe交换器11转发至该从处理器。当连接失败时,说明从处理器出现了故障(或者两个主处理器之间的链路故障),因此需要将数据转发到其他的从处理器以对数据进行处理。这里的“预设的发送策略”具体并不限定,例如,可以事先定义好某个从处理器用于处理其他从处理器(或链路)出故障时的数据,如果其他从处理器(或链路)出现故障,则主处理器将数据转给给这个专用的从处理器来处理;或者“预设的发送策略”也可以是预设的“根据各个从处理器负载情况进行发送”的策略(如将数据包发送到负载少的从处理器)。Specifically, when it is determined that a slave processor connection fails, the data packet sent to the slave processor can be sent to another slave processor through the PCIe switch 11 according to a preset sending policy; when it is determined that the slave processor recovers When connected, a data packet sent to another slave processor is forwarded to the slave processor through the PCIe switch 11 . When the connection fails, it means that the slave processor is faulty (or the link between the two master processors is faulty), so the data needs to be forwarded to other slave processors to process the data. The "preset sending strategy" here is not limited specifically. For example, a certain slave processor can be defined in advance to process data when other slave processors (or links) fail. If other slave processors (or links) If there is a failure, the master processor will transfer the data to the dedicated slave processor for processing; or the "preset sending strategy" can also be the preset strategy of "sending according to the load of each slave processor" (like sending packets to slave processors with less load).

例如,主处理器12与各从处理器13之间具有心跳检测机制,主处理器12将定时向各从处理器13发送信条检测报文以检测从处理器13是否正常连接。当一个从处理器的心跳丢失,主处理器12将该从处理器上的业务迁移到另一个从处理器或其他备用的从处理器上。For example, there is a heartbeat detection mechanism between the master processor 12 and each slave processor 13, and the master processor 12 will periodically send creed detection messages to each slave processor 13 to detect whether the slave processors 13 are connected normally. When the heartbeat of a slave processor is lost, the master processor 12 migrates the service of the slave processor to another slave processor or other standby slave processors.

本发明实施例提供的主处理器12,可以应用于上述服务器单板,如图2a所示,主处理器12包括:The main processor 12 provided by the embodiment of the present invention can be applied to the above-mentioned server single board. As shown in FIG. 2a, the main processor 12 includes:

第一接收模块21,用于通过网口接收其他单板发送的第一以太网数据包。The first receiving module 21 is configured to receive the first Ethernet data packet sent by other boards through the network port.

第一转换模块22,用于将第一接收模块21接收到的第一以太网数据包转成第一PCIe数据包。The first converting module 22 is configured to convert the first Ethernet data packet received by the first receiving module 21 into a first PCIe data packet.

第一发送模块23,用于通过PCIe交换器将第一转换模块22转换得到的第一PCIe数据包转发给与该PCIe交换器相连的从处理器。The first sending module 23 is configured to forward the first PCIe data packet converted by the first converting module 22 to a slave processor connected to the PCIe switch through the PCIe switch.

第二接收模块24,用于通过PCIe交换器接收从处理器发送的第二PCIe数据包。The second receiving module 24 is configured to receive the second PCIe data packet sent from the processor through the PCIe switch.

第二转换模块25,用于将第二接收模块24接收到的第二PCIe数据包转成第二以太网数据包。The second converting module 25 is configured to convert the second PCIe data packet received by the second receiving module 24 into a second Ethernet data packet.

第二发送模块26,用于通过网口向其他单板转发第二转换模块25转换得到的第二以太网数据包。The second sending module 26 is configured to forward the second Ethernet data packet converted by the second converting module 25 to other boards through the network port.

本发明实施例提供的主处理器,应用于服务器单板,该服务器单板应用于服务器系统,该服务器系统还包括与该服务器单板连接的至少一个其他单板,该服务器单板具体包括PCIe交换器,主处理器以及多个从处理器,其中,PCIe交换器包括一个上行端口以及多个下行端口;主处理器与该PCIe的上行端口相连,多个从处理器分别与该PCIe交换器的下行端口相连。采用这样一种结构的服务器单板,主处理器可以通过网口与其他单板进行数据的收发,该主处理器又通过PCIe交换器与各个从处理器相连接,因此,从处理器数据的收发以及各个从处理器之间数据的交换均可以通过主处理器完成。这样一来,无需采用多级树形结构就可以实现全处理器之间的互连,从而避免了数据在多级处理器之间转发,降低了服务器单板的延时,提高了网络服务的质量。The main processor provided by the embodiment of the present invention is applied to a server single board, and the server single board is applied to a server system, and the server system also includes at least one other single board connected to the server single board, and the server single board specifically includes a PCIe A switch, a main processor and a plurality of slave processors, wherein the PCIe switch includes an uplink port and a plurality of downlink ports; the main processor is connected to the uplink port of the PCIe, and a plurality of slave processors are respectively connected to the PCIe switch connected to the downstream port. Using such a structure of the server board, the main processor can send and receive data with other boards through the network port, and the main processor is connected to each slave processor through the PCIe switch. Therefore, the slave processor data Both sending and receiving and data exchange between slave processors can be completed by the main processor. In this way, the interconnection between all processors can be realized without using a multi-level tree structure, thereby avoiding data forwarding between multi-level processors, reducing the delay of the server single board, and improving network service efficiency. quality.

其中,第一发送模块23,具体用于通过PCIe交换器的上行端口将第一PCIe数据包经由PCIe交换器发送给与该PCIe交换器的下行端口相连的从处理器。Wherein, the first sending module 23 is specifically configured to send the first PCIe data packet to the slave processor connected to the downlink port of the PCIe switch via the PCIe switch through the uplink port of the PCIe switch.

第二接收模块24,具体用于从PCIe交换器的上行端口接收从处理器从该PCIe交换器的下行端口发送的、经由该PCIe交换器到达PCIe交换器的上行端口的第二PCIe数据包。The second receiving module 24 is specifically configured to receive, from the uplink port of the PCIe switch, the second PCIe data packet sent from the processor from the downlink port of the PCIe switch and arriving at the uplink port of the PCIe switch via the PCIe switch.

进一步地,第二接收模块24还可以用于通过PCIe交换器接收其中一个从处理器发送的第三PCIe数据包;第一发送模块23还可以用于通过PCIe交换器将第二接收模块接收到的第三PCIe数据包转发给另一个从处理器。Further, the second receiving module 24 can also be used to receive one of the third PCIe packets sent from the processor through the PCIe switch; the first sending module 23 can also be used to receive the second receiving module through the PCIe switch. The third PCIe packet is forwarded to another slave processor.

这样一来,多个从处理器之间可以通过主处理器12控制PCIe交换器进行数据交换,从而避免了数据在多级处理器之间转发,降低了服务器单板的延时,提高了网络服务的质量。In this way, multiple slave processors can control the PCIe switch for data exchange through the main processor 12, thereby avoiding data forwarding between multi-level processors, reducing the delay of the server single board, and improving network performance. the quality of the service.

在本发明实施例中,第一转换模块22还可以用于:In the embodiment of the present invention, the first conversion module 22 can also be used for:

将第一以太网数据包整体封装到第一PCIe数据包的净荷中,或者提取第一以太网数据包中的净荷,将该第一以太网数据包中的净荷封装到第一PCIe数据包的净荷中;Encapsulating the first Ethernet data packet as a whole into the payload of the first PCIe data packet, or extracting the payload in the first Ethernet data packet, and encapsulating the payload in the first Ethernet data packet into the first PCIe data packet In the payload of the data packet;

相应的,第二转换模块25还可以用于:Correspondingly, the second conversion module 25 can also be used for:

若第二PCIe数据包的净荷包括完整的以太网数据包,直接提取该以太网数据包以得到第二以太网数据包,或者若第二PCIe数据包的净荷包括以太网数据包的净荷,提取该以太网数据包的净荷进行封装以得到第二以太网数据包。If the payload of the second PCIe packet includes a complete Ethernet packet, directly extract the Ethernet packet to obtain the second Ethernet packet, or if the payload of the second PCIe packet includes the net payload of the Ethernet packet The payload of the Ethernet data packet is extracted and encapsulated to obtain a second Ethernet data packet.

进一步地,如图2b所示,主处理器12还可以包括:Further, as shown in FIG. 2b, the main processor 12 may also include:

配置表生成模块27,用于生成路径配置表,该路径配置表包括从处理器标识以及与该从处理器标识对应的路由信息。The configuration table generating module 27 is configured to generate a path configuration table, where the path configuration table includes a slave processor identifier and routing information corresponding to the slave processor identifier.

第一转换模块22还可以包括:The first conversion module 22 may also include:

净荷处理模块221,用于将第一以太网数据包整体封装到第一PCIe数据包的净荷中或者用于提取第一以太网数据包中的净荷,将第一以太网数据包中的净荷封装到第一PCIe数据包的净荷中。The payload processing module 221 is used for encapsulating the first Ethernet data packet as a whole in the payload of the first PCIe data packet or for extracting the payload in the first Ethernet data packet, and encapsulating the first Ethernet data packet into the payload of the first Ethernet data packet The payload of is encapsulated into the payload of the first PCIe data packet.

头部处理模块222,用于根据该路径配置表及从处理器的从处理器标识获取与该从处理器对应的第一路由信息,将该第一路由信息添加到第一PCIe数据包的头部,使得PCIe交换器收到后第一发送模块23发送的第一PCIe数据包后,根据该第一PCIe数据包头部中的第一路由信息将该第一PCIe数据包转发给从处理器。The header processing module 222 is used to obtain the first routing information corresponding to the slave processor according to the path configuration table and the slave processor identification of the processor, and add the first routing information to the header of the first PCIe data packet After receiving the first PCIe data packet sent by the first sending module 23, the PCIe switch forwards the first PCIe data packet to the slave processor according to the first routing information in the header of the first PCIe data packet.

需要说明的是,在本发明实施例中,路由信息具体可以包括BDF(Bus(总线)、Device(设备)、Function(功能)号的统称)信息或者BAR(Base Address Register,基地址寄存器)空间地址。It should be noted that, in the embodiment of the present invention, the routing information may specifically include BDF (collectively referred to as Bus (bus), Device (device), and Function (function) numbers) information or BAR (Base Address Register, base address register) space address.

如图2b所示,主处理器12还可以包括:As shown in Figure 2b, the main processor 12 may also include:

第三接收模块28,用于接收从处理器通过PCIe交换器发送的加载请求,根据该加载请求读取操作系统和应用程序镜像文件。The third receiving module 28 is configured to receive a loading request sent from the processor through the PCIe switch, and read the operating system and application program image files according to the loading request.

第三发送模块29,用于将读取到的操作系统镜像文件通过PCIe交换器发送至从处理器,使得该从处理器根据该操作系统镜像文件启动操作系统。The third sending module 29 is configured to send the read operating system image file to the slave processor through the PCIe switch, so that the slave processor starts the operating system according to the operating system image file.

这样一来,可以预先将操作系统和应用程序的镜像文件存储在主处理器12的存储介质中,当从处理器需要加载时,只需要将该镜像文件从主处理器12的存储介质中取出发送至从处理器即可,从而可以使得各个从处理器无需自备操作系统和应用程序,节省了从处理器的内存,提高了从处理器的处理效率。In this way, the image files of the operating system and application programs can be stored in the storage medium of the main processor 12 in advance, and when the slave processor needs to be loaded, only the image file needs to be taken out from the storage medium of the main processor 12. It only needs to be sent to the slave processors, so that each slave processor does not need to prepare its own operating system and application program, saves the memory of the slave processors, and improves the processing efficiency of the slave processors.

进一步地,主处理器12还可以包括:Further, the main processor 12 may also include:

检测模块20,用于通过PCIe交换器向从处理器发送在线检测消息,以检测该从处理器是否正常连接;The detection module 20 is used to send an online detection message to the slave processor through the PCIe switch, to detect whether the slave processor is normally connected;

当检测模块20确定一个从处理器连接失败时,第一发送模块23还可以用于:When the detection module 20 determines that a slave processor connection fails, the first sending module 23 can also be used for:

根据预设的发送策略将发送至从处理器的数据包通过PCIe交换器发送至另一从处理器;当确定一个从处理器恢复连接时,将发送至另一个从处理器的数据包通过PCIe交换器转发至该一个从处理器。当连接失败时,说明从处理器出现了故障(或者两个主处理器之间的链路故障),因此需要将数据转发到其他的从处理器以对数据进行处理。这里的“预设的发送策略”具体并不限定,例如,可以事先定义好某个从处理器用于处理其他从处理器(或链路)出故障时的数据,如果其他从处理器(或链路)出现故障,则主处理器将数据转给给这个专用的从处理器来处理;或者“预设的发送策略”也可以是预设的“根据各个从处理器负载情况进行发送”的策略(如将数据包发送到负载少的从处理器)。According to the preset sending policy, the data packet sent to the slave processor is sent to another slave processor through the PCIe switch; when it is determined that a slave processor resumes the connection, the data packet sent to another slave processor is sent through PCIe The switch forwards to the one slave processor. When the connection fails, it means that the slave processor is faulty (or the link between the two master processors is faulty), so the data needs to be forwarded to other slave processors to process the data. The "preset sending strategy" here is not limited specifically. For example, a certain slave processor can be defined in advance to process data when other slave processors (or links) fail. If other slave processors (or links) If there is a failure, the master processor will transfer the data to the dedicated slave processor for processing; or the "preset sending strategy" can also be the preset strategy of "sending according to the load of each slave processor" (like sending packets to slave processors with less load).

例如,主处理器12与各从处理器之间具有心跳检测机制,主处理器12将定时向各从处理器发送信条检测报文以检测从处理器是否正常连接。当一个从处理器的心跳丢失,主处理器12将该从处理器上的业务迁移到另一个从处理器或其他备用的从处理器上。For example, there is a heartbeat detection mechanism between the master processor 12 and each slave processor, and the master processor 12 will periodically send creed detection messages to each slave processor to detect whether the slave processors are connected normally. When the heartbeat of a slave processor is lost, the master processor 12 migrates the service of the slave processor to another slave processor or other standby slave processors.

需要说明的是,在本发明实施例中,主处理器12还可以包括内存单元和存储介质,主处理器12和从处理器13的结构可以相同。其中,内存单元具体可以包括DRAM(dynamic random access memory,动态随机存取存储器)或SRAM(static random access memory,静态随机存取存储器);存储介质具体可以包括Flash(闪存)、SATA(serial advanced technology attachment,串行高级技术附件)、SAS(Serial Attached SCSI,串行连接接口)硬盘或SSD(solid state disk,固态硬盘),该存储介质可以用于存储操作系统和应用程序的镜像文件。It should be noted that, in the embodiment of the present invention, the master processor 12 may further include a memory unit and a storage medium, and the structures of the master processor 12 and the slave processor 13 may be the same. Wherein, the memory unit may specifically include DRAM (dynamic random access memory, dynamic random access memory) or SRAM (static random access memory, static random access memory); the storage medium may specifically include Flash (flash memory), SATA (serial advanced technology attachment, serial advanced technology attachment), SAS (Serial Attached SCSI, serial connection interface) hard disk or SSD (solid state disk, solid state disk), this storage medium can be used to store image files of operating systems and applications.

图3为本发明实施例提供的一种低功耗的服务器单板1的连接结构示意图。服务器单板1包括服务器底板31,该服务器底板31具体是由电源311、单板管理控制器312和散热装置(图中未示出)所组成。一主处理器12和六个从处理器13之间通过PCIe交换器11相互连接,在本发明实施例中,主处理器12和从处理器13均采用结构相同的多功能子卡,该多功能子卡主要包括ARM处理器、内存单元和存储介质。FIG. 3 is a schematic diagram of a connection structure of a server board 1 with low power consumption provided by an embodiment of the present invention. The server single board 1 includes a server bottom board 31, and the server bottom board 31 is specifically composed of a power supply 311, a single board management controller 312 and a cooling device (not shown in the figure). A main processor 12 and six slave processors 13 are connected to each other through a PCIe switch 11. In the embodiment of the present invention, the main processor 12 and the slave processors 13 all use multifunctional daughter cards with the same structure. The function daughter card mainly includes ARM processor, memory unit and storage medium.

其中,服务器底板31上具有多个插槽,作为主处理器12和从处理器13的多功能子卡就是插在这些插槽中。插槽又分为主插槽和从插槽,主插槽的插槽地址和从插槽的插槽地址是不同的。当各多功能子卡插到插槽中通电启动后,插到主插槽的多功能子卡上的ARM处理器通过识别插槽地址就自动地将自身配置为主处理器,插到从插槽的多功能子卡上的ARM处理器通过识别插槽地址就自动地将自身配置为从处理器。Wherein, the server chassis 31 has a plurality of slots, and the multi-function daughter cards as the master processor 12 and the slave processor 13 are inserted into these slots. The slots are further divided into master slots and slave slots, and the slot address of the master slot and the slot address of the slave slot are different. When each multi-function sub-card is inserted into the slot and powered on, the ARM processor inserted into the multi-function sub-card of the main slot automatically configures itself as the main processor by identifying the address of the slot, and inserts itself into the slave slot. The ARM processor on the slot's multifunction daughter card automatically configures itself as a slave processor by recognizing the slot address.

主处理器12的ARM处理器连接到PCIe交换器11的RC(rootcomplex,根组件)接口,从处理器13的ARM处理器连接到PCIe交换器11的EP(end point,终端设备)接口。The ARM processor of the main processor 12 is connected to the RC (rootcomplex, root component) interface of the PCIe switch 11, and the EP (end point, terminal equipment) interface of the PCIe switch 11 is connected to the ARM processor of the slave processor 13.

在本发明实施例中,主处理器12包括处理单元、内存和存储介质,其中,处理单元可以包括接收模块、转换模块、发送模块、初始化模块、查表模块、掉电保护模块、XOR异或加速模块和安全加密模块。In the embodiment of the present invention, the main processor 12 includes a processing unit, a memory, and a storage medium, wherein the processing unit may include a receiving module, a conversion module, a sending module, an initialization module, a table look-up module, a power-down protection module, an XOR exclusive-or Acceleration module and security encryption module.

主处理器12连接服务器单板1的网口14,该主处理器12是从处理器13的业务分发点和业务汇聚点,作为主处理器12的多功能子卡是一个智能网卡。该智能网卡主要负责PCIe数据报文的收发、以太网报文的收发;PCIe数据报文的地址(包括地址路由、ID路由、隐式路由等)解析,并根据该地址查询路径配置表;以太网报文及上层报文的解析,并根据以太网及上层报文的特征查询路径配置表;PCIe数据报文与以太网报文之间的格式转换。除上述功能以外,主处理器12还可以完成PCIe交换器11的初始化、对从处理器13进行扫描、对PCIe交换器11进行管理等等。The main processor 12 is connected to the network port 14 of the server board 1. The main processor 12 is the service distribution point and the service convergence point of the slave processor 13, and the multi-function sub-card as the main processor 12 is an intelligent network card. The smart network card is mainly responsible for the sending and receiving of PCIe data messages and the sending and receiving of Ethernet messages; the address (including address routing, ID routing, implicit routing, etc.) Analysis of network packets and upper-layer packets, and query path configuration table according to the characteristics of Ethernet and upper-layer packets; format conversion between PCIe data packets and Ethernet packets. In addition to the above functions, the master processor 12 can also complete the initialization of the PCIe switch 11, scan the slave processor 13, manage the PCIe switch 11, and so on.

当该服务器单板通电启动后,主处理器12和从处理器13各自进行初始化,当主处理器12完成PCIe交换器11的初始化后,系统即进入加载阶段。从处理器13通过PCIe交换器11,向主处理器42请求加载操作系统和应用程序。主处理器12收到从处理器13的请求后,从下挂的存储介质(如:Flash、SATA、SAS硬盘、SSD硬盘等)中读取相关操作系统和应用程序,通过PCIe交换器11发送给从处理器13。After the server board is powered on and started, the main processor 12 and the slave processor 13 are initialized respectively. After the main processor 12 completes the initialization of the PCIe switch 11, the system enters the loading stage. The slave processor 13 requests the host processor 42 to load the operating system and the application program through the PCIe switch 11 . After the main processor 12 receives the request from the processor 13, it reads the relevant operating system and application program from the storage medium (such as: Flash, SATA, SAS hard disk, SSD hard disk, etc.) to slave processor 13.

主处理器12完成PCIe交换器11的初始化和从处理器13的扫描后生成路径配置表,并将该表下发到各从处理器13。从处理器13可以根据该路径配置表,通过PCIe交换器11与主处理器12通信,也可以和该服务器单板上的其它从处理器13进行通信。After completing the initialization of the PCIe switch 11 and the scanning of the slave processors 13 , the master processor 12 generates a path configuration table, and sends the table to each slave processor 13 . The slave processor 13 can communicate with the master processor 12 through the PCIe switch 11 according to the path configuration table, and can also communicate with other slave processors 13 on the server board.

在本发明实施例中,每个从处理器13上运行的应用程序可以是动态部署的,用户可针对不同的应用,通过主处理器12对各从处理器13的工作模式进行配置。从处理器13之间是集群关系,各从处理器13上运行各自的操作系统和应用程序。主处理器12上也运行自己的操作系统和应用程序。比如:第一个从处理器131运行的是计算功能,第二个从处理器132运行的是存储功能,这两个从处理器可以相互配合完成一个特定的业务功能。当负责计算的从处理器131需要向负责存储的从处理器132取数据时,可以直接通过PCIe交换器11完成数据交换,即本地完成数据交换,这样既可以降低延时又对外部网络的带宽没有影响。In the embodiment of the present invention, the application program running on each slave processor 13 can be dynamically deployed, and the user can configure the working mode of each slave processor 13 through the master processor 12 for different applications. The slave processors 13 are in a cluster relationship, and each slave processor 13 runs its own operating system and application program. The main processor 12 also runs its own operating system and application programs. For example, the first slave processor 131 runs a calculation function, and the second slave processor 132 runs a storage function. These two slave processors can cooperate with each other to complete a specific service function. When the slave processor 131 in charge of calculation needs to get data from the slave processor 132 in charge of storage, the data exchange can be completed directly through the PCIe switch 11, that is, the data exchange is completed locally, which can reduce the delay and increase the bandwidth of the external network. No effect.

进一步地,主处理器12还可以用于:Further, the main processor 12 can also be used for:

通过PCIe交换器11向从处理器13发送在线检测消息,以检测从处理器13是否正常连接。An online detection message is sent to the slave processor 13 through the PCIe switch 11 to detect whether the slave processor 13 is connected normally.

具体的,如图3所示,当确定第一从处理器131连接失败时,将发送至该第一从处理器131的数据包通过PCIe交换器11发送至第二从处理器132。Specifically, as shown in FIG. 3 , when it is determined that the first slave processor 131 fails to connect, the data packet sent to the first slave processor 131 is sent to the second slave processor 132 through the PCIe switch 11 .

例如,主处理器12与各从处理器13之间具有心跳检测机制,主处理器12将定时向各从处理器13发送信条检测报文以检测从处理器13是否正常连接。当第一从处理器131的心跳丢失,主处理器12将第一从处理器131上的业务迁移到第二从处理器132或其他备用的从处理器上。For example, there is a heartbeat detection mechanism between the master processor 12 and each slave processor 13, and the master processor 12 will periodically send creed detection messages to each slave processor 13 to detect whether the slave processors 13 are connected normally. When the heartbeat of the first slave processor 131 is lost, the master processor 12 migrates the services on the first slave processor 131 to the second slave processor 132 or other standby slave processors.

需要说明的是,在本发明实施例中,主处理器与从处理器之间,从处理器与从处理器之间,均可以通过Linux内核态下自定义的以太网报文收发接口进行通信。在具体的物理形态上,本发明实施例提供的服务器单板可以是机架式的服务器,也可以是刀片式的服务器。It should be noted that, in the embodiment of the present invention, between the main processor and the slave processor, and between the slave processor and the slave processor, all can communicate through the Ethernet message sending and receiving interface customized under the Linux kernel state . In a specific physical form, the server single board provided by the embodiment of the present invention may be a rack-type server or a blade-type server.

这样一种结构的服务器单板,无需采用多级树形结构就可以实现全处理器之间的互连,从而避免了数据在多级处理器之间转发,降低了服务器单板的延时,提高了网络服务质量。The server board with such a structure can realize the interconnection between all processors without adopting a multi-level tree structure, thereby avoiding data forwarding between multi-level processors and reducing the delay of the server board. Improved network service quality.

本发明实施例提供的服务器单板实现方法,如图4所示,该服务器单板可以应用于服务器系统,该服务器系统还包括与该服务器单板连接的至少一个其他单板,该方法包括:The server single board implementation method provided by the embodiment of the present invention, as shown in FIG. 4, the server single board can be applied to a server system, and the server system also includes at least one other single board connected to the server single board. The method includes:

S401、主处理器通过网口接收其他单板发送的第一以太网数据包。S401. The main processor receives the first Ethernet data packet sent by other boards through the network port.

需要说明的是,在本发明实施例中,主处理器和从处理器的结构可以相同。It should be noted that, in the embodiment of the present invention, the structure of the master processor and the slave processor may be the same.

具体的,主处理器可以通过第一接收模块21从网口接收其他单板发送的第一以太网数据包。Specifically, the main processor may receive the first Ethernet data packet sent by other boards from the network port through the first receiving module 21 .

S402、主处理器将该第一以太网数据包转成第一PCIe数据包。S402. The main processor converts the first Ethernet data packet into a first PCIe data packet.

具体的,主处理器可以通过第一转换模块22将该第一以太网数据包转成第一PCIe数据包。例如,主处理器可以将该第一以太网数据包整体封装到第一PCIe数据包的净荷中,采用这样一种整体封装的方式可以高效快速地实现数据包格式的转换;或者,主处理器还可以提取该第一以太网数据包中的净荷,并将该第一以太网数据包中的净荷封装到第一PCIe数据包的净荷中,这样一来,封装的PCIe数据包中不包含包括以太网数据包的包头等在内的非关键数据,大大减小了PCIe数据包的容量,提高了PCIe数据包的封装效率。Specifically, the main processor can convert the first Ethernet data packet into the first PCIe data packet through the first conversion module 22 . For example, the main processor can encapsulate the first Ethernet data packet into the payload of the first PCIe data packet, and the conversion of the data packet format can be realized efficiently and quickly by adopting such an overall encapsulation method; or, the main processor The device can also extract the payload in the first Ethernet data packet, and encapsulate the payload in the first Ethernet data packet into the payload of the first PCIe data packet, so that the encapsulated PCIe data packet Non-critical data including the header of the Ethernet data packet is not included in the data packet, which greatly reduces the capacity of the PCIe data packet and improves the encapsulation efficiency of the PCIe data packet.

S403、主处理器通过PCIe交换器的上行端口将该第一PCIe数据包转发给PCIe交换器,使得该PCIe交换器将该第一PCIe数据包转发给与下行端口相连的从处理器。S403. The main processor forwards the first PCIe data packet to the PCIe switch through the uplink port of the PCIe switch, so that the PCIe switch forwards the first PCIe data packet to the slave processor connected to the downlink port.

具体的,主处理器可以通过第一发送模块23将该第一PCIe数据包转发给一个或多个从处理器。Specifically, the master processor may forward the first PCIe data packet to one or more slave processors through the first sending module 23 .

S404、主处理器通过PCIe交换器接收从处理器发送的第二PCIe数据包。S404. The master processor receives the second PCIe data packet sent from the slave processor through the PCIe switch.

S405、主处理器将该第二PCIe数据包转成第二以太网数据包。S405. The main processor converts the second PCIe data packet into a second Ethernet data packet.

相应的,若该第二PCIe数据包的净荷包括完整的以太网数据包,主处理器可以直接提取该以太网数据包以得到第二以太网数据包;或者,若该第二PCIe数据包的净荷包括以太网数据包的净荷,主处理器可以提取该以太网数据包的净荷进行封装以得到第二以太网数据包。Correspondingly, if the payload of the second PCIe data packet includes a complete Ethernet data packet, the main processor can directly extract the Ethernet data packet to obtain the second Ethernet data packet; or, if the second PCIe data packet The payload includes the payload of the Ethernet data packet, and the main processor can extract the payload of the Ethernet data packet and encapsulate it to obtain the second Ethernet data packet.

S406、主处理器通过网口向其他单板转发该第二以太网数据包。S406. The main processor forwards the second Ethernet data packet to other boards through the network port.

在本发明实施例中,处理器可以包括x86处理器或ARM处理器。其中,x86处理器具体是指基于x86的低功耗的处理器。在实际应用中,由于基于ARM架构的处理器具有低成本、低功耗等特点,通过将多个较低性能的ARM处理器进行集群可以获得较高性能的服务器,在保证了服务器性能的同时大大降低了生产成本,降低了服务器的功耗。In this embodiment of the present invention, the processor may include an x86 processor or an ARM processor. Wherein, the x86 processor specifically refers to an x86-based low-power processor. In practical applications, due to the low cost and low power consumption of processors based on the ARM architecture, a server with higher performance can be obtained by clustering multiple lower-performance ARM processors, while ensuring server performance. The production cost is greatly reduced, and the power consumption of the server is reduced.

本发明实施例提供的服务器单板实现方法,该服务器单板应用于服务器系统,该服务器系统还包括与该服务器单板连接的至少一个其他单板,该服务器单板具体包括PCIe交换器,主处理器以及多个从处理器,其中,PCIe交换器包括一个上行端口以及多个下行端口;主处理器与该PCIe的上行端口相连,多个从处理器分别与该PCIe交换器的下行端口相连。采用这样一种结构的服务器单板,主处理器可以通过网口与其他单板进行数据的收发,该主处理器又通过PCIe交换器与各个从处理器相连接,因此,从处理器数据的收发以及各个从处理器之间数据的交换均可以通过主处理器完成。这样一来,无需采用多级树形结构就可以实现全处理器之间的互连,从而避免了数据在多级处理器之间转发,降低了服务器单板的延时,提高了网络服务的质量。The embodiment of the present invention provides a method for implementing a server single board. The server single board is applied to a server system, and the server system further includes at least one other single board connected to the server single board. The server single board specifically includes a PCIe switch, and the main A processor and a plurality of slave processors, wherein the PCIe switch includes an uplink port and a plurality of downlink ports; the main processor is connected to the uplink port of the PCIe, and a plurality of slave processors are respectively connected to the downlink ports of the PCIe switch . Using such a structure of the server board, the main processor can send and receive data with other boards through the network port, and the main processor is connected to each slave processor through the PCIe switch. Therefore, the slave processor data Both sending and receiving and data exchange between slave processors can be completed by the main processor. In this way, the interconnection between all processors can be realized without using a multi-level tree structure, thereby avoiding data forwarding between multi-level processors, reducing the delay of the server single board, and improving network service efficiency. quality.

进一步地,如图5所示,本发明实施例提供的服务器单板实现方法包括:Further, as shown in FIG. 5, the method for implementing a server single board provided by the embodiment of the present invention includes:

S501、主处理器初始化PCIe交换器,使得该PCIe交换器能够正常工作。S501. The main processor initializes the PCIe switch, so that the PCIe switch can work normally.

具体的,在PCIe交换器初始化的过程中,主处理器可以为与该PCIe交换器相连的各个从处理器分配路由信息。Specifically, during the initialization process of the PCIe switch, the master processor may distribute routing information to each slave processor connected to the PCIe switch.

S502、主处理器生成路径配置表,该路径配置表包括从处理器标识以及与该从处理器标识对应的路由信息,其中,与该从处理器标识对应的路由信息与为该处理器标识所指示的从处理器分配的路由信息相同。S502. The master processor generates a path configuration table, the path configuration table includes a slave processor identifier and routing information corresponding to the slave processor identifier, wherein the routing information corresponding to the slave processor identifier is the same as that specified for the processor identifier The routing information assigned by the indicated slave processor is the same.

S503、主处理器通过网口接收其他单板发送的第一以太网数据包。S503. The main processor receives the first Ethernet data packet sent by other boards through the network port.

S504、主处理器将该第一以太网数据包转成第一PCIe数据包。S504. The main processor converts the first Ethernet data packet into a first PCIe data packet.

具体的,主处理器可以将该第一以太网数据包整体封装到第一PCIe数据包的净荷中或者主处理器可以提取该第一以太网数据包中的净荷,将该第一以太网数据包中的净荷封装到第一PCIe数据包的净荷中;根据该路径配置表及从处理器的从处理器标识获取与该从处理器对应的第一路由信息,将该第一路由信息添加到第一PCIe数据包的头部。Specifically, the main processor can encapsulate the first Ethernet data packet as a whole into the payload of the first PCIe data packet or the main processor can extract the payload in the first Ethernet data packet, and the first Ethernet data packet The payload in the network packet is encapsulated into the payload of the first PCIe packet; according to the path configuration table and the slave processor identification of the slave processor, the first routing information corresponding to the slave processor is obtained, and the first Routing information is added to the header of the first PCIe data packet.

S505、主处理器通过PCIe交换器的上行端口将该第一PCIe数据包转发给PCIe交换器,使得该PCIe交换器根据第一PCIe数据包头部中的第一路由信息将第一PCIe数据包转发给与下行端口相连的从处理器。S505, the main processor forwards the first PCIe data packet to the PCIe switch through the uplink port of the PCIe switch, so that the PCIe switch forwards the first PCIe data packet according to the first routing information in the header of the first PCIe data packet For slave processors connected to downstream ports.

具体的,主处理器可以通过查表模块25查询路径配置表,根据该路径配置表获得一个或多个所述从处理器的路由信息。Specifically, the master processor can query the path configuration table through the table look-up module 25, and obtain routing information of one or more slave processors according to the path configuration table.

例如,路径配置表中记录有每一个从处理器的身份信息,该身份信息可以是从处理器所处的总线ID或者是该从处理器的MAC(Medium Access Control,介质访问控制层)地址,每一个从处理器的身份信息均对应一个预设的路由信息,主处理器在通过PCIe交换器转发第一PCIe数据包之前,可以通过第一PCIe数据包记录的路由信息查找路径配置表,根据该路径配置表获得一个或多个从处理器的路由信息,通过PCIe交换器将第一PCIe数据包转发给一个或多个从处理器。For example, the identity information of each slave processor is recorded in the path configuration table, and the identity information can be the bus ID where the processor resides or the MAC (Medium Access Control, medium access control layer) address of the slave processor, The identity information of each slave processor corresponds to a preset routing information. Before the main processor forwards the first PCIe data packet through the PCIe switch, it can search the path configuration table through the routing information recorded in the first PCIe data packet. The path configuration table obtains routing information of one or more slave processors, and forwards the first PCIe data packet to one or more slave processors through the PCIe switch.

当然,多个从处理器之间同样可以根据该路径配置表进行数据的交换。例如,在主处理器完成PCIe交换器的初始化和从处理器的扫描后生成路径配置表,并将该路径配置表下发到各个从处理器,当第一从处理器需要向第二从处理器转发数据时,可以将该数据包发送至PCIe交换器,该转发的数据包中添加有该第二从处理器的身份信息,PCIe交换器可以查询路径配置表,从而根据第二从处理器的身份信息确定该第二从处理器的路由信息以便完成数据的转发。Of course, multiple slave processors can also exchange data according to the path configuration table. For example, after the master processor completes the initialization of the PCIe switch and the scan of the slave processors, it generates a path configuration table and sends the path configuration table to each slave processor. When the switch forwards data, the data packet can be sent to the PCIe switch, and the identity information of the second slave processor is added in the forwarded data packet, and the PCIe switch can query the path configuration table, thereby according to the second slave processor The identity information of the second slave processor is used to determine the routing information of the second slave processor so as to complete the data forwarding.

S506、主处理器通过PCIe交换器接收从处理器发送加载请求。S506. The master processor receives the loading request sent by the slave processor through the PCIe switch.

S507、主处理器根据该加载请求读取操作系统和应用程序镜像文件。S507. The main processor reads the image file of the operating system and the application program according to the loading request.

具体的,当主处理器接收到加载请求之后,主处理器将从存储介质中读取操作系统和应用程序镜像文件。存储介质具体可以包括Flash(闪存)、SATA(serial advanced technology attachment,串行高级技术附件)、SAS(Serial Attached SCSI,串行连接接口)硬盘或SSD(solid state disk,固态硬盘),该存储介质可以用于存储操作系统和应用程序的镜像文件Specifically, after the main processor receives the loading request, the main processor will read the image file of the operating system and the application program from the storage medium. Specifically, the storage medium may include Flash (flash memory), SATA (serial advanced technology attachment, serial advanced technology attachment), SAS (Serial Attached SCSI, serial connection interface) hard disk or SSD (solid state disk, solid state drive). Image files that can be used to store operating systems and applications

S508、主处理器将读取到的操作系统镜像文件通过PCIe交换器发送至从处理器,使得该从处理器根据操作系统镜像文件启动操作系统。S508. The main processor sends the read operating system image file to the slave processor through the PCIe switch, so that the slave processor starts the operating system according to the operating system image file.

在本发明实施例中,每个从处理器上运行的应用程序可以是动态部署的,用户可针对不同的应用,通过主处理器对各从处理器的工作模式进行配置。从处理器之间是集群关系,各从处理器上运行各自的操作系统和应用程序。主处理器上也运行自己的操作系统和应用程序。比如:第一个从处理器运行的是计算功能,第二个从处理器运行的是存储功能,这两个从处理器可以相互配合完成一个特定的业务功能。当负责计算的从处理器需要向负责存储的从处理器取数据时,可以直接通过PCIe交换器完成数据交换,即本地完成数据交换,这样既可以降低延时又对外部网络的带宽没有影响。In the embodiment of the present invention, the application program running on each slave processor can be dynamically deployed, and the user can configure the working mode of each slave processor through the master processor for different applications. There is a cluster relationship between the slave processors, and each slave processor runs its own operating system and application program. The main processor also runs its own operating system and applications. For example: the first slave processor runs the computing function, and the second slave processor runs the storage function. These two slave processors can cooperate with each other to complete a specific business function. When the slave processor in charge of calculation needs to fetch data from the slave processor in charge of storage, the data exchange can be completed directly through the PCIe switch, that is, the data exchange is completed locally, which can reduce the delay and have no impact on the bandwidth of the external network.

这样一来,可以预先将操作系统和应用程序的镜像文件放置在主处理器的存储介质中,当从处理器需要加载时,只需要将该镜像文件从主处理器的存储介质中取出发送至从处理器即可,从而可以使得各个从处理器无需自备操作系统和应用程序,节省了从处理器的内存,提高了从处理器的处理效率。In this way, the image files of the operating system and application programs can be placed in the storage medium of the main processor in advance, and when the slave processor needs to be loaded, it is only necessary to take the image file out of the storage medium of the main processor and send it to Only the slave processors are required, so that each slave processor does not need to provide its own operating system and application program, which saves the memory of the slave processor and improves the processing efficiency of the slave processor.

S509、主处理器通过PCIe交换器向从处理器发送在线检测消息,以检测从处理器是否正常连接。S509. The master processor sends an online detection message to the slave processor through the PCIe switch, so as to detect whether the slave processor is connected normally.

S510、当确定一个从处理器连接失败时,主处理器根据预设的发送策略将发送至该从处理器的数据包通过PCIe交换器发送至另一个从处理器;当确定该从处理器恢复连接时,将发送至另一个从处理器的数据包通过所述PCIe交换器转发至所述从处理器。S510, when it is determined that a slave processor connection fails, the master processor sends the data packet sent to the slave processor to another slave processor through the PCIe switch according to the preset sending strategy; when it is determined that the slave processor recovers When connected, a data packet sent to another slave processor is forwarded to the slave processor through the PCIe switch.

当连接失败时,说明从处理器出现了故障(或者两个主处理器之间的链路故障),因此需要将数据转发到其他的从处理器以对数据进行处理。这里的“预设的发送策略”具体并不限定,例如,可以事先定义好某个从处理器用于处理其他从处理器(或链路)出故障时的数据,如果其他从处理器(或链路)出现故障,则主处理器将数据转给给这个专用的从处理器来处理;或者“预设的发送策略”也可以是预设的“根据各个从处理器负载情况进行发送”的策略(如将数据包发送到负载少的从处理器)。When the connection fails, it means that the slave processor is faulty (or the link between the two master processors is faulty), so the data needs to be forwarded to other slave processors to process the data. The "preset sending strategy" here is not limited specifically. For example, a certain slave processor can be defined in advance to process data when other slave processors (or links) fail. If other slave processors (or links) If there is a failure, the master processor will transfer the data to the dedicated slave processor for processing; or the "preset sending strategy" can also be the preset strategy of "sending according to the load of each slave processor" (like sending packets to slave processors with less load).

例如,主处理器与各从处理器之间具有心跳检测机制,主处理器将定时向各从处理器发送信条检测报文以检测从处理器是否正常连接。当第一从处理器的心跳丢失,主处理器将第一从处理器上的业务迁移到第二从处理器或其他备用的从处理器上。For example, there is a heartbeat detection mechanism between the master processor and each slave processor, and the master processor will regularly send creed detection messages to each slave processor to detect whether the slave processors are connected normally. When the heartbeat of the first slave processor is lost, the master processor migrates the business of the first slave processor to the second slave processor or other standby slave processors.

S511、主处理器通过PCIe交换器接收从处理器发送的第二PCIe数据包。S511. The master processor receives the second PCIe data packet sent by the slave processor through the PCIe switch.

S512、主处理器将该第二PCIe数据包转成第二以太网数据包。S512. The main processor converts the second PCIe data packet into a second Ethernet data packet.

S513、主处理器通过网口向其他单板转发该第二以太网数据包。S513. The main processor forwards the second Ethernet data packet to other boards through the network port.

S514、主处理器通过PCIe交换器接收其中一个从处理器发送的第三PCIe数据包,并通过PCIe交换器将该第三PCIe数据包转发给另一个从处理器。S514. The master processor receives the third PCIe data packet sent by one of the slave processors through the PCIe switch, and forwards the third PCIe data packet to another slave processor through the PCIe switch.

这样一种服务器单板实现方法,无需采用多级树形结构就可以实现全处理器之间的互连,从而避免了数据在多级处理器之间转发,降低了服务器单板的延时,提高了网络服务质量。Such a server single board implementation method can realize the interconnection between all processors without using a multi-level tree structure, thereby avoiding data forwarding between multi-level processors and reducing the delay of the server single board. Improved network service quality.

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps for realizing the above-mentioned method embodiments can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the It includes the steps of the above method embodiments; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk and other various media that can store program codes.

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。The above is only a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Anyone skilled in the art can easily think of changes or substitutions within the technical scope disclosed in the present invention. Should be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be determined by the protection scope of the claims.

Claims (20)

1. a server veneer is applied to server system, and described server system also comprises at least one other veneer that is connected with described server veneer, it is characterized in that, described server veneer comprises:
The PCIe interchanger, primary processor and a plurality of from processor, described PCIe interchanger comprises a uplink port and a plurality of downlink port;
Described primary processor links to each other with the uplink port of described PCIe interchanger, described a plurality ofly link to each other with the downlink port of described PCIe interchanger respectively from processor;
Described primary processor is used for receiving the first Ethernet data bag that described other veneers send by network interface, described the first Ethernet data bag is changed into a PCIe packet, described uplink port by described PCIe interchanger is given described PCIe interchanger with a described PCIe package forward, so that described PCIe interchanger is given link to each other with described downlink port described from processor with a described PCIe package forward;
Described primary processor also is used for receiving described the 2nd PCIe packet that sends from processor by described PCIe interchanger, described the 2nd PCIe packet is changed into the second Ethernet data bag, transmit described the second Ethernet data bag by described network interface to described other veneers.
2. server veneer according to claim 1 is characterized in that:
Described primary processor also is used for, and receives one of them described the 3rd PCIe packet that sends from processor by described PCIe interchanger, and gives another described from processor described the 3rd PCIe package forward by described PCIe interchanger.
3. arbitrary described server veneer according to claim 1 and 2 is characterized in that, described primary processor is used for that described the 2nd PCIe packet is changed into the second Ethernet data bag and is specially:
If the payload of described the 2nd PCIe packet comprises complete Ethernet data bag, described primary processor is used for directly extracting described Ethernet data bag to obtain the second Ethernet data bag; Or,
If the payload of described the 2nd PCIe packet comprises the payload of Ethernet data bag, described primary processor encapsulates to obtain the second Ethernet data bag for the payload that extracts described Ethernet data bag.
4. arbitrary described server veneer is characterized in that according to claim 1-3, and described primary processor also is used for, generation pass allocation list, described path configuration table comprise from processor flag and with described from routing iinformation corresponding to processor flag;
Described primary processor is used for described the first Ethernet data bag is changed into a PCIe packet, described uplink port by described PCIe interchanger is given described PCIe interchanger with a described PCIe package forward, so that described PCIe interchanger from processor specifically is to link to each other with described downlink port described a described PCIe package forward:
Described primary processor is used for:
With in the payload of described the first Ethernet data bag overall package to the PCIe packet or described primary processor be used for extracting the payload of described the first Ethernet data bag, the payload in described the first Ethernet data bag is encapsulated in the payload of a PCIe packet; According to described path configuration table and described from the obtaining with described from the first routing iinformation corresponding to processor from processor flag of processor, described the first routing iinformation is added to the head of a described PCIe packet; Uplink port by described PCIe interchanger is given described PCIe interchanger with a described PCIe package forward, so that described PCIe interchanger is given link to each other with described downlink port described from processor according to described the first routing iinformation in the described PCIe packet head with a described PCIe package forward.
5. arbitrary described server veneer is characterized in that according to claim 1-4, and described primary processor also is used for:
Receive described from processor transmission load request by described PCIe interchanger;
According to described load request read operation system and application program image file;
The described operating system image file that reads is sent to by described PCIe interchanger described from server so that describedly start the operating system according to described operating system image file from processor.
6. arbitrary described server veneer is characterized in that according to claim 1-5, and described primary processor also is used for:
Send online detect-message to described from processor by described PCIe interchanger, describedly whether normally connect from processor to detect;
When determining one during from the processor connection failure, will be sent to a described packet from processor according to default sending strategy and be sent to another from processor by described PCIe interchanger.
7. server veneer according to claim 6 is characterized in that, when determining described one when recovering to connect from processor, be sent to described another from the described packet of processor by described PCIe interchanger be forwarded to described one from processor.
8. server veneer implementation method, described server veneer is applied to server system, and described server system also comprises at least one other veneer that is connected with described server veneer, it is characterized in that, comprising:
Primary processor receives the first Ethernet data bag that described other veneers send by network interface;
Described primary processor changes into a PCIe packet with described the first Ethernet data bag;
Described primary processor is given described PCIe interchanger by the described uplink port of described PCIe interchanger with a described PCIe package forward, so that described PCIe interchanger is given link to each other with described downlink port described from processor with a described PCIe package forward;
Described primary processor receives described the 2nd PCIe packet that sends from processor by described PCIe interchanger;
Described primary processor changes into the second Ethernet data bag with described the 2nd PCIe packet;
Described primary processor is transmitted described the second Ethernet data bag by described network interface to described other veneers.
9. method according to claim 8 is characterized in that, described method also comprises:
Described primary processor receives one of them described the 3rd PCIe packet that sends from processor by described PCIe interchanger, and gives another described from processor described the 3rd PCIe package forward by described PCIe interchanger.
10. according to claim 8 or 9 arbitrary described methods, it is characterized in that, described primary processor changes into the second Ethernet data bag with described the 2nd PCIe packet and comprises:
If the payload of described the 2nd PCIe packet comprises complete Ethernet data bag, described primary processor directly extracts described Ethernet data bag to obtain the second Ethernet data bag; Or,
If the payload of described the 2nd PCIe packet comprises the payload of Ethernet data bag, the payload that described primary processor extracts described Ethernet data bag encapsulates to obtain the second Ethernet data bag.
11. arbitrary described method is characterized in that according to claim 8-10, described method also comprises:
Generation pass allocation list, described path configuration table comprise from processor flag and with described from routing iinformation corresponding to processor flag;
Described primary processor changes into a PCIe packet with described the first Ethernet data bag and comprises:
With in the payload of described the first Ethernet data bag overall package to the PCIe packet or described primary processor extract payload in described the first Ethernet data bag, the payload in described the first Ethernet data bag is encapsulated in the payload of a PCIe packet; According to described path configuration table and described from the obtaining with described from the first routing iinformation corresponding to processor from processor flag of processor, described the first routing iinformation is added to the head of a described PCIe packet;
Described primary processor is given described PCIe interchanger by the described uplink port of described PCIe interchanger with a described PCIe package forward, so that described PCIe interchanger comprises to link to each other with described downlink port described a described PCIe package forward from processor:
Uplink port by described PCIe interchanger is given described PCIe interchanger with a described PCIe package forward, so that described PCIe interchanger is given link to each other with described downlink port described from processor according to described the first routing iinformation in the described PCIe packet head with a described PCIe package forward.
12. arbitrary described method is characterized in that according to claim 8-11, described method also comprises:
Described primary processor receives described from processor transmission load request by described PCIe interchanger;
According to described load request read operation system and application program image file;
The described operating system image file that reads is sent to by described PCIe interchanger described from server so that describedly start the operating system according to described operating system image file from processor.
13. arbitrary described method is characterized in that according to claim 8-12, described method also comprises:
Whether described primary processor sends online detect-message to described from processor by described PCIe interchanger, describedly normally connect from processor to detect;
When determining one during from the processor connection failure, described primary processor will be sent to a described packet from processor according to default sending strategy and be sent to another from processor by described PCIe interchanger.
14. method according to claim 13 is characterized in that, when determining described one when recovering to connect from processor, be sent to described another from the described packet of processor by described PCIe interchanger be forwarded to described one from processor.
15. a primary processor is applied to the server veneer, it is characterized in that, described primary processor comprises:
The first receiver module is used for receiving the first Ethernet data bag that other veneers send by network interface;
The first modular converter, described the first Ethernet data bag that is used for described the first receiver module is received changes into a PCIe packet;
The first sending module, be used for the described PCIe package forward that will described the first modular converter be converted to by the PCIe interchanger to link to each other with described PCIe interchanger from processor;
The second receiver module is used for receiving described the 2nd PCIe packet that sends from processor by described PCIe interchanger;
The second modular converter, described the 2nd PCIe packet that is used for described the second receiver module is received changes into the second Ethernet data bag;
The second sending module is used for transmitting described the second Ethernet data bag that described the second modular converter is converted to by described network interface to described other veneers.
16. primary processor according to claim 15 is characterized in that:
Described the first sending module, concrete be used for by the PCIe interchanger uplink port with a described PCIe packet via the PCIe interchanger send to link to each other with the downlink port of described PCIe interchanger from processor;
Described the second receiver module, concrete being used for receives the 2nd that described downlink port from processor from described PCIe interchanger sends, arrive the uplink port of described PCIe interchanger via described PCIe interchanger PCIe packet from the uplink port of described PCIe interchanger.
17. arbitrary described primary processor is characterized in that according to claim 15-16,
Described the second receiver module also is used for receiving one of them described the 3rd PCIe packet that sends from processor by described PCIe interchanger;
Described the first sending module also is used for by described PCIe interchanger described the 3rd PCIe package forward that described the second receiver module receives is described from processor to another.
18. arbitrary described primary processor is characterized in that according to claim 15-17, described primary processor also comprises:
The allocation list generation module is used for the generation pass allocation list, described path configuration table comprise from processor flag and with described from routing iinformation corresponding to processor flag;
Described the first modular converter comprises:
The payload processing module, be used for the payload of described the first Ethernet data bag overall package to the PCIe packet or for the payload that extracts described the first Ethernet data bag the payload in described the first Ethernet data bag being encapsulated in the payload of a PCIe packet;
The head processing module, be used for according to described path configuration table and described obtaining with described from the first routing iinformation corresponding to processor from processor flag from processor, described the first routing iinformation is added to the head of a described PCIe packet, so that after described PCIe interchanger receives the described PCIe packet that rear described the first sending module sends, according to described the first routing iinformation in the described PCIe packet head will a described PCIe package forward to described from processor.
19. arbitrary described primary processor is characterized in that according to claim 15-18, also comprises:
The 3rd receiver module is used for receiving the described load request that sends by described PCIe interchanger from processor, according to described load request read operation system and application program image file;
The 3rd sending module, the described operating system image file that is used for reading is sent to described from processor by described PCIe interchanger, so that describedly start the operating system according to described operating system image file from processor.
20. arbitrary described primary processor is characterized in that according to claim 15-19, described primary processor also comprises:
Whether detection module is used for sending online detect-message to described from processor by described PCIe interchanger, describedly normally connect from processor to detect;
Determine one during from the processor connection failure when described detection module, described the first sending module also is used for:
To be sent to described packet from processor according to default sending strategy and be sent to another from processor by described PCIe interchanger; When determining described one when recovering to connect from processor, be sent to described another from the described packet of processor by described PCIe interchanger be forwarded to described one from processor.
CN2012105446005A 2012-12-14 2012-12-14 Server single-board, server single-board realization method and host processor Pending CN103036817A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012105446005A CN103036817A (en) 2012-12-14 2012-12-14 Server single-board, server single-board realization method and host processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012105446005A CN103036817A (en) 2012-12-14 2012-12-14 Server single-board, server single-board realization method and host processor

Publications (1)

Publication Number Publication Date
CN103036817A true CN103036817A (en) 2013-04-10

Family

ID=48023317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012105446005A Pending CN103036817A (en) 2012-12-14 2012-12-14 Server single-board, server single-board realization method and host processor

Country Status (1)

Country Link
CN (1) CN103036817A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086295A1 (en) * 2010-02-22 2013-04-04 Youichi Hidaka Communication control system, switching node, communication control method and communication control program
CN104750185A (en) * 2013-12-26 2015-07-01 英特尔公司 Computer architecture to provide flexibility and/or scalability
CN104965571A (en) * 2015-06-11 2015-10-07 浪潮电子信息产业股份有限公司 Server
CN105335330A (en) * 2015-12-09 2016-02-17 浪潮电子信息产业股份有限公司 Micro server cluster system based on master-slave architecture
WO2016165289A1 (en) * 2015-04-14 2016-10-20 中兴通讯股份有限公司 Inter-board data processing method and device
CN107357705A (en) * 2017-07-03 2017-11-17 郑州云海信息技术有限公司 The monitoring measuring system and method for a kind of PCIE outer plug-in cards power consumption
CN107463377A (en) * 2017-07-27 2017-12-12 重庆秦嵩科技有限公司 A kind of quick loading methods of more Powerpc based on PCIE
CN108092942A (en) * 2016-11-21 2018-05-29 深圳市中兴微电子技术有限公司 A kind of message processing method and device
CN112799743A (en) * 2021-04-13 2021-05-14 浙江华创视讯科技有限公司 Method and device for loading system file of slave processor unit and electronic equipment
CN112804478A (en) * 2021-04-07 2021-05-14 浙江华创视讯科技有限公司 Video conference server, and data processing method and device
CN113645258A (en) * 2021-10-18 2021-11-12 阿里云计算有限公司 Data transmission method and device, storage medium, processor and electronic equipment
CN114500411A (en) * 2021-12-30 2022-05-13 长园深瑞继保自动化有限公司 Data forwarding system, method, computing device and programmable logic device
CN114579506A (en) * 2022-01-30 2022-06-03 阿里巴巴(中国)有限公司 Inter-processor communication method, system, storage medium, and processor

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1591910A1 (en) * 2004-04-28 2005-11-02 Microsoft Corporation Configurable PCI express switch
CN1832489A (en) * 2006-04-19 2006-09-13 杭州华为三康技术有限公司 Method for accessing object magnetic dish and system for extensing disk content
CN101043510A (en) * 2007-04-29 2007-09-26 中兴通讯股份有限公司 PCI-E bus distributed system intra-board and inter-board data communication method
US20080062927A1 (en) * 2002-10-08 2008-03-13 Raza Microelectronics, Inc. Delegating Network Processor Operations to Star Topology Serial Bus Interfaces
CN101150527A (en) * 2007-11-09 2008-03-26 杭州华三通信技术有限公司 A method, system and equipment for PCIE data transmission
CN101202634A (en) * 2007-11-29 2008-06-18 杭州华三通信技术有限公司 Single board improving data utilization ratio and system and method of data transmission
CN101290605A (en) * 2008-05-26 2008-10-22 华为技术有限公司 Data processing method, communication system and related equipment
CN101540685A (en) * 2008-06-06 2009-09-23 曙光信息产业(北京)有限公司 PCIe shared storage blade for blade server
CN101556573A (en) * 2009-05-21 2009-10-14 成都市华为赛门铁克科技有限公司 Data transmission method based on PCIE and device thereof
CN101872335A (en) * 2010-03-05 2010-10-27 杭州海康威视数字技术股份有限公司 CPU console redirection method, system and CPU
CN102404238A (en) * 2011-12-31 2012-04-04 曙光信息产业股份有限公司 Method and device for load balancing, as well as server system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080062927A1 (en) * 2002-10-08 2008-03-13 Raza Microelectronics, Inc. Delegating Network Processor Operations to Star Topology Serial Bus Interfaces
EP1591910A1 (en) * 2004-04-28 2005-11-02 Microsoft Corporation Configurable PCI express switch
CN1832489A (en) * 2006-04-19 2006-09-13 杭州华为三康技术有限公司 Method for accessing object magnetic dish and system for extensing disk content
CN101043510A (en) * 2007-04-29 2007-09-26 中兴通讯股份有限公司 PCI-E bus distributed system intra-board and inter-board data communication method
CN101150527A (en) * 2007-11-09 2008-03-26 杭州华三通信技术有限公司 A method, system and equipment for PCIE data transmission
CN101202634A (en) * 2007-11-29 2008-06-18 杭州华三通信技术有限公司 Single board improving data utilization ratio and system and method of data transmission
CN101290605A (en) * 2008-05-26 2008-10-22 华为技术有限公司 Data processing method, communication system and related equipment
CN101540685A (en) * 2008-06-06 2009-09-23 曙光信息产业(北京)有限公司 PCIe shared storage blade for blade server
CN101556573A (en) * 2009-05-21 2009-10-14 成都市华为赛门铁克科技有限公司 Data transmission method based on PCIE and device thereof
CN101872335A (en) * 2010-03-05 2010-10-27 杭州海康威视数字技术股份有限公司 CPU console redirection method, system and CPU
CN102404238A (en) * 2011-12-31 2012-04-04 曙光信息产业股份有限公司 Method and device for load balancing, as well as server system

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086295A1 (en) * 2010-02-22 2013-04-04 Youichi Hidaka Communication control system, switching node, communication control method and communication control program
US9047416B2 (en) * 2010-02-22 2015-06-02 Nec Corporation Communication control system, switching node, communication control method and communication control program including PCI express switch and LAN interface
CN104750185A (en) * 2013-12-26 2015-07-01 英特尔公司 Computer architecture to provide flexibility and/or scalability
US10133697B2 (en) 2013-12-26 2018-11-20 Intel Corporation Computer architecture to provide flexibility and/or scalability
CN104750185B (en) * 2013-12-26 2018-08-17 英特尔公司 Computer architecture for providing flexibility and/or scalability
US9792243B2 (en) 2013-12-26 2017-10-17 Intel Corporation Computer architecture to provide flexibility and/or scalability
WO2016165289A1 (en) * 2015-04-14 2016-10-20 中兴通讯股份有限公司 Inter-board data processing method and device
CN106161545A (en) * 2015-04-14 2016-11-23 中兴通讯股份有限公司 Data processing method and device between plate
CN104965571B (en) * 2015-06-11 2018-05-25 浪潮电子信息产业股份有限公司 A kind of server
CN104965571A (en) * 2015-06-11 2015-10-07 浪潮电子信息产业股份有限公司 Server
CN105335330A (en) * 2015-12-09 2016-02-17 浪潮电子信息产业股份有限公司 Micro server cluster system based on master-slave architecture
CN108092942A (en) * 2016-11-21 2018-05-29 深圳市中兴微电子技术有限公司 A kind of message processing method and device
CN107357705A (en) * 2017-07-03 2017-11-17 郑州云海信息技术有限公司 The monitoring measuring system and method for a kind of PCIE outer plug-in cards power consumption
CN107463377A (en) * 2017-07-27 2017-12-12 重庆秦嵩科技有限公司 A kind of quick loading methods of more Powerpc based on PCIE
CN112804478A (en) * 2021-04-07 2021-05-14 浙江华创视讯科技有限公司 Video conference server, and data processing method and device
CN112799743A (en) * 2021-04-13 2021-05-14 浙江华创视讯科技有限公司 Method and device for loading system file of slave processor unit and electronic equipment
CN113645258A (en) * 2021-10-18 2021-11-12 阿里云计算有限公司 Data transmission method and device, storage medium, processor and electronic equipment
CN114500411A (en) * 2021-12-30 2022-05-13 长园深瑞继保自动化有限公司 Data forwarding system, method, computing device and programmable logic device
CN114500411B (en) * 2021-12-30 2025-02-18 长园深瑞继保自动化有限公司 Data forwarding system, method, computing device and programmable logic device
CN114579506A (en) * 2022-01-30 2022-06-03 阿里巴巴(中国)有限公司 Inter-processor communication method, system, storage medium, and processor

Similar Documents

Publication Publication Date Title
CN103036817A (en) Server single-board, server single-board realization method and host processor
CN106664290B (en) data transmission method and device of photoelectric hybrid network
US12487960B2 (en) Communication method and system for distributed heterogeneous acceleration platform, device and medium
US20240388545A1 (en) Packet processing method, gateway device, and storage system
CN103828332B (en) Data processing method, device, storage controller and cabinet
CN102480426B (en) Communication method based on peripheral component interconnect-express (PCIE) switching bus and PCIE switching system
CN105450588A (en) RDMA-based data transmission method and RDMA network cards
CN104424105A (en) Memory data reading and writing processing method and device
CN115858146A (en) Memory expansion system and computing node
US20120102149A1 (en) Inter-Board Communication Apparatus, Method for Transmitting and Receiving Message of Inter-Board Communication
CN102870374A (en) Load-sharing method and apparatus, and veneer,
CN103795815A (en) Network communication system and network communication method
CN114490467A (en) A message processing DMA system and method for a multi-core network processor
CN107995315B (en) Method and device for synchronizing information between service boards, storage medium and computer equipment
CN103023803B (en) Method and system for optimizing virtual links of fiber channel over Ethernet
KR101924002B1 (en) Chip multi processor and router for chip multi processor
EP4468631A1 (en) Data transmission method, power line communication apparatus, and system
CN104038550B (en) Data communications method and its device, storage system
CN108111575B (en) Extensible client and virtual machine data interaction system
CN102123049A (en) Cache synchronization method based on MAC (Multi-Access Computer) address transmission
US12124709B2 (en) Computing system and associated method
CN105830368A (en) Optical interconnection system,node,optical network controller, and data transmission method
CN120881177B (en) A communication method, apparatus and storage medium
CN111865801B (en) Virtio port-based data transmission method and system
CN101441661A (en) System and method for sharing file resource between multiple embedded systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130410