CN110581776B - QoS processing and control method and network interface controller - Google Patents

QoS processing and control method and network interface controller Download PDF

Info

Publication number
CN110581776B
CN110581776B CN201910497729.7A CN201910497729A CN110581776B CN 110581776 B CN110581776 B CN 110581776B CN 201910497729 A CN201910497729 A CN 201910497729A CN 110581776 B CN110581776 B CN 110581776B
Authority
CN
China
Prior art keywords
qos
data
network
system bus
mapping relation
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.)
Active
Application number
CN201910497729.7A
Other languages
Chinese (zh)
Other versions
CN110581776A (en
Inventor
曹政
唐陵波
高山渊
刘小丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910497729.7A priority Critical patent/CN110581776B/en
Publication of CN110581776A publication Critical patent/CN110581776A/en
Priority to PCT/CN2020/095287 priority patent/WO2020248996A1/en
Application granted granted Critical
Publication of CN110581776B publication Critical patent/CN110581776B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2491Mapping quality of service [QoS] requirements between different networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a QoS processing method, which comprises the following steps: obtaining first QoS configuration data for a system bus interconnect network; obtaining second QoS configuration data for the data communications network; establishing a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data; wherein the mapping is used for QoS control of data transmitted between the data communication network and the system bus interconnection network. By adopting the method, the QoS domain isolation problem between the data communication network and the system bus interconnection network is solved.

Description

QoS processing and control method and network interface controller
Technical Field
The present application relates to the field of data forwarding technologies, and in particular, to a QoS processing method and apparatus, and an electronic device. The application also relates to a QoS control method, a QoS control device and electronic equipment. The application also relates to a network interface controller.
Background
With popularization and promotion of network application, it is more and more important to perform QoS control on data traffic transmitted by a network, and it can be ensured that network application services are not delayed or discarded through QoS control, thereby improving user experience. QoS (Quality of Service) is a network technology that provides better Service capability for a given network communication. Network applications generally relate to data communication networks between servers and intra-server system bus interconnect networks (hereinafter system bus interconnect networks). The data communication network refers to a network for data communication between servers, such as a data center network, which has a perfect QoS setting for reducing interference between flows and guaranteeing service quality between different flows. The system bus interconnection network also has a similar QoS mechanism, for example, a PCIE bus supports a TC (Traffic Class) and VC two-level QoS mechanism, where the TC refers to a TC (Traffic Class) at a TLP header of the PCIE, a value range is 0 to 7, and a higher value has a higher priority, and a lower value has a lowest priority, which indicates a service quality classification processed by a bus transaction layer. VC is a virtual channel of PCIE bus, and the PCIE bus equipment maps TC value to VC value for data transmission. However, the QoS mechanism of the data communication network and the QoS mechanism of the system bus interconnection network are in a completely isolated state, for example, in a network interface controller (network card) connecting the data communication network and the system bus interconnection network, the QoS mechanism of the data communication network and the QoS mechanism of the system bus interconnection network are two QoS domains that are not connected, and a high quality of service guaranteed flow is obtained in the data center network, but only the minimum quality of service guarantee may be obtained inside the server, which finally results in that the network application cannot obtain the required communication performance, and the end-to-end QoS control cannot be realized. Even more, existing devices do not support the full set of PCIE bus specifications when implementing PCIE bus functionality, e.g., all traffic is mapped to TC0 (lowest priority) and VC0 (lowest priority), and thus the QoS hierarchy of the system bus interconnect network is completely missing.
Therefore, how to eliminate the QoS domain isolation state between the data communication network and the system bus interconnection network is a problem to be solved.
Disclosure of Invention
The application provides a QoS processing method, which solves the problem of QoS domain isolation between a data communication network and a system bus interconnection network.
The application provides a QoS processing method, which comprises the following steps:
obtaining first QoS configuration data for a system bus interconnect network;
obtaining second QoS configuration data for the data communications network;
establishing a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data; wherein the mapping is used for QoS control of data transmitted between the data communication network and the system bus interconnection network.
Optionally, the establishing a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data includes:
according to the first QoS configuration data, obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a data communication network layer QoS label according to the second QoS configuration data;
obtaining a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first mapping relation, the second mapping relation and the third mapping relation; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
Optionally, the method further includes:
obtaining first network state information of the system bus interconnection network;
obtaining second network state information of the data communication network;
adjusting the first mapping relation, the second mapping relation and the third mapping relation according to at least one of the first network state information and the second network state information;
and obtaining the mapping relation between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network according to the adjusted first mapping relation, second mapping relation and third mapping relation.
Optionally, the method further includes:
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
The application provides a QoS control method, which comprises the following steps:
obtaining a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network;
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
Optionally, the obtaining a mapping relationship between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network includes:
obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label between the data communication network and the system bus interconnection network and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a QoS label of a data communication network layer;
taking the first mapping relation, the second mapping relation and the third mapping relation as the mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
Optionally, the performing QoS control on the data transmitted between the data communication network and the system bus interconnection network according to the mapping relationship includes:
obtaining data sent by a data communication network to a system bus interconnection network;
obtaining a communication queue number from the data;
obtaining a system bus interconnection network transmission layer QoS label corresponding to the communication queue number for marking data according to the communication queue number and a first mapping relation included in the mapping relation;
and scheduling the data from the communication queue to a target flow class queue corresponding to the system bus interconnection network transmission layer QoS label according to the system bus interconnection network transmission layer QoS label.
Optionally, the method further includes:
obtaining data in the target flow class queue;
according to the system bus interconnection network transmission layer QoS label used for marking the data and the second mapping relation, obtaining a system bus interconnection network link layer QoS label corresponding to the system bus interconnection network transmission layer QoS label used for marking the data;
and scheduling the data from the target flow class queue to a target virtual channel queue corresponding to the system bus interconnection network link layer QoS label according to the system bus interconnection network link layer QoS label.
Optionally, the performing QoS control on the data transmitted between the data communication network and the system bus interconnection network according to the mapping relationship includes:
obtaining data from a system bus interconnect network;
according to the address of the data, obtaining a communication queue number of an output message queue for sending the data to a data communication network;
acquiring a data communication network layer QoS label corresponding to the communication queue number according to the communication queue number and a third mapping relation included in the mapping relation, and marking the data by using the data communication network layer QoS label;
and transmitting the marked data to a data communication network, and performing QoS control in the data communication network according to the QoS label information of the marked data.
Optionally, the method further includes:
and acquiring corresponding network virtual channel information according to the mapping relation between the differential service code point and the network virtual channel in the switch of the data communication network, and forwarding the data to target equipment in the data communication network.
Optionally, the performing QoS control on the data transmitted between the data communication network and the system bus interconnection network according to the mapping relationship includes: and performing QoS control on data sent to the system bus interconnection network by the data communication network according to at least one of the first mapping relation and the second mapping relation.
Optionally, the performing QoS control on the data transmitted between the data communication network and the system bus interconnection network according to the mapping relationship includes: and performing QoS control on the data sent to the data communication network by the system bus interconnection network according to the third mapping relation.
Optionally, the performing QoS control on the data transmitted between the data communication network and the system bus interconnection network according to the mapping relationship includes at least one of the following processes:
according to the mapping relation, data sent to a system bus interconnection network by a data communication network is dispatched to a virtual channel queue of a system bus interconnection network link layer by an input message queue, wherein the input message queue is a communication queue for storing the data sent to the system bus interconnection network by the data communication network;
and scheduling the data sent to the data communication network by the system bus interconnection network to a differentiated services code point queue of a data communication network layer by an output message queue according to the mapping relation, wherein the output message queue is a communication queue for storing the data sent to the data communication network by the system bus interconnection network.
Optionally, the scheduling, according to the mapping relationship, data sent by the data communication network to the system bus interconnection network to the virtual channel queue of the link layer of the system bus interconnection network by the input message queue includes:
obtaining first traffic manager data of a virtual channel queue;
and scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
Optionally, the method further includes: obtaining second traffic manager data for the flow class queue;
the scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data comprises: according to the mapping relation and QoS configuration data included in the second traffic manager data, the data are dispatched from the input message queue to a target flow class queue matched with the QoS configuration data included in the second traffic manager data; and scheduling the data of the target flow class queue to a target virtual channel queue matched with the QoS configuration data included in the first traffic manager data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
The present application further provides a network interface controller, which accesses a system bus interconnection network in a first computing device through a system bus, and accesses the first computing device to a data communication network, where the data communication network is a data communication network between the first computing device and a second computing device, and the network interface controller includes: the system comprises a first QoS domain obtaining module, a second QoS domain obtaining module, a QoS mapping control module and a network interface engine; wherein,
the first QoS domain obtaining module is used for obtaining first QoS configuration data aiming at a system bus interconnection network;
the second QoS domain obtaining module is configured to obtain second QoS configuration data for a data communication network;
the QoS mapping control module is configured to establish a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data;
and the network interface engine is used for performing QoS control on data transmitted between the first computing equipment and the second computing equipment according to the mapping relation.
Optionally, the QoS mapping control module is configured to: acquiring a mapping relation between a communication queue of the network interface controller and a system bus transmission layer QoS label and a mapping relation between the system bus transmission layer QoS label and a system bus link layer QoS label according to first QoS configuration data; and acquiring the mapping relation between the communication queue of the network interface controller and the differentiated service code point according to the second QoS configuration data.
Optionally, the method further includes: a network status module; the network state module is used for acquiring at least one state information of first state information of a data communication network and second state information of a system bus interconnection network and sending the at least one state information to the QoS mapping control module; the QoS mapping control module is used for adjusting the mapping relation according to the at least one state information.
Optionally, the network interface engine includes at least one of an input end QoS control submodule and an output end QoS control submodule; the input end QoS control submodule is used for performing QoS control on data sent to a system bus interconnection network by a data communication network through the network interface controller; the output end QoS control submodule is used for performing QoS control on data sent to a data communication network by a system bus interconnection network through the network interface controller.
Optionally, the output end QoS control sub-module is configured to schedule the data from an output queue of a communication queue of a network interface controller to a differentiated services code point queue.
Optionally, the input end QoS control sub-module is configured to schedule, according to first QoS configuration data of a traffic manager bound to a flow class queue, data to be sent to a system bus interconnection network in a communication queue of a network interface controller to the flow class queue matched with the first QoS configuration data; and scheduling the data of the flow class queue to the virtual channel queue matched with the second QoS configuration data according to the second QoS configuration data of the flow manager bound by the virtual channel queue.
Optionally, the input end QoS control sub-module is configured to schedule, according to second QoS configuration data of the traffic manager bound to the virtual channel queue, data to be sent to the system bus interconnection network in the communication queue of the network interface controller to the virtual channel queue matched with the second QoS configuration data.
The present application further provides a QoS control method, including:
obtaining QoS configuration information of a system bus interconnection network;
according to the QoS configuration information, data sent to a system bus interconnection network is dispatched to a virtual channel queue of a system bus interconnection network link layer from an input message queue through multi-stage dispatching; wherein the input message queue is a communication queue storing the data.
Optionally, the scheduling, according to the QoS configuration information, data sent to the system bus interconnection network from the input message queue to the virtual channel queue of the link layer of the system bus interconnection network through multi-stage scheduling includes:
obtaining first traffic manager data of a virtual channel queue;
and scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
Optionally, the method further includes: obtaining second traffic manager data for the flow class queue;
the scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data comprises: scheduling the data from the input message queue to a target flow class queue matched with QoS configuration data included in the second traffic manager data according to the mapping relation and the QoS configuration data included in the second traffic manager data; and scheduling the data of the target flow class queue to a target virtual channel queue matched with the QoS configuration data included in the first traffic manager data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
The present application further provides a QoS processing apparatus, including:
a first QoS configuration data obtaining unit configured to obtain first QoS configuration data for a system bus interconnection network;
a second QoS configuration data obtaining unit for obtaining second QoS configuration data for the data communication network;
a mapping unit, configured to establish a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data; wherein the mapping is used for QoS control of data transmitted between the data communication network and the system bus interconnection network.
The present application also provides a QoS control apparatus, including:
a mapping relation obtaining unit, configured to obtain a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network;
and the QoS control unit is used for performing QoS control on the data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
The present application further provides an electronic device, comprising:
a memory, and a processor; the memory is to store computer-executable instructions, and the processor is to execute the computer-executable instructions to:
obtaining first QoS configuration data for a system bus interconnect network;
obtaining second QoS configuration data for the data communications network;
establishing a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data; wherein the mapping is used for QoS control of data transmitted between the data communication network and the system bus interconnection network.
The present application further provides an electronic device, comprising:
a memory, and a processor; the memory is to store computer-executable instructions, and the processor is to execute the computer-executable instructions to:
obtaining a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network;
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
The application also provides a network traffic scheduling method, which comprises the following steps:
obtaining first QoS configuration data for a system bus interconnect network;
obtaining second QoS configuration data for the data communications network;
establishing a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data;
and scheduling the data traffic transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
Compared with the prior art, the method has the following advantages:
according to the QoS control method, a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network is established according to first QoS configuration data of the system bus interconnection network and second QoS configuration data of the data communication network, the QoS domains between the data communication network and the system bus interconnection network are associated, and the isolation problem of the two QoS domains is solved; further, the mapping relation is used for performing QoS control on data transmitted between the data communication network and the system bus interconnection network, and end-to-end QoS control can be achieved.
According to the QoS control method, the QoS control is carried out on the data transmitted between the data communication network and the system bus interconnection network according to the mapping relation between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network, the consistent QoS control can be carried out on the data transmitted in the two networks, and therefore the problem of end-to-end QoS control of data transmission between the data communication network and the system bus interconnection network is solved.
The application provides a network interface controller, includes: the system comprises a first QoS domain obtaining module, a second QoS domain obtaining module, a QoS mapping control module and a network interface engine; the data used for establishing the mapping relation between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network can be obtained through the first QoS domain obtaining module and the second QoS domain obtaining module, the mapping relation can be established through the QoS mapping control module, and the QoS domain isolation problem between the data communication network and the system bus interconnection network is solved; through the network interface engine, the end-to-end QoS control can be carried out on the data transmitted in the system bus interconnection network and the data communication network according to the mapping relation.
According to the network traffic scheduling method, a mapping relation is established between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network, and data traffic transmitted between the data communication network and the system bus interconnection network is scheduled according to the mapping relation, so that end-to-end QoS control for the data traffic is achieved.
Drawings
FIG. 1 is a schematic diagram of a network environment for data transmission between a system bus interconnect network and a data communications network;
fig. 2 is a processing flow chart of a QoS processing method according to a first embodiment of the present application;
fig. 3 is a processing flow chart of a QoS control method according to a second embodiment of the present application;
fig. 4 is a schematic diagram of a network interface controller according to a third embodiment of the present application;
fig. 5 is a schematic structural diagram of a network interface controller according to a third embodiment of the present application;
fig. 6 is a schematic structural diagram of an input end QoS control submodule included in the third embodiment of the present application;
fig. 7 is a flowchart of a QoS control method according to a fourth embodiment of the present application;
fig. 8 is a schematic diagram of a QoS processing apparatus according to a fifth embodiment of the present application;
fig. 9 is a schematic diagram of a QoS control apparatus according to a sixth embodiment of the present application;
FIG. 10 is a schematic diagram of an electronic device provided herein;
fig. 11 is a processing flow chart of a network traffic scheduling method according to a ninth embodiment of the present application.
Detailed Description
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. This application is capable of implementation in many different ways than those herein set forth and of similar import by those skilled in the art without departing from the spirit of this application and is therefore not limited to the specific implementations disclosed below.
The application provides a QoS processing method and device and electronic equipment. The application also provides a QoS control method, a device and equipment. The application also provides a network interface controller. Details are described in the following examples one by one.
A first embodiment of the present application provides a QoS processing method for establishing a mapping relationship between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network, and associating the QoS domains between the data communication network and the system bus interconnection network.
For ease of understanding, a network environment in which data is transferred between a system bus interconnect network and a data communication network will first be described.
Referring to fig. 1, in the figure, a data center network 101 is a data communication network, specifically, a network for data communication between servers, and can provide QoS control for data traffic through included network forwarding devices, reduce interference between traffic, and guarantee quality of service between different traffic. The system bus interconnection network 102 is an intra-server system bus interconnection network, that is, a network formed by communication buses interconnecting various devices in a server, where the system bus may be a PCIE bus, a CCIX bus, an OpenCAPI bus, a GenZ bus, or a CXL bus, and can provide QoS control for data traffic transmitted in the intra-server system bus interconnection network, for example, a system bus interconnection network using a PCIE bus generally includes a TC and VC two-stage QoS mechanism. The network interface controller 103 is used for transmitting data between the data center network 101 and the system bus interconnection network 102, and may be, for example, a network card for connecting a data communication network and the system bus interconnection network. The network interface controller 103 performs data transmission with the data center network 101 through a communication Queue (QP) and provides a first QoS domain for performing QoS control on data transmitted between the network interface controller 103 and the data center network 101, where the communication Queue may be a hardware Queue on a network card, the network interface controller has multiple QPs therein, and communication of a Socket link may be completed by one QP, such as QP0, QP1, …, QPn-1 shown in the figure; the network interface controller 103 performs data transmission by mapping between a traffic class queue (TC) and a Virtual Channel (VC) of the system bus interconnection network 102, and provides a second QoS domain for QoS control of data transmitted between the network interface controller 103 and the system bus interconnection network 102. In the prior art, the first QoS domain and the second QoS domain are in an isolated state, so that end-to-end QoS control cannot be performed on data transmitted between the data center network 101 and the system bus interconnection network 102, and traffic with high quality of service guarantee is obtained in the data center network, but only the minimum quality of service guarantee may be obtained inside the server.
The QoS processing method provided in the first embodiment of the present application is described below with reference to fig. 2.
The QoS processing method shown in fig. 2 includes: step S201 to step S203.
Step S201, obtaining first QoS configuration data for the system bus interconnection network.
The first QoS configuration data is system bus interconnection network QoS configuration information, and may be, for example, system bus interconnection global QoS configuration information in a server, global QoS configuration information used by a plurality of bus devices connected to a system bus in the server, and global QoS configuration information used by bus devices such as a display card and a sound card.
This step is to obtain first QoS configuration data for the system bus interconnect network. The QoS configuration information bound on the interface between the network interface controller and the system bus may be obtained from configuration information of a network interface controller connecting the data communication network and the intra-server system bus interconnection network.
Step S202, second QoS configuration data for the data communication network is obtained.
The second QoS configuration data is QoS configuration information of the data communication network, and may be, for example, global QoS configuration information of a data center network, global QoS configuration information used by forwarding devices of the data center network, and switching devices such as routers and switches use the same QoS configuration information for a specified flow.
This step is to obtain second QoS configuration data for the data communications network. The QoS configuration information bound on the interface between the network interface controller and the data communication network may be obtained from configuration information of a network interface controller connecting the data communication network and a system bus interconnection network in the server.
Step S203, establishing a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data; wherein the mapping is used for QoS control of data transmitted between the data communication network and the system bus interconnection network.
In this embodiment, the mapping relationship between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network is established by the following processing:
according to the first QoS configuration data, obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a data communication network layer QoS label according to the second QoS configuration data;
obtaining a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first mapping relation, the second mapping relation and the third mapping relation; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
In practical application, the transport layer QoS tag is a tag for identifying transport layer service difference, and may be a TC field of a system bus transaction layer TLP; the link layer QoS tag is a tag that identifies a link layer service difference and may be a VC field in a system bus link layer packet header. The data communication network layer QoS tag may be a QoS tag of the ethernet network layer, i.e. the DSCP value of the IP packet.
The method is applied to the network card by taking the example that the network card is connected with the data center network and the system bus interconnection network in the server. The method comprises the steps that a network card receives bus interconnection global QoS configuration information aiming at interfaces of the network card and a system bus side, and obtains a mapping relation between QP (network card communication queue) and SysTC from the bus interconnection global QoS configuration information, wherein the SysTC is a system bus transmission layer QoS label and takes the mapping relation as a first mapping relation; acquiring a mapping relation between SysTC and SysVC from the bus interconnection global QoS configuration information, wherein the SysVC is a system bus link layer QoS label; and taking the mapping relation as a second mapping relation. The network card receives global QoS configuration aiming at a network side interface of the data center, obtains a mapping relation between a QP (namely a network card communication queue) and a DSCP (namely a QoS domain in an IP (Internet protocol) packet) from the global QoS configuration, and takes the mapping relation as a third mapping relation. The step of using the first mapping relation, the second mapping relation and the third mapping relation as the mapping relation between the two QoS hierarchies of the first QoS domain and the second QoS domain, that is, the mapping relation between the two QoS hierarchies, includes: QoS mapping relation from network card communication queue entering the server direction to network card flow class queue and then to system bus virtual channel; and the QoS mapping relation from the communication queue of the data communication network entering direction of the server to the DSCP of the IP packet.
In an implementation manner of this embodiment, the method further includes adjusting a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to at least one of the network status of the data communication network and the network status of the system bus interconnection. The network state of the data communication network comprises at least one of state information of network delay and congestion state; the system bus interconnects the network state of the network, and comprises at least one of network delay and congestion state information. The method specifically comprises the following steps:
obtaining first network state information of the system bus interconnection network;
obtaining second network state information of the data communication network;
adjusting the first mapping relation, the second mapping relation and the third mapping relation according to at least one of the first network state information and the second network state information;
and obtaining the mapping relation between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network according to the adjusted first mapping relation, second mapping relation and third mapping relation.
In an implementation manner of this embodiment, the following processing is further included:
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
In an implementation manner of this embodiment, the method further includes storing the mapping relationship in a table. The method specifically comprises the following steps:
storing the first mapping relation to a first mapping relation table with a queue number of the communication queue as an index; storing the second mapping relation to a second mapping relation table; and storing the third mapping relation into a third mapping relation table which takes the queue number of the communication queue as an index.
Further, the first mapping relationship table and the third mapping relationship table each further include a reserved mapping area for storing a mapping relationship of a non-communication queue number index, where the mapping relationship of the non-communication queue number index is used for controlling flow of specific traffic not bound to a communication queue.
An example of an interconnection network along with a system bus connecting a data center network and a server with a network card. Writing the mapping relation between the QP and the SysTC into a first mapping relation table; writing the mapping relation between the SysTC and the SysVC into a second mapping relation table; and writing the mapping relation of the QP and the DSCP into a third mapping relation table. The first mapping relation table and the second mapping relation table are used for performing QoS control on data entering a system bus interconnection network in the server; the third mapping relation table is used for performing QoS control on data which is output from a system bus interconnection network in the server and enters a data communication network between the servers. In practical application, a network interface engine of the network card reads the mapping relation table information to perform QoS mapping, for data which is out of a system bus interconnection network in a server and enters a data communication network between servers, after leaving the server, a switching device such as a switch of the data communication network performs mapping from DSCP to a network queue (NetVC), and finally end-to-end QoS control is achieved.
In an implementation manner of this embodiment, the QoS control is specifically performed on the data packet transmitted between the data communication network and the system bus interconnection network by the following processing:
inquiring the first mapping relation table to obtain a first mapping relation;
inquiring a second mapping relation table according to the first mapping relation to obtain a second mapping relation;
and performing QoS control on the data packet sent to the system bus interconnection network by the data communication network according to the first mapping relation and the second mapping relation.
In an implementation manner of this embodiment, the QoS control is specifically performed on the data packet transmitted between the data communication network and the system bus interconnection network through the following processes:
inquiring a third mapping relation table to obtain a third mapping relation;
and performing QoS control on the data packet sent to the data communication network by the system bus interconnection network according to the third mapping relation.
It should be noted that, if data entering the intra-server system bus interconnection network is taken as data in the input direction, and data entering the data communication network from the intra-server system bus interconnection network is taken as data in the output direction, the QoS mapping relationship for establishing the input direction and the QoS mapping relationship for establishing the output direction may be implemented separately, for example:
according to the first QoS configuration data, obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; taking the first mapping relation and the second mapping relation as input direction QoS mapping relations;
obtaining a third mapping relation between the communication queue and a data communication network layer QoS label according to the second QoS configuration data; and taking the third mapping relation as an output direction QoS mapping relation.
Establishing at least one mapping relationship of an input direction QoS mapping relationship and an output direction QoS mapping relationship belongs to the protection scope of the application. Even, in establishing the input direction QoS mapping relationship, establishing at least one of the first mapping relationship and the second mapping relationship belongs to the protection scope of the present application.
In this embodiment, the following processing is further included:
obtaining a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network;
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
Wherein, the obtaining the mapping relationship between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network comprises:
obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label between the data communication network and the system bus interconnection network, and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a QoS label of a network layer of a data communication network;
obtaining a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first mapping relation, the second mapping relation and the third mapping relation; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
In this embodiment, the QoS control is performed on the data transmitted between the data communication network and the system bus interconnection network by the following processing:
obtaining data sent by a data communication network to a system bus interconnection network;
obtaining a communication queue number from the data;
obtaining a system bus interconnection network transmission layer QoS label corresponding to the communication queue number for marking data according to the communication queue number and a first mapping relation included in the mapping relation;
and scheduling the data from the communication queue to a target flow class queue corresponding to the system bus interconnection network transmission layer QoS label according to the system bus interconnection network transmission layer QoS label.
One implementation of this embodiment includes performing two-stage scheduling on the data, that is, scheduling the data to a virtual channel queue of a system bus interconnection network through two-stage scheduling. The method specifically comprises the following steps:
obtaining data in the target flow class queue;
according to the system bus interconnection network transmission layer QoS label used for marking the data and the second mapping relation, obtaining a system bus interconnection network link layer QoS label corresponding to the system bus interconnection network transmission layer QoS label used for marking the data;
and scheduling the data from the target flow class queue to a target virtual channel queue corresponding to the system bus interconnection network link layer QoS label according to the system bus interconnection network link layer QoS label.
In an implementation manner of this embodiment, the QoS control of data sent from the system bus interconnection network to the data communication network includes the following specific steps:
obtaining data from a system bus interconnect network;
according to the address of the data, obtaining a communication queue number of an output message queue for sending the data to a data communication network;
acquiring a data communication network layer QoS label corresponding to the communication queue number according to the communication queue number and a third mapping relation included in the mapping relation, and marking the data by using the data communication network layer QoS label;
and transmitting the marked data to a data communication network, and performing QoS control in the data communication network according to the QoS label information of the marked data.
Wherein, the QoS control is performed in the data communication network according to the QoS tag information of the marked data, including the following processes: and acquiring corresponding network virtual channel information according to the mapping relation between the differential service code point and the network virtual channel in the switch of the data communication network, and forwarding the data to target equipment in the data communication network.
In one implementation of this embodiment, the QoS control of data sent from the system bus interconnect network to the data communication network includes the following processes: and performing QoS control on data sent to the system bus interconnection network by the data communication network according to at least one of the first mapping relation and the second mapping relation.
In one embodiment of this embodiment, the QoS control of data sent by the data communication network to the system bus interconnection network comprises the following processes: and performing QoS control on the data sent to the data communication network by the system bus interconnection network according to the third mapping relation.
In one embodiment of this embodiment, the scheduling of data includes at least one of:
according to the mapping relation, data sent to a system bus interconnection network by a data communication network is dispatched to a virtual channel queue of a system bus interconnection network link layer by an input message queue, wherein the input message queue is a communication queue for storing the data sent to the system bus interconnection network by the data communication network;
and scheduling the data sent to the data communication network by the system bus interconnection network to a differentiated services code point queue of a data communication network layer by an output message queue according to the mapping relation, wherein the output message queue is a communication queue for storing the data sent to the data communication network by the system bus interconnection network.
Wherein, the data sent from the data communication network to the system bus interconnection network according to the mapping relation is scheduled to the virtual channel queue of the system bus interconnection network link layer by the input message queue, which comprises:
obtaining first traffic manager data of a virtual channel queue;
and scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first flow manager data.
In an implementation manner of this embodiment, the method further includes performing two-stage scheduling on the data, specifically including the following processing:
obtaining second traffic manager data for the flow class queue;
scheduling the data from the input message queue to a target flow class queue matched with QoS configuration data included in the second traffic manager data according to the mapping relation and the QoS configuration data included in the second traffic manager data;
and scheduling the data of the target flow class queue to a target virtual channel queue matched with the QoS configuration data included in the first traffic manager data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
Now, a QoS processing method provided in the first embodiment of the present application is described in detail. The QoS processing method is used for establishing a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network so as to associate the QoS domains between the data communication network and the system bus interconnection network and further perform end-to-end QoS control.
Based on the foregoing embodiments, a second embodiment of the present application provides a QoS control method.
The QoS control method provided in the second embodiment of the present application is described below with reference to fig. 3.
The QoS control method shown in fig. 3 includes: step S301 to step S302.
Step S301, obtaining the mapping relation between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network.
In this embodiment, the first QoS domain includes at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags. Specifically, the method includes the following steps:
obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label between the data communication network and the system bus interconnection network, and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a QoS label of a data communication network layer;
and taking the first mapping relation, the second mapping relation and the third mapping relation as the mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network.
At least one of the first mapping relationship and the second mapping relationship is used for performing QoS control on data sent to a system bus interconnection network by a data communication network, or in other words, performing QoS control on an input direction of a network card or a server; the third mapping relationship is used for performing QoS control on data sent from the system bus interconnection network to the data communication network, and may also be said to perform QoS control on the output direction of the network card or the server.
Step S302, according to the mapping relation, QoS control is carried out on the data transmitted between the data communication network and the system bus interconnection network.
In this embodiment, the QoS control is performed on data sent from the data communication network to the system bus interconnection network by the following processing:
obtaining data sent by a data communication network to a system bus interconnection network;
obtaining a communication queue number from the data;
obtaining a system bus interconnection network transmission layer QoS label corresponding to the communication queue number for marking data according to the communication queue number and a first mapping relation included in the mapping relation;
and scheduling the data from the communication queue to a target flow class queue corresponding to the system bus interconnection network transmission layer QoS label according to the system bus interconnection network transmission layer QoS label.
If the data is scheduled to a target flow class queue from an input message queue (i.e. a communication queue for storing the data) as a primary scheduling, the method further comprises performing a secondary scheduling on the data, scheduling the data to a target virtual channel queue from the target flow class queue, and performing QoS control on the data through a two-stage scheduling. The method specifically comprises the following steps:
obtaining data in the target flow class queue;
according to the system bus interconnection network transmission layer QoS label used for marking the data and the second mapping relation, obtaining a system bus interconnection network link layer QoS label corresponding to the system bus interconnection network transmission layer QoS label used for marking the data;
and scheduling the data from the target flow class queue to a target virtual channel queue corresponding to the system bus interconnection network link layer QoS label according to the system bus interconnection network link layer QoS label.
Of course, the data may also be directly scheduled from the communication queue to the target virtual channel queue according to the QoS configuration information.
In this embodiment, QoS control is performed by data sent from the system bus interconnection network to the data communication network by the following processing:
obtaining data from a system bus interconnect network;
according to the address of the data, obtaining a communication queue number of an output message queue for sending the data to a data communication network;
acquiring a data communication network layer QoS label corresponding to the communication queue number according to the communication queue number and a third mapping relation included in the mapping relation, and marking the data by using the data communication network layer QoS label;
and transmitting the marked data to a data communication network, and performing QoS control in the data communication network according to the QoS label information of the marked data.
Further, after the data from the system bus interconnection network goes out of the system bus interconnection network and enters the data communication network, the following processing is further included to realize end-to-end QoS control: and acquiring corresponding network virtual channel information according to the mapping relation between the differential service code point and the network virtual channel in the switch of the data communication network, and forwarding the data to target equipment in the data communication network.
In this embodiment, the QoS control of data sent from a data communication network to a system bus interconnection network by the following processing includes: QoS control is performed on data sent by the data communication network to the system bus interconnection network according to at least one of the first mapping relationship and the second mapping relationship.
In this embodiment, the QoS control of data sent from a system bus interconnection network to a data communication network by the following processing includes: and performing QoS control on the data sent to the data communication network by the system bus interconnection network according to the third mapping relation.
In an implementation manner of this embodiment, at least one of the following processing manners is included to perform QoS control on data transmitted between the data communication network and the system bus interconnection network:
according to the mapping relation, data sent by a data communication network to a system bus interconnection network are dispatched to a virtual channel queue of a system bus interconnection network link layer through an input message queue, wherein the input message queue is a communication queue for storing the data sent by the data communication network to the system bus interconnection network; the method specifically comprises the following steps: obtaining first traffic manager data of a virtual channel queue; and scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data. Further still include: obtaining second traffic manager data for the flow class queue; scheduling the data from the input message queue to a target flow class queue matched with QoS configuration data included in the second traffic manager data according to the mapping relation and the QoS configuration data included in the second traffic manager data; and scheduling the data of the target flow class queue to a target virtual channel queue matched with the QoS configuration data included in the first traffic manager data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
And secondly, according to the mapping relation, dispatching data sent to the data communication network by the system bus interconnection network to a differentiated service code point queue of a data communication network layer by an output message queue, wherein the output message queue is a communication queue for storing the data sent to the data communication network by the system bus interconnection network.
So far, the QoS control method provided in the second embodiment of the present application is described in detail. The QoS control method is used for performing QoS control on data transmitted between a data communication network and a system bus interconnection network according to the mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network, and end-to-end QoS control is achieved.
Based on the foregoing embodiments, a third embodiment of the present application provides a network interface controller. The network interface controller is accessed to a system bus interconnection network in the first computing device through a system bus, and accesses the first computing device to a data communication network, wherein the data communication network is a data communication network between the first computing device and the second computing device. The network interface controller is described below with reference to fig. 4 to 6.
The network interface controller shown in fig. 4 includes: a first QoS domain obtaining module 401, a second QoS domain obtaining module 402, a QoS mapping control module 403, and a network interface engine 404; wherein,
the first QoS domain obtaining module 401 is configured to obtain first QoS configuration data for a system bus interconnection network;
the second QoS domain obtaining module 402, configured to obtain second QoS configuration data for the data communication network;
the QoS mapping control module 403 is configured to establish a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data;
the network interface engine 404 is configured to perform QoS control on data transmitted between the first computing device and the second computing device according to the mapping relationship.
In this embodiment, the first QoS configuration data may be global QoS configuration of a system bus interconnect network in a server; the second QoS configuration data may be a data communication network global QoS configuration. The QoS mapping control module is used for: acquiring a mapping relation between a communication queue of the network interface controller and a system bus transmission layer QoS label and a mapping relation between the system bus transmission layer QoS label and a system bus link layer QoS label according to first QoS configuration data; and acquiring the mapping relation between the communication queue of the network interface controller and the differentiated service code point according to the second QoS configuration data. And providing information of at least one of the first mapping relation, the second mapping relation and the third mapping relation to a network interface engine.
For example, in practical application, the QoS mapping control module obtains a mapping relationship between a QP (communication queue) and a SysTC according to the first QoS configuration information, and writes the mapping relationship into the first mapping relationship table; and acquiring a mapping relation between SysTC and SysVC, and writing the mapping relation into a second mapping relation table, wherein SysTC is QoS information of a system bus interconnection network transmission layer, and SysVC is QoS information of a system bus interconnection network link layer. For another example, the QoS mapping control module obtains a mapping relationship between a QP (communication queue) and a DSCP (QoS field in IP packet) according to the second QoS configuration data, writes the mapping relationship into a third mapping relationship table, further uses the third mapping relationship to perform QoS control on data that goes out of the network card and enters the data communication network switching device, and performs mapping from the DSCP to a network queue (NetVC) by the switching device of the data communication network, such as a switch, after the data leaves the network card, thereby implementing end-to-end QoS control. Further, for a specific traffic not bound to a QP (communication queue), the first mapping relation table and the second mapping relation table respectively include a reserved mapping area for storing a mapping relation of a non-communication queue number index.
In this embodiment, the network interface controller further includes: a network status module; the network status module is configured to obtain at least one of first status information of a data communication network and second status information of a system bus interconnection network, and send the at least one status information to the QoS mapping control module, where, for example, the obtained network status of the data center network includes at least one of network delay and congestion status; for another example, the acquired network state of the system bus interconnection network includes at least one state information of network delay and congestion state; correspondingly, the QoS mapping control module is configured to adjust the mapping relationship according to the at least one state information, that is, dynamically modify at least one mapping relationship table of a first mapping relationship table in which a mapping relationship between QP and SysTC is stored, a second mapping relationship table in which a mapping relationship between SysTC and SysVC is stored, and a third mapping relationship table in which a mapping relationship between QP and DSCP is stored according to a network state.
In this embodiment, the network interface engine includes at least one of an input end QoS control submodule and an output end QoS control submodule; the input end QoS control submodule is used for performing QoS control on data sent to a system bus interconnection network by a data communication network through the network interface controller; the output end QoS control submodule is used for performing QoS control on data sent to a data communication network by a system bus interconnection network through the network interface controller. Namely, the input end QoS control submodule is used for performing QoS guarantee on data in an input direction; and the output end QoS control submodule is used for performing QoS guarantee on data in the output direction. Of course, the network interface engine may also include network messaging functions of a standard network interface controller, such as Transaction Layer protocol processing (TLP), DMA engine, interrupt management, unpacking, congestion control, and the like.
In this embodiment, the input end QoS control sub-module is specifically configured to schedule, according to first QoS configuration data of a traffic manager bound to a flow class queue, data to be sent to a system bus interconnection network in a communication queue of a network interface controller to the flow class queue matched with the first QoS configuration data; and scheduling the data of the flow class queue to the virtual channel queue matched with the second QoS configuration data according to the second QoS configuration data of the flow manager bound by the virtual channel queue. Referring to fig. 5, fig. 5 shows a schematic diagram of an ingress QoS control sub-module, where the ingress QoS control sub-module in the figure includes two-level scheduling, where the first-level scheduling schedules data to be sent to the system bus interconnection network from each QP ingress message queue 503 to a target flow class queue, i.e. a target SysTC queue, according to a TM (Traffic Manager) 502 bound to each SysTC queue 501, for example, when configuration of the TM includes allocating SysTC 060% bandwidth for QP0, the TM schedules according to the configuration; the second-level scheduling schedules data of the SysTC queues to corresponding target virtual channel queues according to the TM505 bound by each virtual channel queue, i.e., the SysVC queue 504, for example, the configuration of the TM includes allocating a bandwidth of 030% of the SysVC for the SysTC0, and the TM will schedule according to the configuration.
In one embodiment of this embodiment, the SysTC queue is removed and a level one scheduling of QP input message queues to the SysVC queue is used. Specifically, the input end QoS control sub-module is configured to schedule, according to second QoS configuration data of the traffic manager bound to the virtual channel queue, data to be sent to the system bus interconnection network in the communication queue of the network interface controller to the virtual channel queue matched with the second QoS configuration data.
In this embodiment, the output end QoS control sub-module is configured to schedule the data from an output queue of a communication queue of a network interface controller to a differentiated services code point queue. That is, QoS guarantee of the output direction data is performed. Of course, the output end QoS control sub-module may also implement sharer to shape the traffic.
Referring to fig. 6, fig. 6 is a schematic diagram of a network interface controller implemented in practice, and the diagram includes: the system bus interconnect global QoS profile 601 is used to obtain first QoS profile data and provide it to the QoS mapping control module. And the data center network global QoS configuration 602 is used for acquiring second QoS configuration data and providing the second QoS configuration data to the QoS mapping control module. A data center network and system bus interconnection network state module 603, configured to obtain network states of the data center network and the system bus interconnection network, and provide the network states to the QoS mapping control module. The QoS mapping control module 604 is configured to establish a first mapping table storing mapping relationships between QPs and systcs and a second mapping table storing mapping relationships between systcs and sysvcs according to the first QoS configuration data; establishing a third mapping relation table storing the mapping relation between QP and DSCP according to the second QoS configuration data; and updating at least one mapping relation table in the three mapping relation tables according to the network states of the data center network and the system bus interconnection network. The network interface engine 605 includes: the iQoS module and the eQoS module; the eQoS module is used for controlling the QoS of data in an input direction; and the eQoS module is used for controlling the QoS of the data in the input direction.
Following the example shown in fig. 6, in practical applications, the QoS tag mapping process from the data communication network to the system bus interconnection network using the network interface controller includes: mapping the DSCP into QP, and directly mapping according to the DSCP and QP number in the data; mapping QP to SysTC by querying a first mapping relation table in which the mapping relation between the QP and the SysTC is stored; the SysTC is mapped into SysVC, and the mapping is realized by inquiring a second mapping relation table in which the mapping relation between the SysTC and the SysVC is stored. In practical application, the network interface controller is used for the change process of the QoS label of data from a system bus network to a data communication network: changing SysVC into SysTC, further changing into QP, and determining a QP queue according to the message address by using QP consumption bus message of a network interface engine; changing QP into DSCP by querying a third mapping relation table storing the mapping relation between QP and DSCP; the DSCP is mapped into NetVC, and the mapping table is searched for realizing the DSCP and NetVC in the switch.
Based on the foregoing embodiments, a fourth embodiment of the present application provides a QoS control method.
The QoS control method provided in the fourth embodiment of the present application is described below with reference to fig. 7.
The QoS control method shown in fig. 7 includes: step S701 to step S702.
Step S701, obtains QoS configuration information of the system bus interconnection network.
In this embodiment, global QoS configuration information of a system bus interconnection network is acquired. And, also obtain the data to the system bus interconnection network, specifically obtain the data to the system bus interconnection network from the data communication network, in order to carry on QoS control to the data of the input direction.
Step S702, according to the QoS configuration information, data sent to the system bus interconnection network is dispatched to a virtual channel queue of a system bus interconnection network link layer from an input message queue through multi-stage dispatching; wherein the input message queue is a communication queue storing the data.
In this embodiment, the data is scheduled from the input message queue to the virtual channel queue of the system bus interconnection network link layer by the following first-level scheduling:
obtaining first traffic manager data of a virtual channel queue;
and scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
In an implementation manner of this embodiment, the QoS control on the data includes two-level scheduling, which specifically includes the following processing:
obtaining first flow manager data of a virtual channel queue;
obtaining second traffic manager data for the flow class queue;
scheduling the data from the input message queue to a target flow class queue matched with QoS configuration data included in the second traffic manager data according to the mapping relation and the QoS configuration data included in the second traffic manager data;
and scheduling the data of the target flow class queue to a target virtual channel queue matched with the QoS configuration data included in the first traffic manager data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
A fifth embodiment of the present application provides a QoS processing apparatus corresponding to the first embodiment. Fig. 8 shows a schematic view of the apparatus provided by the fifth embodiment. The device is described below with reference to fig. 8.
The QoS processing apparatus shown in fig. 8 includes:
a first QoS configuration data obtaining unit 801 for obtaining first QoS configuration data for a system bus interconnection network;
a second QoS configuration data obtaining unit 802 for obtaining second QoS configuration data for the data communication network;
a mapping unit 803, configured to establish a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data; wherein the mapping is used for QoS control of data transmitted between the data communication network and the system bus interconnection network.
Optionally, the first QoS configuration data obtaining unit 801 is specifically configured to:
according to the first QoS configuration data, obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a data communication network layer QoS label according to the second QoS configuration data;
obtaining a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first mapping relation, the second mapping relation and the third mapping relation; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
Optionally, the apparatus further includes a network status obtaining unit, where the network status obtaining unit is configured to:
obtaining first network state information of the system bus interconnection network;
obtaining second network state information of the data communication network;
adjusting the first mapping relation, the second mapping relation and the third mapping relation according to at least one of the first network state information and the second network state information;
and obtaining the mapping relation between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network according to the adjusted first mapping relation, second mapping relation and third mapping relation.
Optionally, the apparatus further includes a QoS control unit, where the QoS control unit is configured to:
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
A sixth embodiment of the present application provides a QoS control apparatus corresponding to the second embodiment. Fig. 9 shows a schematic view of the apparatus provided by the sixth embodiment. The device is described below with reference to fig. 9.
The QoS control apparatus shown in fig. 9 includes:
a mapping relation obtaining unit 901, configured to obtain a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network;
a QoS control unit 902, configured to perform QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relationship.
Optionally, the mapping relationship obtaining unit 901 is specifically configured to:
obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label between the data communication network and the system bus interconnection network, and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a QoS label of a network layer of a data communication network;
taking the first mapping relation, the second mapping relation and the third mapping relation as the mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
Optionally, the QoS control unit 902 is specifically configured to:
obtaining data sent by a data communication network to a system bus interconnection network;
obtaining a communication queue number from the data;
obtaining a system bus interconnection network transmission layer QoS label corresponding to the communication queue number for marking data according to the communication queue number and a first mapping relation included in the mapping relation;
and scheduling the data from the communication queue to a target flow class queue corresponding to the system bus interconnection network transmission layer QoS label according to the system bus interconnection network transmission layer QoS label.
Optionally, the apparatus further includes a primary scheduling unit, where the primary scheduling unit is configured to:
obtaining data in the target flow class queue;
according to the system bus interconnection network transmission layer QoS label used for marking the data and the second mapping relation, obtaining a system bus interconnection network link layer QoS label corresponding to the system bus interconnection network transmission layer QoS label used for marking the data;
and scheduling the data from the target flow class queue to a target virtual channel queue corresponding to the system bus interconnection network link layer QoS label according to the system bus interconnection network link layer QoS label.
Optionally, the QoS control unit 902 is specifically configured to:
obtaining data from a system bus interconnect network;
according to the address of the data, obtaining a communication queue number of an output message queue for sending the data to a data communication network;
according to the communication queue number and a third mapping relation included in the mapping relation, obtaining a data communication network layer QoS label corresponding to the communication queue number, and marking the data by using the data communication network layer QoS label;
and transmitting the marked data to a data communication network, and performing QoS control in the data communication network according to the QoS label information of the marked data.
Optionally, the apparatus further includes a DSCP control unit, where the DSCP control unit is configured to:
and acquiring corresponding network virtual channel information according to the mapping relation between the differential service code point and the network virtual channel in the switch of the data communication network, and forwarding the data to target equipment in the data communication network.
Optionally, the QoS control unit 902 is specifically configured to: and performing QoS control on data sent to the system bus interconnection network by the data communication network according to at least one of the first mapping relation and the second mapping relation.
Optionally, the QoS control unit 902 is specifically configured to: and performing QoS control on the data sent to the data communication network by the system bus interconnection network according to the third mapping relation.
Optionally, the QoS control unit 902 is specifically configured to perform at least one of the following processes:
according to the mapping relation, scheduling data sent by a data communication network to a system bus interconnection network to a virtual channel queue of a system bus interconnection network link layer by an input message queue, wherein the input message queue is a communication queue for storing the data sent by the data communication network to the system bus interconnection network;
and scheduling the data sent to the data communication network by the system bus interconnection network to a differentiated services code point queue of a data communication network layer by an output message queue according to the mapping relation, wherein the output message queue is a communication queue for storing the data sent to the data communication network by the system bus interconnection network.
Optionally, the QoS control unit 902 is specifically configured to:
obtaining first flow manager data of a virtual channel queue;
and scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first flow manager data.
Optionally, the QoS control unit 902 is specifically configured to:
obtaining second traffic manager data for the flow class queue;
according to the mapping relation and QoS configuration data included in the second traffic manager data, the data are dispatched from the input message queue to a target flow class queue matched with the QoS configuration data included in the second traffic manager data;
and scheduling the data of the target flow class queue to a target virtual channel queue matched with the QoS configuration data included in the first traffic manager data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
A seventh embodiment of the present application provides an electronic apparatus, corresponding to the first embodiment. Fig. 10 shows a schematic view of the electronic device. The electronic device is described below with reference to fig. 10.
The electronic device shown in fig. 10 includes:
a memory 1001, and a processor 1002; the memory is to store computer-executable instructions, and the processor is to execute the computer-executable instructions to:
obtaining first QoS configuration data for a system bus interconnect network;
obtaining second QoS configuration data for the data communications network;
establishing a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data; wherein the mapping is used for QoS control of data transmitted between the data communication network and the system bus interconnection network.
Optionally, the processor is further configured to execute the following computer-executable instructions:
according to the first QoS configuration data, obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a data communication network layer QoS label according to the second QoS configuration data;
obtaining a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first mapping relation, the second mapping relation and the third mapping relation; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
Optionally, the processor is further configured to execute the following computer-executable instructions:
obtaining first network state information of the system bus interconnection network;
obtaining second network state information of the data communication network;
adjusting the first mapping relation, the second mapping relation and the third mapping relation according to at least one of the first network state information and the second network state information;
and obtaining the mapping relation between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network according to the adjusted first mapping relation, second mapping relation and third mapping relation.
Optionally, the processor is further configured to execute the following computer-executable instructions:
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
An eighth embodiment of the present application provides an electronic apparatus, which corresponds to the second embodiment. The schematic diagram is similar to fig. 10. The electronic device is explained below.
An eighth embodiment provides an electronic device, comprising:
a memory, and a processor; the memory is to store computer-executable instructions, and the processor is to execute the computer-executable instructions to:
obtaining a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network;
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
Optionally, the processor is further configured to execute the following computer-executable instructions:
obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label between the data communication network and the system bus interconnection network, and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a QoS label of a data communication network layer;
using the first mapping relation, the second mapping relation and the third mapping relation as the mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
Optionally, the processor is further configured to execute the following computer-executable instructions:
obtaining data sent by a data communication network to a system bus interconnection network;
obtaining a communication queue number from the data;
obtaining a system bus interconnection network transmission layer QoS label corresponding to the communication queue number for marking data according to the communication queue number and a first mapping relation included in the mapping relation;
and scheduling the data from the communication queue to a target flow class queue corresponding to the system bus interconnection network transmission layer QoS label according to the system bus interconnection network transmission layer QoS label.
Optionally, the processor is further configured to execute the following computer-executable instructions:
obtaining data in the target flow class queue;
according to the system bus interconnection network transmission layer QoS label used for marking the data and the second mapping relation, obtaining a system bus interconnection network link layer QoS label corresponding to the system bus interconnection network transmission layer QoS label used for marking the data;
and scheduling the data from the target flow class queue to a target virtual channel queue corresponding to the system bus interconnection network link layer QoS label according to the system bus interconnection network link layer QoS label.
Optionally, the processor is further configured to execute the following computer-executable instructions:
obtaining data from a system bus interconnect network;
according to the address of the data, obtaining a communication queue number of an output message queue for sending the data to a data communication network;
acquiring a data communication network layer QoS label corresponding to the communication queue number according to the communication queue number and a third mapping relation included in the mapping relation, and marking the data by using the data communication network layer QoS label;
and transmitting the marked data to a data communication network, and performing QoS control in the data communication network according to the QoS label information of the marked data.
Optionally, the processor is further configured to execute the following computer-executable instructions:
and acquiring corresponding network virtual channel information according to the mapping relation between the differential service code point and the network virtual channel in the switch of the data communication network, and forwarding the data to target equipment in the data communication network.
Optionally, the processor is further configured to execute the following computer-executable instructions: and performing QoS control on data sent to the system bus interconnection network by the data communication network according to at least one of the first mapping relation and the second mapping relation.
Optionally, the processor is further configured to execute the following computer-executable instructions: and performing QoS control on the data sent to the data communication network by the system bus interconnection network according to the third mapping relation.
Optionally, the processor is further configured to execute at least one of the following computer-executable instructions:
according to the mapping relation, data sent to a system bus interconnection network by a data communication network is dispatched to a virtual channel queue of a system bus interconnection network link layer by an input message queue, wherein the input message queue is a communication queue for storing the data sent to the system bus interconnection network by the data communication network;
and scheduling the data sent to the data communication network by the system bus interconnection network to a differentiated services code point queue of a data communication network layer by an output message queue according to the mapping relation, wherein the output message queue is a communication queue for storing the data sent to the data communication network by the system bus interconnection network.
Optionally, the processor is further configured to execute the following computer-executable instructions:
obtaining first traffic manager data of a virtual channel queue;
and scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
Optionally, the processor is further configured to execute the following computer-executable instructions: obtaining second traffic manager data for the flow class queue;
scheduling the data from the input message queue to a target flow class queue matched with QoS configuration data included in the second traffic manager data according to the mapping relation and the QoS configuration data included in the second traffic manager data;
and scheduling the data of the target flow class queue to a target virtual channel queue matched with the QoS configuration data included in the first traffic manager data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
Based on the foregoing embodiments, a ninth embodiment of the present application provides a method for scheduling network traffic. The method is described below with reference to fig. 11.
The network traffic scheduling method shown in fig. 11 includes: step S1101 to step S1104.
In step S1101, first QoS configuration data for the system bus interconnection network is obtained.
The first QoS configuration data is system bus interconnection network QoS configuration information, and may be, for example, system bus interconnection global QoS configuration information in a server, global QoS configuration information used by a plurality of bus devices connected to a system bus in the server, and global QoS configuration information used by bus devices such as a display card and a sound card.
This step is to obtain first QoS configuration data for the system bus interconnect network. The QoS configuration information bound on the interface between the network interface controller and the system bus may be obtained from configuration information of a network interface controller connecting the data communication network and the intra-server system bus interconnection network.
Step S1102, obtain second QoS configuration data for the data communication network.
The second QoS configuration data is QoS configuration information of the data communication network, and may be, for example, global QoS configuration information of a data center network, global QoS configuration information used by forwarding devices of the data center network, and switching devices such as routers and switches use the same QoS configuration information for a specified flow.
This step is to obtain second QoS configuration data for the data communications network. The QoS configuration information bound on the interface between the network interface controller and the data communication network may be obtained from configuration information of a network interface controller connecting the data communication network and a system bus interconnection network in the server.
Step S1103, establishing a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data.
In this embodiment, the mapping relationship between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network is established by the following processing:
according to the first QoS configuration data, obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a data communication network layer QoS label according to the second QoS configuration data;
obtaining a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first mapping relation, the second mapping relation and the third mapping relation; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
In practical application, the transport layer QoS tag is a tag for identifying a transport layer service difference, and may be a TC field of a system bus transaction layer TLP; the link layer QoS tag is a tag that identifies a link layer service difference and may be a VC field in a system bus link layer packet header. The data communication network layer QoS tag may be a QoS tag of the ethernet network layer, i.e. the DSCP value of the IP packet.
The method is applied to the network card by taking the case that the network card is connected with a data center network and a system bus interconnection network in the server as an example. The method comprises the steps that a network card receives bus interconnection global QoS configuration information aiming at interfaces of the network card and a system bus side, and obtains a mapping relation between QP (network card communication queue) and SysTC from the bus interconnection global QoS configuration information, wherein the SysTC is a system bus transmission layer QoS label and takes the mapping relation as a first mapping relation; acquiring a mapping relation between SysTC and SysVC from the bus interconnection global QoS configuration information, wherein the SysVC is a system bus link layer QoS label; and taking the mapping relation as a second mapping relation. The network card receives global QoS configuration aiming at a network side interface of the data center, obtains a mapping relation between a QP (namely a network card communication queue) and a DSCP (namely a QoS domain in an IP (Internet protocol) packet) from the global QoS configuration, and takes the mapping relation as a third mapping relation. The step of using the first mapping relation, the second mapping relation and the third mapping relation as the mapping relation between the two QoS hierarchies of the first QoS domain and the second QoS domain, that is, the mapping relation between the two QoS hierarchies, includes: QoS mapping relation from network card communication queue entering the server direction to network card flow class queue and then to system bus virtual channel; and the QoS mapping relation from the communication queue of the data communication network entering direction of the server to the DSCP of the IP packet.
In an implementation manner of this embodiment, the method further includes adjusting a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to at least one of the network status of the data communication network and the network status of the system bus interconnection. The network state of the data communication network comprises at least one of state information of network delay and congestion state; the system bus interconnects the network state of the network, and comprises at least one of network delay and congestion state information. The method specifically comprises the following steps:
obtaining first network state information of the system bus interconnection network;
obtaining second network state information of the data communication network;
adjusting the first mapping relation, the second mapping relation and the third mapping relation according to at least one of the first network state information and the second network state information;
and obtaining the mapping relation between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network according to the adjusted first mapping relation, second mapping relation and third mapping relation.
And step S1104, scheduling data traffic transmitted between the data communication network and the system bus interconnection network according to the mapping relationship.
In this embodiment, the data traffic is scheduled according to the mapping relationship, so as to implement end-to-end QoS control for the data traffic.
In an implementation manner of this embodiment, the method further includes storing the mapping relationship in a table. The method specifically comprises the following steps:
storing the first mapping relation into a first mapping relation table with the queue number of the communication queue as an index; storing the second mapping relation to a second mapping relation table; and storing the third mapping relation into a third mapping relation table which takes the queue number of the communication queue as an index.
Further, the first mapping relation table and the third mapping relation table respectively further include a reserved mapping area for storing a mapping relation of a non-communication queue number index, where the mapping relation of the non-communication queue number index is used for controlling the flow of specific traffic not bound to a communication queue.
An example of interconnecting networks along a system bus that connects a data center network and a server with a network card is used. Writing the mapping relation between the QP and the SysTC into a first mapping relation table; writing the mapping relation between the SysTC and the SysVC into a second mapping relation table; and writing the mapping relation of the QP and the DSCP into a third mapping relation table. The first mapping relation table and the second mapping relation table are used for performing QoS control on data entering a system bus interconnection network in the server; the third mapping relation table is used for performing QoS control on data which is output from a system bus interconnection network in the server and enters a data communication network between the servers. In practical application, a network interface engine of the network card reads the mapping relation table information to perform QoS mapping, for data which is out of a system bus interconnection network in a server and enters a data communication network between servers, after leaving the server, a switching device such as a switch of the data communication network performs mapping from DSCP to a network queue (NetVC), and finally end-to-end QoS control is achieved.
In an implementation manner of this embodiment, the QoS control is specifically performed on the data packet transmitted between the data communication network and the system bus interconnection network by the following processing:
inquiring the first mapping relation table to obtain a first mapping relation;
inquiring a second mapping relation table according to the first mapping relation to obtain a second mapping relation;
and performing QoS control on the data packet sent to the system bus interconnection network by the data communication network according to the first mapping relation and the second mapping relation.
In an implementation manner of this embodiment, the QoS control is specifically performed on the data packet transmitted between the data communication network and the system bus interconnection network by the following processing:
inquiring a third mapping relation table to obtain a third mapping relation;
and performing QoS control on the data packet sent to the data communication network by the system bus interconnection network according to the third mapping relation.
It should be noted that, if data entering the intra-server system bus interconnection network is used as data in the input direction, and data entering the data communication network from the intra-server system bus interconnection network is used as data in the output direction, the QoS mapping relationships for establishing the input direction and the QoS mapping relationships for establishing the output direction may be implemented separately, for example:
according to the first QoS configuration data, obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; taking the first mapping relation and the second mapping relation as input direction QoS mapping relations;
obtaining a third mapping relation between the communication queue and a data communication network layer QoS label according to the second QoS configuration data; and taking the third mapping relation as an output direction QoS mapping relation.
Establishing at least one mapping relationship of an input direction QoS mapping relationship and an output direction QoS mapping relationship belongs to the protection scope of the application. Even, in establishing the input direction QoS mapping relationship, establishing at least one of the first mapping relationship and the second mapping relationship belongs to the protection scope of the present application.
In this embodiment, the following processing is further included:
obtaining a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network;
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
The obtaining of the mapping relationship between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network includes:
obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label between the data communication network and the system bus interconnection network, and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a QoS label of a data communication network layer;
obtaining a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first mapping relation, the second mapping relation and the third mapping relation; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
In this embodiment, the QoS control is performed on the data transmitted between the data communication network and the system bus interconnection network by the following processing:
obtaining data sent by a data communication network to a system bus interconnection network;
obtaining a communication queue number from the data;
obtaining a system bus interconnection network transmission layer QoS label corresponding to the communication queue number for marking data according to the communication queue number and a first mapping relation included in the mapping relation;
and scheduling the data from the communication queue to a target flow class queue corresponding to the system bus interconnection network transmission layer QoS label according to the system bus interconnection network transmission layer QoS label.
One implementation of this embodiment includes performing two-stage scheduling on the data, that is, scheduling the data to a virtual channel queue of a system bus interconnection network through two-stage scheduling. The method specifically comprises the following steps:
obtaining data in the target flow class queue;
according to the system bus interconnection network transmission layer QoS label used for marking the data and the second mapping relation, obtaining a system bus interconnection network link layer QoS label corresponding to the system bus interconnection network transmission layer QoS label used for marking the data;
and scheduling the data from the target flow class queue to a target virtual channel queue corresponding to the system bus interconnection network link layer QoS label according to the system bus interconnection network link layer QoS label.
In an implementation manner of this embodiment, the QoS control of data sent from the system bus interconnection network to the data communication network includes the following specific processes:
obtaining data from a system bus interconnect network;
according to the address of the data, obtaining a communication queue number of an output message queue for sending the data to a data communication network;
acquiring a data communication network layer QoS label corresponding to the communication queue number according to the communication queue number and a third mapping relation included in the mapping relation, and marking the data by using the data communication network layer QoS label;
and transmitting the marked data to a data communication network, and performing QoS control in the data communication network according to the QoS label information of the marked data.
Wherein, the QoS control is performed in the data communication network according to the QoS tag information of the marked data, including the following processes: and acquiring corresponding network virtual channel information according to the mapping relation between the differential service code point and the network virtual channel in the switch of the data communication network, and forwarding the data to target equipment in the data communication network.
In one implementation of this embodiment, the QoS control of data sent from the system bus interconnect network to the data communication network includes the following processes: QoS control is performed on data sent by the data communication network to the system bus interconnection network according to at least one of the first mapping relationship and the second mapping relationship.
In one embodiment of this embodiment, the QoS control of data sent by the data communication network to the system bus interconnection network comprises the following processes: and performing QoS control on the data sent to the data communication network by the system bus interconnection network according to the third mapping relation.
In one embodiment of this embodiment, the scheduling of data includes at least one of:
according to the mapping relation, scheduling data sent by a data communication network to a system bus interconnection network to a virtual channel queue of a system bus interconnection network link layer by an input message queue, wherein the input message queue is a communication queue for storing the data sent by the data communication network to the system bus interconnection network;
and scheduling the data sent to the data communication network by the system bus interconnection network to a differentiated services code point queue of a data communication network layer by an output message queue according to the mapping relation, wherein the output message queue is a communication queue for storing the data sent to the data communication network by the system bus interconnection network.
Wherein, the data sent from the data communication network to the system bus interconnection network according to the mapping relation is scheduled to the virtual channel queue of the system bus interconnection network link layer by the input message queue, which comprises:
obtaining first traffic manager data of a virtual channel queue;
and scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
In an implementation manner of this embodiment, the method further includes performing two-stage scheduling on the data, specifically including the following processing:
obtaining second traffic manager data for the flow class queue;
scheduling the data from the input message queue to a target flow class queue matched with QoS configuration data included in the second traffic manager data according to the mapping relation and the QoS configuration data included in the second traffic manager data;
and scheduling the data of the target flow class queue to a target virtual channel queue matched with the QoS configuration data included in the first traffic manager data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
So far, a network traffic scheduling method provided in the ninth embodiment of the present application is described in detail. The method is used for establishing a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network, so that the QoS domains between the data communication network and the system bus interconnection network are associated, and end-to-end QoS control is carried out on network flow.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
1. Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include non-transitory computer readable media (transient media), such as modulated data signals and carrier waves.
2. As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.
Although the present application has been described with reference to the preferred embodiments, it is not intended to limit the present application, and those skilled in the art can make variations and modifications without departing from the spirit and scope of the present application, therefore, the scope of the present application should be determined by the claims that follow.

Claims (30)

1. A QoS processing method, comprising:
obtaining first QoS configuration data for a system bus interconnect network;
obtaining second QoS configuration data for the data communications network;
establishing a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data; wherein the mapping is used for QoS control of data transmitted between the data communication network and the system bus interconnection network.
2. The method of claim 1, wherein the establishing a mapping relationship between a first QoS domain of the system bus interconnect network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data comprises:
according to the first QoS configuration data, obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a data communication network layer QoS label according to the second QoS configuration data;
obtaining a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first mapping relation, the second mapping relation and the third mapping relation; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
3. The method of claim 2, further comprising:
obtaining first network state information of the system bus interconnection network;
obtaining second network state information of the data communication network;
adjusting the first mapping relation, the second mapping relation and the third mapping relation according to at least one of the first network state information and the second network state information;
and obtaining the mapping relation between the first QoS domain of the system bus interconnection network and the second QoS domain of the data communication network according to the adjusted first mapping relation, second mapping relation and third mapping relation.
4. The method of claim 1 or 2, further comprising:
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
5. A QoS control method, comprising:
obtaining a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network;
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
6. The method of claim 5, wherein obtaining a mapping relationship between a first QoS domain of a system bus interconnect network and a second QoS domain of a data communication network comprises:
obtaining a first mapping relation between a communication queue for storing the data and a system bus interconnection network transmission layer QoS label between the data communication network and the system bus interconnection network, and a second mapping relation between the system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label;
obtaining a third mapping relation between the communication queue and a QoS label of a data communication network layer;
taking the first mapping relation, the second mapping relation and the third mapping relation as the mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network; wherein the first QoS domain comprises at least one of the following information: a system bus interconnection network transmission layer QoS label and a system bus interconnection network link layer QoS label; the second QoS domain includes: data communication network layer QoS tags.
7. The method of claim 6, wherein the QoS controlling the data transmitted between the data communication network and the system bus interconnection network according to the mapping relationship comprises:
obtaining data sent by a data communication network to a system bus interconnection network;
obtaining a communication queue number from the data;
obtaining a system bus interconnection network transmission layer QoS label corresponding to the communication queue number for marking data according to the communication queue number and a first mapping relation included in the mapping relation;
and scheduling the data from the communication queue to a target flow class queue corresponding to the system bus interconnection network transmission layer QoS label according to the system bus interconnection network transmission layer QoS label.
8. The method of claim 7, further comprising:
obtaining data in the target flow class queue;
according to the system bus interconnection network transmission layer QoS label used for marking the data and the second mapping relation, obtaining a system bus interconnection network link layer QoS label corresponding to the system bus interconnection network transmission layer QoS label used for marking the data;
and scheduling the data from the target flow class queue to a target virtual channel queue corresponding to the system bus interconnection network link layer QoS label according to the system bus interconnection network link layer QoS label.
9. The method of claim 6, wherein the QoS controlling the data transmitted between the data communication network and the system bus interconnection network according to the mapping relationship comprises:
obtaining data from a system bus interconnect network;
according to the address of the data, obtaining a communication queue number of an output message queue for sending the data to a data communication network;
acquiring a data communication network layer QoS label corresponding to the communication queue number according to the communication queue number and a third mapping relation included in the mapping relation, and marking the data by using the data communication network layer QoS label;
and transmitting the marked data to a data communication network, and performing QoS control in the data communication network according to the QoS label information of the marked data.
10. The method of claim 9, further comprising:
and acquiring corresponding network virtual channel information according to the mapping relation between the differential service code point and the network virtual channel in the switch of the data communication network, and forwarding the data to target equipment in the data communication network.
11. The method of claim 6, wherein performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relationship comprises: and performing QoS control on data sent to the system bus interconnection network by the data communication network according to at least one of the first mapping relation and the second mapping relation.
12. The method of claim 6, wherein the QoS controlling the data transmitted between the data communication network and the system bus interconnection network according to the mapping relationship comprises: and performing QoS control on data sent to the data communication network by the system bus interconnection network according to the third mapping relation.
13. The method according to claim 5, wherein the performing QoS control on the data transmitted between the data communication network and the system bus interconnection network according to the mapping relationship comprises at least one of:
according to the mapping relation, data sent to a system bus interconnection network by a data communication network is dispatched to a virtual channel queue of a system bus interconnection network link layer by an input message queue, wherein the input message queue is a communication queue for storing the data sent to the system bus interconnection network by the data communication network;
and scheduling the data sent to the data communication network by the system bus interconnection network to a differentiated services code point queue of a data communication network layer by an output message queue according to the mapping relation, wherein the output message queue is a communication queue for storing the data sent to the data communication network by the system bus interconnection network.
14. The method of claim 13, wherein the scheduling data from the data communication network to the system bus interconnection network from the input message queue to the virtual channel queue of the link layer of the system bus interconnection network according to the mapping comprises:
obtaining first flow manager data of a virtual channel queue;
and scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
15. The method of claim 14, further comprising: obtaining second traffic manager data for the flow class queue;
the scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data comprises: scheduling the data from the input message queue to a target flow class queue matched with QoS configuration data included in the second traffic manager data according to the mapping relation and the QoS configuration data included in the second traffic manager data; and scheduling the data of the target flow class queue to a target virtual channel queue matched with the QoS configuration data included in the first traffic manager data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
16. A network interface controller for accessing a system bus interconnect network within a first computing device via a system bus and for accessing the first computing device to a data communications network between the first computing device and a second computing device, comprising: a first QoS domain obtaining module, a second QoS domain obtaining module, a QoS mapping control module and a network interface engine; wherein,
the first QoS domain obtaining module is configured to obtain first QoS configuration data for a system bus interconnection network;
the second QoS domain obtaining module is configured to obtain second QoS configuration data for a data communication network;
the QoS mapping control module is configured to establish a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data;
and the network interface engine is used for performing QoS control on data transmitted between the first computing equipment and the second computing equipment according to the mapping relation.
17. The network interface controller of claim 16, wherein the QoS mapping control module is configured to: acquiring a mapping relation between a communication queue of the network interface controller and a system bus transmission layer QoS label and a mapping relation between the system bus transmission layer QoS label and a system bus link layer QoS label according to first QoS configuration data; and acquiring the mapping relation between the communication queue of the network interface controller and the differentiated service code point according to the second QoS configuration data.
18. The network interface controller of claim 16, further comprising: a network status module; the network state module is used for acquiring at least one state information of first state information of a data communication network and second state information of a system bus interconnection network and sending the at least one state information to the QoS mapping control module; the QoS mapping control module is used for adjusting the mapping relation according to the at least one state information.
19. The network interface controller of claim 16, wherein the network interface engine comprises at least one of an input QoS control submodule and an output QoS control submodule; the input end QoS control submodule is used for performing QoS control on data sent to a system bus interconnection network by a data communication network through the network interface controller; the output end QoS control submodule is used for performing QoS control on data sent to a data communication network by a system bus interconnection network through the network interface controller.
20. The network interface controller of claim 19, wherein the output QoS control submodule schedules the data from an output queue of a network interface controller communication queue to a differentiated services code point queue.
21. The network interface controller of claim 19, wherein the input QoS control sub-module is configured to schedule data in a communication queue of the network interface controller destined to the system bus interconnect network to a flow class queue matching the first QoS configuration data according to the first QoS configuration data of the traffic manager bound to the flow class queue; and scheduling the data of the flow class queue to the virtual channel queue matched with the second QoS configuration data according to the second QoS configuration data of the flow manager bound by the virtual channel queue.
22. The network interface controller of claim 19, wherein the input QoS control sub-module is configured to schedule data in a communication queue of the network interface controller destined to the system bus interconnect network to a virtual channel queue matching the second QoS configuration data according to the second QoS configuration data of the traffic manager bound to the virtual channel queue.
23. A QoS control method, comprising:
obtaining a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network;
obtaining QoS configuration information of a system bus interconnection network;
according to the mapping relation and the QoS configuration information, data sent to a system bus interconnection network are dispatched to a virtual channel queue of a system bus interconnection network link layer from an input message queue through multi-stage dispatching; wherein the input message queue is a communication queue storing the data.
24. The method of claim 23, wherein the scheduling data destined for the system bus interconnect network from the input message queue to the virtual channel queue of the link layer of the system bus interconnect network through multi-level scheduling according to the mapping relationship and the QoS configuration information comprises:
obtaining first flow manager data of a virtual channel queue;
and scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
25. The method of claim 24, further comprising: obtaining second traffic manager data for the flow class queue;
the scheduling the data from the input message queue to a target virtual channel queue matched with the QoS configuration data according to the mapping relation and the QoS configuration data included in the first traffic manager data comprises: scheduling the data from the input message queue to a target flow class queue matched with QoS configuration data included in the second traffic manager data according to the mapping relation and the QoS configuration data included in the second traffic manager data; and scheduling the data of the target flow class queue to a target virtual channel queue matched with the QoS configuration data included in the first traffic manager data according to the mapping relation and the QoS configuration data included in the first traffic manager data.
26. A QoS processing apparatus, comprising:
a first QoS configuration data obtaining unit configured to obtain first QoS configuration data for a system bus interconnection network;
a second QoS configuration data obtaining unit for obtaining second QoS configuration data for the data communication network;
a mapping unit, configured to establish a mapping relationship between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data; wherein the mapping is used for QoS control of data transmitted between the data communication network and the system bus interconnection network.
27. A QoS control apparatus, comprising:
a mapping relation obtaining unit, configured to obtain a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network;
and the QoS control unit is used for performing QoS control on the data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
28. An electronic device, comprising:
a memory, and a processor; the memory is to store computer-executable instructions, and the processor is to execute the computer-executable instructions to:
obtaining first QoS configuration data for a system bus interconnect network;
obtaining second QoS configuration data for the data communications network;
establishing a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data; wherein the mapping is used for QoS control of data transmitted between the data communication network and the system bus interconnection network.
29. An electronic device, comprising:
a memory, and a processor; the memory is to store computer-executable instructions, and the processor is to execute the computer-executable instructions to:
obtaining a mapping relation between a first QoS domain of a system bus interconnection network and a second QoS domain of a data communication network;
and performing QoS control on data transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
30. A method for scheduling network traffic is characterized by comprising the following steps:
obtaining first QoS configuration data for a system bus interconnect network;
obtaining second QoS configuration data for the data communications network;
establishing a mapping relation between a first QoS domain of the system bus interconnection network and a second QoS domain of the data communication network according to the first QoS configuration data and the second QoS configuration data;
and scheduling the data traffic transmitted between the data communication network and the system bus interconnection network according to the mapping relation.
CN201910497729.7A 2019-06-10 2019-06-10 QoS processing and control method and network interface controller Active CN110581776B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910497729.7A CN110581776B (en) 2019-06-10 2019-06-10 QoS processing and control method and network interface controller
PCT/CN2020/095287 WO2020248996A1 (en) 2019-06-10 2020-06-10 Qos processing and control methods and network interface controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910497729.7A CN110581776B (en) 2019-06-10 2019-06-10 QoS processing and control method and network interface controller

Publications (2)

Publication Number Publication Date
CN110581776A CN110581776A (en) 2019-12-17
CN110581776B true CN110581776B (en) 2022-06-21

Family

ID=68810855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910497729.7A Active CN110581776B (en) 2019-06-10 2019-06-10 QoS processing and control method and network interface controller

Country Status (2)

Country Link
CN (1) CN110581776B (en)
WO (1) WO2020248996A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110581776B (en) * 2019-06-10 2022-06-21 阿里巴巴集团控股有限公司 QoS processing and control method and network interface controller
CN114625220B (en) * 2021-04-09 2024-07-19 深圳宏芯宇电子股份有限公司 Server and data processing method thereof
CN113806258B (en) * 2021-11-16 2022-02-18 苏州浪潮智能科技有限公司 Dynamic self-adaptive virtual channel mapping method, device and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183565A (en) * 2015-09-30 2015-12-23 华为技术有限公司 Computer and service quality control method and device
CN108965159A (en) * 2017-05-24 2018-12-07 华为技术有限公司 Method for controlling quality of service, equipment and system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743808B (en) * 2014-12-08 2017-09-19 华为技术有限公司 A kind of adaptation QoS method and apparatus
CN106161285B (en) * 2015-03-31 2019-06-21 华为技术有限公司 A kind of network resource allocation method and device
US10511650B2 (en) * 2015-10-01 2019-12-17 At&T Intellectual Property I, L.P. Quality of service system for a service provider that provides media content via a satellite media distribution system and a terrestrial media distribution system
CN107483220B (en) * 2016-06-08 2021-09-10 杭州海康威视数字技术股份有限公司 Service quality control method, device and system
US10579567B2 (en) * 2017-06-28 2020-03-03 Western Digital Technologies, Inc. Queue depth management for host systems accessing a peripheral component interconnect express (PCIe) device via a PCIe switch
CN109275151B (en) * 2017-07-17 2020-12-08 华为技术有限公司 Communication method, device and system
CN110581776B (en) * 2019-06-10 2022-06-21 阿里巴巴集团控股有限公司 QoS processing and control method and network interface controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183565A (en) * 2015-09-30 2015-12-23 华为技术有限公司 Computer and service quality control method and device
CN108965159A (en) * 2017-05-24 2018-12-07 华为技术有限公司 Method for controlling quality of service, equipment and system

Also Published As

Publication number Publication date
WO2020248996A1 (en) 2020-12-17
CN110581776A (en) 2019-12-17

Similar Documents

Publication Publication Date Title
CN110581776B (en) QoS processing and control method and network interface controller
US9025457B2 (en) Router and chip circuit
US8184540B1 (en) Packet lifetime-based memory allocation
US10063476B2 (en) Content centric networking system providing differentiated service and method of controlling data traffic in content centric networking providing differentiated service
CN107733799A (en) A kind of message transmitting method and device
CN104468401A (en) Message processing method and device
CN111756791A (en) Techniques for accelerated function as service network device load balancer
CN114095430B (en) Access message processing method, system and working node
US8683107B2 (en) Memory mapped input/output bus address range translation
US20180006950A1 (en) Technologies for adaptive routing using aggregated congestion information
CN107547346B (en) Message transmission method and device
CN106533943A (en) Method for realizing microcode and flow table based on network switching chip
CN112838992B (en) Message scheduling method and network equipment
US7710972B2 (en) Discrete table descriptor for unified table management
US9641611B2 (en) Logical interface encoding
CN115858160A (en) Remote direct memory access virtualization resource allocation method and device and storage medium
US10715437B2 (en) Deadline driven packet prioritization for IP networks
WO2021121086A1 (en) Traffic scheduling method, electronic device and storage medium
CN109274601A (en) Service quality scheduling method and device
CN117749726A (en) Method and device for mixed scheduling of output port priority queues of TSN switch
US20210136007A1 (en) Method and apparatus for orchestrating resources in multi-access edge computing (mec) network
US9282041B2 (en) Congestion profiling of computer network devices
CN109995667A (en) The method and sending device of transmitting message
US10862980B2 (en) System and method for service discovery in a large network
CN104509043A (en) Phase-based packet prioritization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40018706

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant