CN113392607B - Method for determining configuration parameters and related equipment - Google Patents

Method for determining configuration parameters and related equipment Download PDF

Info

Publication number
CN113392607B
CN113392607B CN202010170690.0A CN202010170690A CN113392607B CN 113392607 B CN113392607 B CN 113392607B CN 202010170690 A CN202010170690 A CN 202010170690A CN 113392607 B CN113392607 B CN 113392607B
Authority
CN
China
Prior art keywords
configuration parameters
simulation test
data path
target
forwarding
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
CN202010170690.0A
Other languages
Chinese (zh)
Other versions
CN113392607A (en
Inventor
姚为骏
谢磊
夏世远
邹钢
袁巧萍
邹志威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010170690.0A priority Critical patent/CN113392607B/en
Publication of CN113392607A publication Critical patent/CN113392607A/en
Application granted granted Critical
Publication of CN113392607B publication Critical patent/CN113392607B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a method and related equipment for determining configuration parameters, wherein the method comprises the following steps: determining forwarding service simulation information, wherein the forwarding service simulation information comprises input flow information and data path behaviors; respectively carrying out simulation test on the forwarding service simulation information based on a plurality of groups of first configuration parameters to obtain a plurality of groups of first simulation test results; and determining target first configuration parameters corresponding to the target first simulation test results from the plurality of groups of first configuration parameters according to the plurality of groups of first simulation test results. By means of simulation test, efficiency of determining configuration parameters can be effectively improved, technicians are not required to have higher technical analysis capability and abundant debugging experience in determining the configuration parameters, and the determined configuration parameters can meet data path performance required by superposition of a plurality of services.

Description

Method for determining configuration parameters and related equipment
Technical Field
The present disclosure relates to the field of simulation testing technologies, and in particular, to a method for determining configuration parameters and related devices.
Background
The data path refers to a data transmission path formed by connecting the subsystems through a data bus in the digital system. In general, there may be more modules on the data path that perform corresponding regulation and control on the traffic on the data path, such as a physical address aggregation (MAG) module, a switching interface control (fabric interface control, FIC) module, a traffic management (traffic management, TM) module, and a packet reassembly block (packet reassembly blocks, PRB) module, where after the modules are configured by corresponding parameters, the modules can control the priority, the rate, and the like of the output traffic of the data path, so that the parameter configuration of each module has an important effect on the performance of the data path.
At present, a data path of a product (such as a chip, a single board and the like) is usually subjected to board loading test on test equipment, and parameters configured by each module on the data path of the product are gradually adjusted by a technician according to test results, so that configuration parameters capable of enabling the product to meet expected test requirements are obtained through repeated board loading test and configuration parameter adjustment of the technician. However, this manner of determining the configuration parameters is highly skilled for the technician, is challenging, and is inefficient in determining the configuration parameters.
Disclosure of Invention
The embodiment of the application provides a method and related equipment for determining configuration parameters, which are used for reducing the technical skill requirements for technicians in the process of determining the configuration parameters and improving the efficiency of determining the configuration parameters.
In a first aspect, an embodiment of the present application provides a method for determining a configuration parameter, specifically, first determining forwarding service simulation information, where the forwarding service simulation information includes input traffic information and data path behavior, where the input traffic information is used to simulate input traffic corresponding to a plurality of forwarding services, and the data path behavior is used to simulate a data path for transmitting the input traffic; then, the forwarding service simulation information can be subjected to simulation test based on multiple groups of first configuration parameters of the data path to obtain multiple groups of first simulation test results, wherein the multiple groups of first configuration parameters are different configuration parameters, and each group of first simulation test result in the multiple groups of first simulation test results is used for simulating output flow of the forwarding service after the input flow corresponding to the forwarding service passes through the data path corresponding to one group of first configuration parameters in the multiple groups of first configuration parameters; thus, according to the multiple groups of first simulation test results, the target first configuration parameters corresponding to the target first simulation test results can be determined from the multiple groups of first configuration parameters.
In the embodiment, the configuration parameters corresponding to each module on the data path are determined by adopting a simulation test mode, so that compared with the mode of determining the configuration parameters by repeated trial and error in an upper board test environment, the efficiency of determining the configuration parameters can be effectively improved, and the cost required by the upper board test is saved. In addition, the simulation platform can traverse multiple groups of configuration parameters and give simulation test results corresponding to each group of configuration parameters, and the required configuration parameters can be determined from the multiple groups of configuration parameters without requiring that technicians have higher technical analysis capability and abundant debugging experience, so that the skill requirements on the technicians can be reduced. Meanwhile, the determined configuration parameters can meet the data path performance required by superposition of a plurality of forwarding services, so that the data path performance of a product can be prevented from meeting the data path performance in one service scene only and not meeting the data path performance in another service scene.
As an example, the simulation platform may be an ESL simulation platform, other simulation platforms, and the like.
With reference to the first aspect, in a first possible implementation manner of the first aspect, the incoming traffic information includes any one or more of a traffic type, a port template, a rate template, a priority template, and a packet length template, and the data path behavior includes port information and/or a traffic forwarding path. In this embodiment, one or more templates may be used to simulate the incoming traffic of the forwarding service, and the data path behavior port information and/or the service forwarding path may be used to simulate the data path of the incoming traffic, thereby implementing the simulation of the forwarding service.
With reference to the first implementation manner of the first aspect, in a second possible implementation manner of the second aspect, the service type includes unicast and/or multicast; the port template comprises any one or more of spontaneous self-harvesting, half-migration, symmetrical migration, random migration, leaf full coverage, leaf front half coverage, leaf back half coverage, leaf interval half coverage and leaf random coverage; the rate template comprises any one or more of burst open, burst unopened, full flow, half flow and self-defined percentage flow; the priority template comprises one or more traffic transmission priorities, and when the priority template comprises a plurality of traffic transmission priorities, the ratio among the traffic transmission priorities is a preset ratio and/or a custom ratio; the packet length template comprises any one or more of self-defining packet length, random jump of the packet length in a preset packet length interval, incremental jump of the packet length in the preset packet length interval and mixing of multiple packet lengths; the port information comprises any one or more of port numbers, physical address aggregation MAG sources and port rates; the service forwarding path is used for describing a forwarding path and/or forwarding delay of the service.
With reference to any one of the first aspect to the second implementation manner of the first aspect, in a third possible implementation manner of the first aspect, the configuration parameters of the target modules on the data path assign values to members in target classes corresponding to the target modules, and different target modules on the data path correspond to different target classes. In this embodiment, the modules on the data path may be simulated by defined classes, and the configuration parameters of each module on the data path are assigned to the members in its corresponding class. In practical application, the data path or the equipment (such as a single board, a chip and the like) carrying the data path can be abstractly defined as a large class, each module on the data path is an internal class, each module on the data path carries out a parameter configuration process, namely a process of assigning values to members in the corresponding class by a simulation platform, so that simulation test on forwarding service simulation information can be realized.
With reference to any one of the first aspect to the third implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, the method further includes: training to obtain a machine learning model according to the multiple groups of first configuration parameters and the multiple groups of first simulation test results, wherein the input of the machine learning model is the first configuration parameters of each group of the multiple groups of first configuration parameters, and the output of the machine learning model is the first simulation test result corresponding to each group of first configuration parameters. In this embodiment, after the simulation platform obtains the simulation test results corresponding to the plurality of groups of configuration parameters, the machine learning model can be trained by using the configuration parameters and the simulation test results corresponding to the configuration parameters, and the machine learning model can output and obtain the corresponding simulation test results based on the input configuration parameters.
With reference to the fourth implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, the method further includes: determining a plurality of sets of different second configuration parameters; respectively inputting the multiple groups of different second configuration parameters into the machine learning model to obtain multiple groups of second simulation test results, wherein the multiple groups of second simulation test results are output by the machine learning model; determining a target second simulation test result from the plurality of groups of second simulation test results, wherein the target second simulation test result is consistent with expected output flow, and the expected output flow is the output flow of the input flow of the target forwarding service after passing through the data path; and determining a second configuration parameter corresponding to the target second simulation test result. In the embodiment, the machine learning model can be utilized to determine the configuration parameters meeting the performance requirements of the data path in the target forwarding service scene from a group of configuration parameters, so that the configuration parameters can be determined without a simulation test or a board test, and the efficiency of determining the configuration parameters is effectively improved.
With reference to the fourth implementation manner or the fifth implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the machine learning model is constructed based on a back propagation BP neural network.
In a second aspect, an embodiment of the present application further provides an apparatus for determining a configuration parameter, including: the first determining module is used for determining forwarding service simulation information, wherein the forwarding service simulation information comprises input flow information and data path behaviors, the input flow information is used for simulating input flows corresponding to a plurality of forwarding services, and the data path behaviors are used for simulating data paths for transmitting the input flows; the simulation test module is used for respectively carrying out simulation test on the forwarding service simulation information based on a plurality of groups of first configuration parameters of the data paths to obtain a plurality of groups of first simulation test results, wherein the plurality of groups of first configuration parameters are different configuration parameters, and each group of first simulation test result in the plurality of groups of first simulation test results is used for simulating the output flow of the input flow corresponding to the forwarding service after passing through the data path corresponding to one group of first configuration parameters in the plurality of groups of first configuration parameters; and the second determining module is used for determining target first configuration parameters corresponding to the target first simulation test results from the plurality of groups of first configuration parameters according to the plurality of groups of first simulation test results.
With reference to the second aspect, in a first possible implementation manner of the second aspect, the ingress traffic information includes any one or more of a traffic type, a port template, a rate template, a priority template, and a packet length template, and the data path behavior includes port information and/or a traffic forwarding path.
With reference to the first implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the service type includes unicast and/or multicast; the port template comprises any one or more of spontaneous self-harvesting, half-migration, symmetrical migration, random migration, leaf full coverage, leaf front half coverage, leaf back half coverage, leaf interval half coverage and leaf random coverage; the rate template comprises any one or more of burst open, burst unopened, full flow, half flow and self-defined percentage flow; the priority template comprises one or more traffic transmission priorities, and when the priority template comprises a plurality of traffic transmission priorities, the ratio among the traffic transmission priorities is a preset ratio and/or a custom ratio; the packet length template comprises any one or more of self-defining packet length, random jump of the packet length in a preset packet length interval, incremental jump of the packet length in the preset packet length interval and mixing of multiple packet lengths; the port information comprises any one or more of port numbers, physical address aggregation MAG sources and port rates; the service forwarding path is used for describing a forwarding path and/or forwarding delay of the service.
With reference to any one of the second implementation manners of the second aspect to the second implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the configuration parameters of the target modules on the data path assign values to members in target classes corresponding to the target modules, and different target modules on the data path correspond to different target classes.
With reference to any one of the third implementation manners of the second aspect, in a fourth possible implementation manner of the second aspect, the apparatus further includes: the training module is used for training to obtain a machine learning model according to the multiple groups of first configuration parameters and the multiple groups of first simulation test results, wherein the input of the machine learning model is the first configuration parameters of each group of the multiple groups of first configuration parameters, and the output of the machine learning model is the first simulation test result corresponding to each group of first configuration parameters.
With reference to the fourth implementation manner of the second aspect, in a fifth possible implementation manner of the second aspect, the apparatus further includes: a third determining module, configured to determine a plurality of different sets of second configuration parameters; the input module is used for respectively inputting the multiple groups of different second configuration parameters into the machine learning model to obtain multiple groups of second simulation test results, wherein the multiple groups of second simulation test results are output by the machine learning model; a fourth determining module, configured to determine a target second simulation test result from the multiple sets of second simulation test results, where the target second simulation test result is consistent with an expected output flow, and the expected output flow is an output flow after the input flow of the target forwarding service passes through the data path; and a fifth determining module, configured to determine a second configuration parameter corresponding to the target second simulation test result.
With reference to the fourth implementation manner or the fifth implementation manner of the second aspect, in a sixth possible implementation manner of the second aspect, the machine learning model is constructed based on a back propagation BP neural network.
The apparatus for determining a configuration parameter described in the second aspect corresponds to the method for determining a configuration parameter described in the first aspect, and therefore, various possible implementations of the second aspect and the advantages thereof may refer to corresponding implementations in the first aspect and the relevant description of the advantages thereof, which are not repeated herein.
In a third aspect, embodiments of the present application further provide an apparatus, including: a processor and a memory; the memory is used for storing instructions or computer programs; the processor is configured to execute the instructions or the computer program, and perform the method according to any one of the embodiments of the first aspect.
The apparatus for determining a configuration parameter described in the third aspect corresponds to the method for determining a configuration parameter described in the first aspect, and therefore, various possible embodiments of the third aspect and the advantages thereof may refer to corresponding embodiments in the first aspect and the relevant description of the advantages thereof, which are not repeated herein.
In a fourth aspect, embodiments of the present application further provide a computer-readable storage medium comprising instructions or a computer program, which when run on a computer, causes the computer to perform the method according to any one of the embodiments of the first aspect.
The apparatus for determining a configuration parameter described in the fourth aspect corresponds to the method for determining a configuration parameter described in the first aspect, and therefore, various possible implementations of the fourth aspect and advantages thereof may refer to corresponding implementations in the first aspect and related descriptions of the advantages thereof, which are not repeated herein.
In the foregoing implementation manner of the embodiment of the present application, forwarding service simulation information is first determined, where the forwarding service simulation information may include input traffic information and data path behavior, where the input traffic information is used to simulate input traffic corresponding to a plurality of forwarding services, and the data path behavior is used to simulate a data path for transmitting the input traffic; and then, respectively carrying out simulation test on the forwarding service simulation information based on a plurality of groups of configuration parameters of the data path to obtain a plurality of groups of simulation test results, wherein the plurality of groups of configuration parameters are different configuration parameters, each group of simulation test results in the plurality of groups of simulation test results is used for simulating the output flow of the input flow corresponding to the forwarding service after passing through the data path corresponding to one group of configuration parameters in the plurality of groups of first configuration parameters, so that a target simulation test result can be determined according to the plurality of groups of simulation test results, and the target configuration parameter corresponding to the target simulation test result is used as the finally required determined configuration parameter. Because the configuration parameters corresponding to each module on the data path are determined by adopting a simulation test mode, the simulation platform can quickly obtain a plurality of groups of simulation test results based on a plurality of groups of configuration parameters, so that the required configuration parameters can be quickly determined, on one hand, compared with the repeated trial and error in an upper board test environment, the simulation test mode can effectively improve the efficiency of determining the configuration parameters and also save the cost required by the upper board test; on the other hand, the simulation platform can traverse a plurality of groups of configuration parameters and give out simulation test results corresponding to each group of configuration parameters, and the required configuration parameters can be determined from the plurality of groups of configuration parameters without requiring that technicians have higher technical analysis capability and abundant debugging experience, so that the skill requirements on the technicians can be reduced. Meanwhile, the determined configuration parameters can meet the data path performance required by superposition of a plurality of services, so that the data path performance of a product can be prevented from meeting the data path performance in one service scene only and not meeting the data path performance in another service scene.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings may be obtained according to these drawings for a person having ordinary skill in the art.
FIG. 1 is a flowchart of a method for determining configuration parameters according to an embodiment of the present application;
FIG. 2 is a schematic diagram of defining classes corresponding to modules on a data path according to an embodiment of the present application;
FIG. 3 is a flowchart illustrating another method for determining configuration parameters according to an embodiment of the present application;
fig. 4 is a schematic diagram of a reverse transmission neural network in an embodiment of the present application;
FIG. 5 is a schematic diagram of an apparatus for determining configuration parameters according to an embodiment of the present application;
fig. 6 is a schematic hardware structure of an apparatus according to an embodiment of the present application.
Detailed Description
In the process of landing a product (such as a single board, a chip and the like), the problem of the performance parameter of the product on a data path is often a key pain point of the product in characteristic delivery, and the problem ratio may be more than 60%. In practical applications, there are multiple combinations (e.g., 300 combinations) of configuration parameters of each module on a data path of a product, so that performance parameters (i.e., parameters configured by each module on the data path) on the data path of the product generally need to be tested on a test device to determine which combination of configuration parameters meets the requirements of the practical application. When the test result obtained by the upper board test does not meet the expectations of the technician, the technician will generally adjust the parameters configured by each module on the data path according to the test result.
However, in the upper board test process, since it is difficult for a technician to obtain the flow regulation and control data of each module on the data path, it is difficult to locate the configuration parameters to be adjusted on the data path according to the test result, at this time, a technician with a high level of technical analysis capability and abundant debugging experience is generally required to adjust the configuration parameters multiple times in the upper board environment, so that the test output of the product data path based on the adjusted configuration parameters can reach the expected test requirement. Because the configuration parameters are determined in the upper board test environment, in order to reduce the trial-and-error times as much as possible, the technical skill requirement is high, the difficulty challenge is high, and the efficiency of determining the configuration parameters is reduced because the technical staff repeatedly tries and errors in the upper board test environment. Meanwhile, the field related to the upper plate test is more, the material environment is more, and the cost of the upper plate test is higher.
Based on this, the embodiment of the application provides a method for determining configuration parameters, which aims to reduce the skill requirements for technicians in the process of determining the configuration parameters, improve the efficiency of determining the configuration parameters and reduce the cost. Specifically, forwarding service simulation information may be determined first, where the forwarding service simulation information may include input traffic information and data path behavior, where the input traffic information is used to simulate input traffic corresponding to a plurality of forwarding services, and the data path behavior is used to simulate a data path for transmitting the input traffic; and then, respectively carrying out simulation test on the forwarding service simulation information based on a plurality of groups of configuration parameters of the data path to obtain a plurality of groups of simulation test results, wherein the plurality of groups of configuration parameters are different configuration parameters, each group of simulation test results in the plurality of groups of simulation test results is used for simulating the output flow of the input flow corresponding to the forwarding service after passing through the data path corresponding to one group of configuration parameters in the plurality of groups of first configuration parameters, so that a target simulation test result can be determined according to the plurality of groups of simulation test results, and the target simulation test result can be a simulation test result conforming to an expected test standard, and thus, the target configuration parameter corresponding to the target simulation test result can be used as the finally required determined configuration parameter.
Because the configuration parameters corresponding to each module on the data path are determined by adopting a simulation test mode, the simulation platform can quickly obtain a plurality of groups of simulation test results based on a plurality of groups of configuration parameters, so that the required configuration parameters can be quickly determined, on one hand, compared with the repeated trial and error in an upper board test environment, the simulation test mode can effectively improve the efficiency of determining the configuration parameters and also save the cost required by the upper board test; on the other hand, the simulation platform can traverse a plurality of groups of configuration parameters and give out simulation test results corresponding to each group of configuration parameters, and the required configuration parameters can be determined from the plurality of groups of configuration parameters without requiring that technicians have higher technical analysis capability and abundant debugging experience, so that the skill requirements on the technicians can be reduced. Meanwhile, the determined configuration parameters can meet the data path performance required by superposition of a plurality of services, so that the data path performance of a product can be prevented from meeting the data path performance in one service scene only and not meeting the data path performance in another service scene.
In order to make the above objects, features and advantages of the present application more comprehensible, various non-limiting implementations in accordance with embodiments of the present application are described below with reference to the accompanying drawings. It will be apparent that the embodiments described are some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
Referring to fig. 1, fig. 1 shows a flowchart of a method for determining configuration parameters in an embodiment of the present application, where the method may be applied to a device connected to a simulation platform or applied to a device carrying the simulation platform, and the method may specifically include:
s101: and determining forwarding service simulation information, wherein the forwarding service simulation information comprises input flow information and data path behaviors, the input flow information is used for simulating and reading input flow corresponding to forwarding service, and the data path behaviors are used for simulating a data path for transmitting the input flow.
In the process of performing the simulation test, specific information may be used to simulate a plurality of forwarding services, specifically, input traffic information and data path behavior of a plurality of forwarding services on a data path (for convenience of description, the specific information will be referred to as forwarding service simulation information hereinafter). The input flow information is used for simulating the corresponding input flow when the plurality of forwarding services are subjected to simulation test, and the data path behavior is used for transmitting the input flow in the simulation test process.
In specific implementation, the forwarding service simulation information may be set according to an input flow and an output flow of a specific forwarding service in practical application on a data path, for example, in practical application, a packet length in an input flow of a forwarding service a is generally 64 bits, and the forwarding service simulation information corresponding to the forwarding service a may include packet length information with a packet length of 64 bits.
In some exemplary embodiments, the data path behavior in forwarding traffic simulation information may include port information and/or traffic forwarding paths.
The port information may specifically include any one or more of a port number (such as a port ID), a source of a physical address aggregation (MAG), and a port rate. MAG sources can be used to describe LMAG (line MAC aggregation)/FMAG/IMAG sources for ports on hardware; the port rate may be determined according to the network chip, and may be, for example, 1Gbps, 10Gbps, 20Gbps, 25Gbps, 40Gbps, 50Gbps, 100Gbps, 200Gbps, 240Gbps, 400Gbps, 500Gbps, etc.
A traffic forwarding path may be used to describe a path (i.e., forwarding path) of traffic of forwarding traffic on a data path. Optionally, the service forwarding path may also describe a forwarding delay of forwarding the service during forwarding.
In addition, the input traffic information in the forwarding service simulation information can be specifically any one or more of a service type, a port template, a rate template, a priority template and a packet length template.
The service type refers to a message sending manner of the forwarding service, and may be classified into two types, for example, unicast and multicast.
The port templates may be different according to different service types, and in particular, when the service type is unicast, the port templates may include any one or more of templates of different types of self-receiving, semi-shifting, symmetrical shifting and random shifting. The self-receiving means that a destination port (tp) for receiving the data packet is the same as a source port (sp) for transmitting the data packet. Half-offset, which is the destination port tp= (sp+ (n-1)/2)% n for receiving a packet, is assumed that the number of ports is n and is an odd number; or the destination port tp= (sp+n/2)% n, n being the number of ports and being an even number. Symmetric offset refers to the destination port tp=n-1-sp for transmitting a packet, n being the number of ports. Random offset means that the destination port tp receiving the data packet is any port other than the source port sp.
And when the traffic type is multicast, the port template may include any one or more of a leaf full coverage, a leaf front half coverage, a leaf back half coverage, a leaf interval half coverage, and a leaf random coverage. The total coverage of the leaves means that the number of multicast leaf members is equal to the number of ports, that is, each multicast leaf member corresponds to one port and is used as a destination port for receiving the data packet.
The front half of the leaf is covered, which means that multicast leaf members are respectively in one-to-one correspondence with the front half of ports or the ports of the approximate front half. For example, assuming that the number of ports is n, the ports are respectively numbered from 0 to n, if n is an odd number, the destination port tp of the received packet (i.e., the destination port corresponding to the multicast leaf member) is {0,1,2, …, (n-1)/2 }, and if n is an even number, the destination port tp is {0,1,2, …, n/2-1}.
Correspondingly, the second half of the leaf is covered, which means that multicast leaf members respectively correspond to the ports of the second half or the ports of the second half approximately one by one. For example, assuming still that the number of ports is n, each numbered 0 to n, where n is an odd number, the destination port tp of the received packet is { (n-1)/2, …, n-1}, and if n is an even number, the destination port tp is { n/2, …, n-1}.
The half coverage of the leaf interval means that the multicast leaf members are respectively in one-to-one correspondence with half ports or approximately half ports, and at least one port is spaced between the ports corresponding to any two multicast leaf members. For example, assuming that the number of ports is n, and the ports are respectively numbered from 0 to n, if n is an odd number, the destination port tp of the received packet may be {0,2,4, …, n-1}, and if n is an even number, the destination port tp may be {0,2,4, …, n-2}.
The random coverage of the leaves refers to randomly selecting a destination port corresponding to a multicast leaf member from the total ports. For example, assuming that the number of ports is n, numbered 0 to n, respectively, and the number of multicast leaf members is m (m.ltoreq.n), tp is m ports randomly selected from n ports.
The rate template in the input traffic information may include any one or more of burst on, burst off, full traffic, half traffic, and custom percentage traffic.
Burst (burst) is an operation that allows the flow of the port to suddenly change, for example, allows the flow of the port to suddenly increase to a larger value or suddenly decrease to a smaller value. Accordingly, a burst is not open, meaning that the traffic of the port is not allowed to suddenly change. In practical application, the change value of the port flow can be compared with a preset threshold value to determine whether burst occurs.
Full traffic refers to the transmission rate of packets (traffic) forwarding traffic at a port reaching the maximum value of that port transmission rate. Half-traffic refers to that the transmission rate of the data packet of the forwarding service at the port reaches half of the maximum transmission rate corresponding to the port. The custom percentage means that the transmission rate of the data packet of the forwarding service at the port can be set by the user (technician), for example, can be set to 40%, which means that the transmission rate of the data packet of the forwarding service at the port reaches 40% of the maximum transmission rate corresponding to the port.
The priority template in the input traffic information may include one or more traffic transmission priorities, which represent priorities of traffic of the forwarding service when the traffic is transmitted at the port. For example, assuming that the priority corresponding to the traffic of the forwarding service a is Pri0 and the priority corresponding to the traffic of the forwarding service B is Pri7, when the traffic of the forwarding service a and the traffic of the forwarding service B are simultaneously transmitted by the same port, the traffic corresponding to the forwarding service B may be preferentially transmitted, and the traffic corresponding to the forwarding service a may be retransmitted (assuming that the higher the priority value, the higher the priority level, the more preferentially the traffic is transmitted).
Assuming that the priority of traffic transmitted at the port has 8 types of pri0, pri1, &, pri7 (of course, in other embodiments, more or less than 8 types are possible), the priority template may include a traffic transmission priority, such as a priority of pri0, or a priority of pri7, etc.; various traffic priorities may be included, such as pri0 and pri7, and the traffic ratio of these two traffic priorities may be 1:1 or other predetermined ratio, or 8 traffic priorities including pri0 to pri7, and the traffic ratio between the traffic priorities may be a predetermined ratio, such as 1:1:1:1:1:1:1:1. In a further possible embodiment, when the priority template includes multiple traffic transmission priorities, the ratio between the traffic transmission priorities may also be a user (technician) customized ratio, for example, the traffic of the forwarding service a may include traffic of two traffic transmission priorities of Pri0 and Pri7, and the user may define the traffic ratio of the two traffic transmission priorities to be 3:7.
The packet length template in the input traffic information refers to a length template of a data packet in the input traffic of the forwarding service, and may include any one or more of a custom packet length, random hopping of the packet length within a preset packet length interval, incremental hopping of the packet length within the preset packet length interval, and multiple packet length mixtures.
The length of the custom packet, that is, the length of the data packet in the input flow of the forwarding service, may be set by the user, for example, the user may set the length of each data packet in the input flow of the forwarding service to be 64Bit, or 128Bit, etc.
The random jump of the packet length in the preset packet length interval means that the length of the data packet in the input flow of the forwarding service can be any value (positive integer) in the preset packet length interval. For example, assuming that the preset packet length interval is [64Bit,256Bit ] or [64Bit,9600Bit ], the packet length may be a length value of 64Bit, 128Bit, 192Bit, 256Bit, etc. Also, the packet length of different data packets may be different.
The incremental jump of the packet length in the preset packet length interval means that the length of each data packet in the input flow of the forwarding service can be gradually increased, and the packet length of each data packet is in the preset packet length interval. For example, assuming that the preset packet length interval is [64Bit,256Bit ] or [64Bit,9600Bit ], the packet length may be sequentially increased from 64 Bit. Assuming that the increment step is 1Bit, the packet length of the first packet may be 64Bit, the packet length of the second packet may be 65Bit, the packet length of the third packet may be 66Bit, etc. Of course, in practical application, when the packet length of a certain data packet is 256Bit, the packet length of the next data packet may be incremented again from 64 Bit.
The mixing of multiple packet lengths means that data packets with different packet lengths in the input flow of the forwarding service can be mixed according to a certain proportion. For example, assuming that the forwarding service a includes two packets of packet lengths of 64Bit and 1518Bit, the ratio of the two packets of packet lengths may be 7:3, i.e., 70% of the packets have a packet length of 64Bit and 30% of the packets have a packet length of 1518Bit. In other examples, the forwarding service a traffic includes four packets of packet lengths of 64Bit, 78Bit, 576Bit, and 1518Bit, and the ratio of the packets is 55:5:17:23 in sequence; or, the forwarding service a flow contains data packets with six packet lengths of 64Bit, 130Bit, 260Bit, 577Bit, 1518Bit and 9000Bit, and the ratio of the data packets is 449:160:200:80:110:1 in sequence.
Optionally, for each forwarding service in the practical application, in this embodiment, triple information may be used to perform forwarding service simulation. As the input of the simulation test, the triplet information can be { port information, input traffic information, service forwarding path }. In this way, when the input flow of a plurality of forwarding services is included under a certain port, the service flows of the plurality of forwarding services under the port can be represented by using the triplet information (or the service simulation information) corresponding to each forwarding service, so that superposition of a plurality of forwarding service scenes can be realized, and further, based on the determined configuration parameters under the superposition service scenes, the performance requirements of the data paths under a plurality of different forwarding service scenes can be met.
S102: and respectively carrying out simulation test on the forwarding service simulation information based on multiple groups of first configuration parameters of the data paths to obtain multiple groups of first simulation test results, wherein the multiple groups of first configuration parameters are different configuration parameters, and each group of first simulation test result in the multiple groups of first simulation test results is used for simulating the output flow of the input flow corresponding to the forwarding service after passing through the data path corresponding to one group of first configuration parameters in the multiple groups of first configuration parameters.
For example, after determining the forwarding service simulation information corresponding to each forwarding service, the forwarding service simulation information may be input to a simulation platform for simulation test; the simulation platform can respectively carry out simulation test on the forwarding service simulation information based on a plurality of groups of different configuration parameters of the data path, and can obtain a simulation test result corresponding to each group of configuration parameters. Each group of configuration parameters is a combination of one configuration parameter corresponding to each module on the data path, and the configuration parameters corresponding to at least one module on the data path are different among different groups of configuration parameters. For convenience of description, this configuration parameter will be referred to as a first configuration parameter hereinafter. And each group of simulation test results is used for simulating the output flow of the input flow corresponding to the forwarding services after passing through the data path corresponding to the corresponding first configuration parameters. For convenience of description, the simulation test result will be referred to as a first simulation test result hereinafter.
It can be understood that, by means of the simulation test, a first simulation test result corresponding to each set of first configuration parameters can be obtained, so that the flow output corresponding to the set of first configuration parameters does not need to be tested in the upper board environment. Thus, the efficiency of obtaining test results is generally relatively high, and the hardware overhead required for board testing can also be saved.
In an exemplary embodiment, classes may be utilized to abstract corresponding modules on the description data path during the simulation test. Specifically, a data path or a single board/chip carrying the data path may be used as a major class, each module on the data path may be used as an internal class, and correspondingly, a sub-module under each module may be used as a sub-class of the internal class, and a public attribute of each module may be used as a parent class member, and a private attribute of each module may be used as a sub-class member. In this way, the parameter configuration process is performed on each module on the data path, namely, the process of assigning values to members in the corresponding class by the simulation platform. Taking a target module on a data path as an example, the target module can be any module on the data path, and performing parameter configuration on the target module, namely assigning a value to a member in a class corresponding to the target module in a simulation platform. Wherein, different target modules on the data path can correspond to different target classes, and the configuration parameters of the different target modules correspond to the member assignments in the different target classes.
As an example, according to a module on a data path, a class corresponding to the module may be defined in a manner as shown in fig. 2. Taking Total level, RES level, channel_group level and Channel level four-level waterline configuration parameters of the RB module as examples, assignment can be specifically performed on corresponding members in the RB class, the RES class, the CHAN_GROUP class and the CHAN class. Similarly, the process of parameter configuration for the PA module and the PORT module is similar to the process of parameter configuration for the EB module, and will not be described herein.
In this way, the simulation platform can assign values to the members in the corresponding classes according to each group of the first configuration parameters, so that the parameter configuration process of each module on the data path is simulated, and based on the assigned values, the members in the classes perform simulation test on the input forwarding service simulation information to obtain corresponding first simulation test results, so that multiple groups of first simulation test results can be obtained based on different groups of the first configuration parameters, and each group of the first configuration parameters corresponds to at least one group of first simulation test results.
It should be noted that the simulation platform in this embodiment may be an electronic system level (electronic system level, ESL) simulation platform, or may be another simulation platform, which is not limited in this embodiment.
S103: according to the obtained multiple groups of first simulation test results, the target first configuration parameters corresponding to the target first simulation test results can be determined from the multiple groups of first configuration parameters.
In practical application, after a plurality of groups of first simulation test results are obtained, a first simulation test result (hereinafter referred to as a target first simulation test result for convenience of description) corresponding to an expected flow output result can be determined from the first simulation test results, and a group of first configuration parameters adopted by the target first simulation test result are obtained and are used as target first configuration parameters which are expected to be determined finally.
Therefore, compared with the process that technicians perform the test in the upper board environment to determine the target first configuration parameters, the process of determining the target first configuration parameters by the simulation test mode has relatively high efficiency, and hardware environment cost required by the upper board test can be effectively saved. Meanwhile, the simulation platform can automatically perform simulation test based on a plurality of groups of different first configuration parameters and give out corresponding first simulation test results, technical staff are not required to have higher technical analysis capability and abundant debugging experience, and the technical requirements of the technical staff are reduced. In addition, the platform can perform simulation test on the forwarding service simulation information of a plurality of forwarding services, so that the finally determined first configuration parameters can meet the performance requirements of the data path in various forwarding service scenes.
In practical application, after a plurality of groups of first simulation test results are determined by utilizing a plurality of groups of different first configuration parameters based on the simulation platform, machine learning can be performed based on the plurality of groups of first configuration parameters and the plurality of groups of first simulation test results. Therefore, simulation test is not needed by means of a simulation platform, a simulation test result corresponding to each group of configuration parameters can be rapidly determined by using a model obtained by machine learning, so that the work investment of designers of a data path is further reduced, the labor cost is saved, and the efficiency of determining the configuration parameters is improved.
Referring to fig. 3, fig. 3 is a flowchart of another method for determining configuration parameters according to an embodiment of the present application, after performing steps S101 to S103 shown in fig. 1, the method may further perform:
step S104: training to obtain a machine learning model according to a plurality of groups of first configuration parameters and a plurality of groups of first simulation test results, wherein the input of the machine learning model is the first configuration parameters of each group of the first configuration parameters, and the output of the machine learning model is the first simulation test result corresponding to each group of the first configuration parameters.
In this embodiment, the first configuration parameters adopted when the simulation platform performs the simulation test and the first simulation test result obtained based on the set of first configuration parameters may be recorded, and then may be divided into a sample set and a test set for training and testing a machine learning model.
In the process of training the machine learning model, each group of first configuration parameters in the sample set can be used as input of the machine learning model, a first simulation test result corresponding to the group of first configuration parameters is used as output of the machine learning model, and the machine learning model is trained, so that the machine learning model is obtained by training multiple groups of first configuration parameters and multiple groups of first simulation test results in the sample set.
Then, each group of first configuration parameters contained in the test set and the corresponding first simulation test results can be utilized to test the machine learning model obtained through training. Specifically, each group of first configuration parameters in the test set is used as input of the machine learning model, the machine learning model outputs a result based on the input configuration parameters, the result is compared with a first simulation test result corresponding to the first configuration parameters in the test set, if the result output by the machine learning model meets a preset test requirement (such as similarity reaches a preset standard) with the corresponding first simulation test result, the machine learning model can be determined to pass the test, and if the result output by the machine learning model does not meet the preset test requirement with the corresponding simulation test result, the machine learning model can be continuously trained.
As an example, the machine learning model may be built based on a Back Propagation (BP) neural network. For example, a BP neural network may be as shown in fig. 4, which includes an input layer, a hidden layer, and an output layer. Assuming that the incoming traffic of the forwarding service includes at most traffic with traffic transmission priority among 7 of Pri0 to Pri6, each set of first configuration parameters includes n parameters, namely Param 0 ,Param 1 ,Param 2 ,…,Param n-1 Each set of first configuration parameters Param may be used in training the machine learning model 0 ,Param 1 ,Param 2 ,…,Param n-1 The input layer is sent to be used as a sample input of a model, and the discarding percentages lossPercent corresponding to the priority flows of Pri0 to Pri7 in the bandwidth in sequence are carried out 0 ,LossPercent 1 ,LossPercent 2 ,…,LossPercent 7 And (namely, a simulation test result) is output as a sample of the BP neural network, and training of a machine learning model (or BP neural network) is performed.
Therefore, after the machine learning model is obtained through training, simulation tests can be carried out without the aid of a simulation platform, and according to each forwarding service scene or a scene where multiple forwarding services are overlapped, simulation test results corresponding to the group of configuration parameters can be obtained through the machine learning model in a rapid output mode according to each group of configuration parameters, so that the efficiency of determining the configuration parameters can be further improved. In particular, the determination of the configuration parameters may be achieved by continuing to perform steps S105 to S107.
S105: a plurality of sets of different second configuration parameters are determined.
After training to obtain the machine learning model, if the configuration parameters meeting the required data path performance under a certain service scene need to be determined, the machine learning model can be utilized to obtain simulation test results corresponding to each group of configuration parameters. For convenience of description, the configuration parameters input into the machine learning model are hereinafter referred to as second configuration parameters, and the configuration parameters finally required to be determined are one set of configuration parameters in the second configuration parameters. The determined multiple sets of different second configuration parameters may be given by a technician, or may be all possible combinations of configuration parameters of each module on the traversing data path, and all or part of the second configuration parameters are taken as the second configuration parameters in the embodiment.
In a further possible implementation manner, an expected flow output after the input flow of the target forwarding service (any one or more services in practical application) passes through the data path may be determined, in general, after the input flow of the target forwarding service is regulated and controlled by the configuration parameters of each module on the data path, the output flow on the data path is consistent with the expected flow output, and the configuration parameters of each module on the data path are characterized at this time, so that the performance of the data path can meet the requirements in the scene of the target forwarding service. Therefore, the expected flow output of the input flow of the target forwarding service after the input flow passes through the data path can also be determined.
S106: and respectively inputting the multiple groups of different second configuration parameters into a machine learning model to obtain multiple groups of second simulation test results, wherein the multiple groups of second simulation test results are output by the machine learning model.
When the simulation test result is obtained, the second configuration parameters can be input into the machine learning model, and the machine learning model outputs the second simulation test result corresponding to each group of the second configuration parameters, so that a plurality of groups of second simulation test results can be obtained based on a plurality of groups of the second configuration parameters.
S107: and determining a target second simulation test result from the plurality of groups of second simulation test results, wherein the target second simulation test result is consistent with the expected output flow, and the expected output flow is the output flow of the input flow of the target forwarding service after passing through the data path.
When the method is concretely implemented, after a plurality of groups of simulation test results are obtained by using a machine learning model, each second simulation test result can be compared with the expected flow output of the input flow of the target forwarding service after the input flow passes through the data path, and if the flow output represented by the target second simulation test result is consistent with the expected flow output in the plurality of groups of second simulation test results, the candidate configuration parameters corresponding to the target second simulation test result are the configuration parameters to be determined.
S108: and determining a second configuration parameter corresponding to the target second simulation test result.
After determining the target second simulation test result based on step S107, when the machine learning model outputs the target second simulation test result, the second configuration parameter input as the machine learning model is determined to be the configuration parameter to be determined, that is, the configuration parameter meeting the data path performance requirement required by the target forwarding service scenario.
In the process, the simulation test result corresponding to each group of configuration parameters can be obtained by utilizing the machine learning model, and the required simulation test result corresponding to each group of configuration parameters can be obtained without a simulation test mode, so that the efficiency of obtaining the simulation test result can be improved, and the efficiency of determining the configuration parameters can be further improved.
In addition, the embodiment of the application also provides a device for determining the configuration parameters. Referring to fig. 5, fig. 5 shows a schematic structural diagram of an apparatus for determining configuration parameters in an embodiment of the present application, where the apparatus 500 includes:
a first determining module 501, configured to determine forwarding service simulation information, where the forwarding service simulation information includes input traffic information and data path behavior, where the input traffic information is used to simulate input traffic corresponding to a plurality of forwarding services, and the data path behavior is used to simulate a data path for transmitting the input traffic;
The simulation test module 502 is configured to perform a simulation test on the forwarding service simulation information based on multiple sets of first configuration parameters of the data paths, to obtain multiple sets of first simulation test results, where the multiple sets of first configuration parameters are different configuration parameters, and each set of first simulation test result in the multiple sets of first simulation test results is used to simulate an output flow of an input flow corresponding to the multiple forwarding services after passing through a data path corresponding to one set of first configuration parameters in the multiple sets of first configuration parameters;
the second determining module 503 is configured to determine, according to the multiple sets of first simulation test results, a target first configuration parameter corresponding to the target first simulation test result from the multiple sets of first configuration parameters.
In one possible implementation, the ingress traffic information includes any one or more of a traffic type, a port template, a rate template, a priority template, and a packet length template, and the data path behavior includes port information and/or a traffic forwarding path.
In one possible implementation, the service type includes unicast and/or multicast;
the port template comprises any one or more of spontaneous self-harvesting, half-migration, symmetrical migration, random migration, leaf full coverage, leaf front half coverage, leaf back half coverage, leaf interval half coverage and leaf random coverage;
The rate template comprises any one or more of burst open, burst unopened, full flow, half flow and self-defined percentage flow;
the priority template comprises one or more traffic transmission priorities, and when the priority template comprises a plurality of traffic transmission priorities, the ratio among the traffic transmission priorities is a preset ratio and/or a custom ratio;
the packet length template comprises any one or more of self-defining packet length, random jump of the packet length in a preset packet length interval, incremental jump of the packet length in the preset packet length interval and mixing of multiple packet lengths;
the port information comprises any one or more of port numbers, physical address aggregation MAG sources and port rates;
the service forwarding path is used for describing a forwarding path and/or forwarding delay of the service.
In one possible implementation manner, the configuration parameters of the target modules on the data path assign values to the members in the target classes corresponding to the target modules, and different target modules on the data path correspond to different target classes.
In one possible embodiment, the apparatus 500 further comprises:
The training module is used for training to obtain a machine learning model according to the multiple groups of first configuration parameters and the multiple groups of first simulation test results, wherein the input of the machine learning model is the first configuration parameters of each group of the multiple groups of first configuration parameters, and the output of the machine learning model is the first simulation test result corresponding to each group of first configuration parameters.
In one possible embodiment, the apparatus 500 further comprises:
a third determining module, configured to determine a plurality of different sets of second configuration parameters;
the input module is used for respectively inputting the multiple groups of different second configuration parameters into the machine learning model to obtain multiple groups of second simulation test results, wherein the multiple groups of second simulation test results are output by the machine learning model;
a fourth determining module, configured to determine a target second simulation test result from the multiple sets of second simulation test results, where the target second simulation test result is consistent with an expected output flow, and the expected output flow is an output flow after the input flow of the target forwarding service passes through the data path;
and a fifth determining module, configured to determine a second configuration parameter corresponding to the target second simulation test result.
In one possible implementation, the machine learning model is built based on a back propagation BP neural network.
It should be noted that, because the content of information interaction and execution process between the modules of the above-mentioned device is based on the same concept as the method embodiment in the embodiment of the present application, the technical effects brought by the content are the same as the method embodiment in the embodiment of the present application, and for convenience and brevity of description, the specific working process of the above-mentioned device and module may refer to the corresponding process in the foregoing method embodiment, and will not be repeated herein.
In addition, the embodiment of the application also provides equipment which can execute the method for determining the configuration parameters in the embodiment of the method. Referring to fig. 6, fig. 6 shows a schematic diagram of an exemplary hardware structure of the device, which may be the simulation platform or the device carrying the simulation platform in any of the above embodiments. The apparatus is a hardware-structured device that may be used to implement the functional modules in the device 500 shown in fig. 5. For example, one skilled in the art will recognize that the first determination module 501, the simulation test module 502, and the second determination module 503 in the apparatus 500 shown in fig. 5 may be implemented by at least one processor 601 invoking code in a memory 602. Optionally, the device may be further configured to implement the functions of the simulation platform or the device carrying the simulation platform in any of the foregoing embodiments.
The device may include at least one processor 601 and at least one memory 602. The processor 601 may be connected to a memory 602, for example by a bus 603 as shown in fig. 6. Of course, in practical applications, the connection between the processor 601 and the memory 602 may include various interfaces, transmission lines or buses, and the embodiment is not limited thereto.
The memory 602 may be used to store instructions or computer programs;
the processor 601 may be configured to execute the instructions or computer programs and perform the following steps according to the computer programs or instructions:
determining forwarding service simulation information, wherein the forwarding service simulation information comprises input flow information and data path behaviors, the input flow information is used for simulating input flows corresponding to a plurality of forwarding services, and the data path behaviors are used for simulating data paths for transmitting the input flows;
respectively performing simulation test on the forwarding service simulation information based on multiple groups of first configuration parameters of the data path to obtain multiple groups of first simulation test results, wherein the multiple groups of first configuration parameters are different configuration parameters, and each group of first simulation test results in the multiple groups of first simulation test results is used for simulating output flow of the forwarding service after the input flow corresponding to the forwarding service passes through the data path corresponding to one group of first configuration parameters in the multiple groups of first configuration parameters;
And determining a target first configuration parameter corresponding to the target first simulation test result from the plurality of groups of first configuration parameters according to the plurality of groups of first simulation test results.
In some possible embodiments, the ingress traffic information includes any one or more of a traffic type, a port template, a rate template, a priority template, and a packet length template, and the data path behavior includes port information and/or a traffic forwarding path.
In some possible implementations, the traffic types include unicast and/or multicast;
the port template comprises any one or more of spontaneous self-harvesting, half-migration, symmetrical migration, random migration, leaf full coverage, leaf front half coverage, leaf back half coverage, leaf interval half coverage and leaf random coverage;
the rate template comprises any one or more of burst open, burst unopened, full flow, half flow and self-defined percentage flow;
the priority template comprises one or more traffic transmission priorities, and when the priority template comprises a plurality of traffic transmission priorities, the ratio among the traffic transmission priorities is a preset ratio and/or a custom ratio;
The packet length template comprises any one or more of self-defining packet length, random jump of the packet length in a preset packet length interval, incremental jump of the packet length in the preset packet length interval and mixing of multiple packet lengths;
the port information comprises any one or more of port numbers, physical address aggregation MAG sources and port rates;
the service forwarding path is used for describing a forwarding path and/or forwarding delay of the service.
In some possible embodiments, the configuration parameters of the target modules on the data path assign values to members in the target classes corresponding to the target modules, and different target modules on the data path correspond to different target classes.
In some possible embodiments, the processor 601 may further perform the following steps according to the computer program or instructions:
training to obtain a machine learning model according to the multiple groups of first configuration parameters and the multiple groups of first simulation test results, wherein the input of the machine learning model is the first configuration parameters of each group of the multiple groups of first configuration parameters, and the output of the machine learning model is the first simulation test result corresponding to each group of first configuration parameters.
In some possible embodiments, the processor 601 may further perform the following steps according to the computer program or instructions:
determining a plurality of sets of different second configuration parameters;
respectively inputting the multiple groups of different second configuration parameters into the machine learning model to obtain multiple groups of second simulation test results, wherein the multiple groups of second simulation test results are output by the machine learning model;
determining a target second simulation test result from the plurality of groups of second simulation test results, wherein the target second simulation test result is consistent with expected output flow, and the expected output flow is the output flow of the input flow of the target forwarding service after passing through the data path;
and determining a second configuration parameter corresponding to the target second simulation test result.
In some possible implementations, the machine learning model is constructed based on a back-propagation BP neural network.
It should be noted that, since the content of the operations executed by the processor 601 according to the computer program or the instructions stored in the memory 602 is based on the same concept as the method embodiment in the embodiment of the present application, the technical effects brought by the method embodiment in the embodiment of the present application are the same as those of the method embodiment in the embodiment of the present application, and for convenience and brevity of description, the corresponding process in the method embodiment may be referred to for the specific working procedure of the processing execution step in the above description.
It should be noted that the processor in the present application may include, but is not limited to, at least one of the following: a central processing unit (central processing unit, CPU), microprocessor, digital signal processor (digital signal processing, DSP), microcontroller (microcontroller unit, MCU), or artificial intelligence processor, each of which may include one or more cores for executing software instructions to perform operations or processes. The processor may be a single semiconductor chip, or may be integrated with other circuitry into a single semiconductor chip, for example, may form a system-on-a-chip (system-on-a-chip) with other circuitry (such as codec circuitry, hardware accelerator circuitry, or various buses and interface circuitry), or may be integrated into an application-specific integrated circuit (ASIC) as a built-in processor of the ASIC, which may be packaged separately or with other circuitry. The processor may further include necessary hardware accelerators, such as field programmable gate arrays (field programmable gate array, FPGAs), programmable logic devices (programmable logic device, PLDs), or logic circuits implementing dedicated logic operations, in addition to the cores for executing software instructions to perform the operations or processing.
The memory in the embodiment of the application may include at least one of the following types: read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (random access memory, RAM) or other types of dynamic storage devices that can store information and instructions, and electrically erasable programmable read-only memory (electrically erasable programmable-only memory, EEPROM). In some scenarios, the memory may also be, but is not limited to, a compact disk (compact disc read-only memory) or other optical disk storage, optical disk storage media, magnetic disk storage or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
The memory may be independent and coupled to the processor. The memory can store program codes for executing the technical scheme of the embodiment of the application, and the program codes are controlled by the processor to be executed, and the executed computer program codes can be regarded as a driving program of the processor. For example, the processor is configured to execute computer program codes stored in the memory, thereby implementing the technical solutions in the embodiments of the present application.
In addition, the embodiment of the application further provides a computer readable storage medium, including instructions or a computer program, which when executed on a computer, causes the computer to perform the method for determining configuration parameters described in the embodiment of the method.
In this application, "english: of", corresponding "(english: retrieving)" and "corresponding" (english: retrieving) "may sometimes be used in combination, and it should be noted that the meaning to be expressed is consistent when the distinction is not emphasized.
It should be noted that, in the embodiments of the present application, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "for example" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
In this application, "at least one" means one or more. "plurality" means two or more. "and/or", describes an association relationship of an association object, and indicates that there may be three relationships, for example, a and/or B, and may indicate: a alone, a and B together, and B alone, wherein a, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one (one) of a, b, or c may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or plural. In addition, in order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, the words "first", "second", and the like are used to distinguish the same item or similar items having substantially the same function and effect. It will be appreciated by those of skill in the art that the words "first," "second," and the like do not limit the amount and order of execution, and that the words "first," "second," and the like do not necessarily differ.
The system architecture and the service scenario described in the embodiments of the present application are for more clearly describing the technical solution of the embodiments of the present application, and do not constitute a limitation on the technical solution provided in the embodiments of the present application, and those skilled in the art can know that, with the evolution of the network architecture and the appearance of the new service scenario, the technical solution provided in the embodiments of the present application is also applicable to similar technical problems.
In the several embodiments provided in this application, it should be understood that the disclosed apparatus, device, and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a storage medium, including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a read-only memory (ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The above embodiments are merely for illustrating the technical solution of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.

Claims (14)

1. A method of determining configuration parameters, the method comprising:
determining forwarding service simulation information, wherein the forwarding service simulation information comprises input flow information and data path behaviors, the input flow information is used for simulating input flows corresponding to a plurality of forwarding services, and the data path behaviors are used for simulating data paths for transmitting the input flows;
performing simulation test on the forwarding service simulation information based on multiple groups of first configuration parameters of the data path to obtain multiple groups of first simulation test results, wherein the multiple groups of first configuration parameters are different configuration parameters, each group of first simulation test result in the multiple groups of first simulation test results is used for simulating output flow of input flow corresponding to the forwarding service after passing through a data path corresponding to one group of first configuration parameters in the multiple groups of first configuration parameters, the configuration parameters of a target module on the data path are assigned to members in a target class corresponding to the target module, the target module is one module on the data path, and different modules on the data path correspond to different classes;
And determining a target first configuration parameter corresponding to the target first simulation test result from the plurality of groups of first configuration parameters according to the plurality of groups of first simulation test results.
2. The method of claim 1, wherein the ingress traffic information comprises any one or more of a traffic type, a port template, a rate template, a priority template, and a packet length template, and wherein the data path behavior comprises port information and/or traffic forwarding paths.
3. The method of claim 2, wherein the step of determining the position of the substrate comprises,
the service type comprises unicast and/or multicast;
the port template comprises any one or more of spontaneous self-harvesting, half-migration, symmetrical migration, random migration, leaf full coverage, leaf front half coverage, leaf back half coverage, leaf interval half coverage and leaf random coverage;
the rate template comprises any one or more of burst open, burst unopened, full flow, half flow and self-defined percentage flow;
the priority template comprises one or more traffic transmission priorities, and when the priority template comprises a plurality of traffic transmission priorities, the ratio among the traffic transmission priorities is a preset ratio and/or a custom ratio;
The packet length template comprises any one or more of self-defining packet length, random jump of the packet length in a preset packet length interval, incremental jump of the packet length in the preset packet length interval and mixing of multiple packet lengths;
the port information comprises any one or more of port numbers, physical address aggregation MAG sources and port rates;
the service forwarding path is used for describing a forwarding path and/or forwarding delay of the service.
4. A method according to any one of claims 1 to 3, further comprising:
training to obtain a machine learning model according to the multiple groups of first configuration parameters and the multiple groups of first simulation test results, wherein the input of the machine learning model is the first configuration parameters of each group of the multiple groups of first configuration parameters, and the output of the machine learning model is the first simulation test result corresponding to each group of first configuration parameters.
5. The method according to claim 4, wherein the method further comprises:
determining a plurality of sets of different second configuration parameters;
respectively inputting the multiple groups of different second configuration parameters into the machine learning model to obtain multiple groups of second simulation test results, wherein the multiple groups of second simulation test results are output by the machine learning model;
Determining a target second simulation test result from the plurality of groups of second simulation test results, wherein the target second simulation test result is consistent with expected output flow, and the expected output flow is the output flow of the input flow of the target forwarding service after passing through the data path;
and determining a second configuration parameter corresponding to the target second simulation test result.
6. The method of claim 4, wherein the machine learning model is constructed based on a back propagation, BP, neural network.
7. An apparatus for determining configuration parameters, the apparatus comprising:
the first determining module is used for determining forwarding service simulation information, wherein the forwarding service simulation information comprises input flow information and data path behaviors, the input flow information is used for simulating input flows corresponding to a plurality of forwarding services, and the data path behaviors are used for simulating data paths for transmitting the input flows;
the simulation test module is used for respectively carrying out simulation test on the forwarding service simulation information based on multiple groups of first configuration parameters of the data path to obtain multiple groups of first simulation test results, wherein the multiple groups of first configuration parameters are different configuration parameters, each group of first simulation test result in the multiple groups of first simulation test results is used for simulating output flow of input flow corresponding to the forwarding services after passing through a data path corresponding to one group of first configuration parameters in the multiple groups of first configuration parameters, the configuration parameters of a target module on the data path are assigned to members in a target class corresponding to the target module, the target module is one module on the data path, and different modules on the data path correspond to different classes;
And the second determining module is used for determining target first configuration parameters corresponding to the target first simulation test results from the plurality of groups of first configuration parameters according to the plurality of groups of first simulation test results.
8. The apparatus of claim 7, wherein the ingress traffic information comprises any one or more of a traffic type, a port template, a rate template, a priority template, and a packet length template, and wherein the data path behavior comprises port information and/or traffic forwarding paths.
9. The apparatus of claim 8, wherein the device comprises a plurality of sensors,
the service type comprises unicast and/or multicast;
the port template comprises any one or more of spontaneous self-harvesting, half-migration, symmetrical migration, random migration, leaf full coverage, leaf front half coverage, leaf back half coverage, leaf interval half coverage and leaf random coverage;
the rate template comprises any one or more of burst open, burst unopened, full flow, half flow and self-defined percentage flow;
the priority template comprises one or more traffic transmission priorities, and when the priority template comprises a plurality of traffic transmission priorities, the ratio among the traffic transmission priorities is a preset ratio and/or a custom ratio;
The packet length template comprises any one or more of self-defining packet length, random jump of the packet length in a preset packet length interval, incremental jump of the packet length in the preset packet length interval and mixing of multiple packet lengths;
the port information comprises any one or more of port numbers, physical address aggregation MAG sources and port rates;
the service forwarding path is used for describing a forwarding path and/or forwarding delay of the service.
10. The apparatus according to any one of claims 7 to 9, further comprising:
the training module is used for training to obtain a machine learning model according to the multiple groups of first configuration parameters and the multiple groups of first simulation test results, wherein the input of the machine learning model is the first configuration parameters of each group of the multiple groups of first configuration parameters, and the output of the machine learning model is the first simulation test result corresponding to each group of first configuration parameters.
11. The apparatus of claim 10, wherein the apparatus further comprises:
a third determining module, configured to determine a plurality of different sets of second configuration parameters;
the input module is used for respectively inputting the multiple groups of different second configuration parameters into the machine learning model to obtain multiple groups of second simulation test results, wherein the multiple groups of second simulation test results are output by the machine learning model;
A fourth determining module, configured to determine a target second simulation test result from the multiple sets of second simulation test results, where the target second simulation test result is consistent with an expected output flow, and the expected output flow is an output flow after the input flow of the target forwarding service passes through the data path;
and a fifth determining module, configured to determine a second configuration parameter corresponding to the target second simulation test result.
12. The apparatus of claim 10, wherein the machine learning model is constructed based on a back propagation, BP, neural network.
13. An apparatus for determining configuration parameters, comprising: a processor and a memory;
the memory is used for storing instructions or computer programs;
the processor being adapted to execute the instructions or the computer program to perform the method of any of claims 1-6.
14. A computer readable storage medium comprising instructions or a computer program which, when run on a computer, causes the computer to perform the method of any of the preceding claims 1-6.
CN202010170690.0A 2020-03-12 2020-03-12 Method for determining configuration parameters and related equipment Active CN113392607B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010170690.0A CN113392607B (en) 2020-03-12 2020-03-12 Method for determining configuration parameters and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010170690.0A CN113392607B (en) 2020-03-12 2020-03-12 Method for determining configuration parameters and related equipment

Publications (2)

Publication Number Publication Date
CN113392607A CN113392607A (en) 2021-09-14
CN113392607B true CN113392607B (en) 2024-02-02

Family

ID=77615748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010170690.0A Active CN113392607B (en) 2020-03-12 2020-03-12 Method for determining configuration parameters and related equipment

Country Status (1)

Country Link
CN (1) CN113392607B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992507B (en) * 2021-10-11 2023-10-27 新华三信息安全技术有限公司 Method, device, server and storage medium for determining default parameter values
CN114003310A (en) * 2021-10-29 2022-02-01 深信服科技股份有限公司 Parameter selection method, device, equipment and medium based on service scene
CN114331917B (en) * 2022-03-08 2022-06-21 深圳比特微电子科技有限公司 Equipment debugging method and controller
CN114428748B (en) * 2022-03-30 2022-06-21 北京数腾软件科技有限公司 Simulation test method and system for real service scene
CN116056245B (en) * 2022-07-19 2023-10-20 荣耀终端有限公司 Data scheduling method, device and computer readable storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728096A (en) * 2018-06-29 2020-01-24 三星电子株式会社 Method for manufacturing integrated circuit and computing system for designing integrated circuit

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI236252B (en) * 2002-12-27 2005-07-11 Hon Hai Prec Ind Co Ltd Apparatus and method for a network testing system
US9769060B2 (en) * 2015-07-20 2017-09-19 Schweitzer Engineering Laboratories, Inc. Simulating, visualizing, and searching traffic in a software defined network
US20190311290A1 (en) * 2018-04-06 2019-10-10 Mentor Graphics Corporation Deep Learning Based Test Compression Analyzer
US10853554B2 (en) * 2019-06-28 2020-12-01 Intel Corporation Systems and methods for determining a configuration for a microarchitecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728096A (en) * 2018-06-29 2020-01-24 三星电子株式会社 Method for manufacturing integrated circuit and computing system for designing integrated circuit

Also Published As

Publication number Publication date
CN113392607A (en) 2021-09-14

Similar Documents

Publication Publication Date Title
CN113392607B (en) Method for determining configuration parameters and related equipment
US11848849B1 (en) Testing computer networks in real time
US10237172B2 (en) Using headerspace analysis to identify flow entry reachability
US8614955B2 (en) Misdirected packet detection apparatus and method
US10897524B1 (en) Integrated packet generator and checker
CN108123898B (en) Network switch operating as a packet generator
CN109587010B (en) Connectivity detection method and stream forwarding equipment
US10033664B2 (en) Ethernet switch and method for establishing forwarding patterns in an Ethernet switch
US10149181B2 (en) Signal output apparatus, board, and signal output method
CN106549793A (en) Flow control methods and equipment
CN105939284B (en) The matching process and device of message control strategy
CN106789652A (en) Service shunting method and device
US11076025B1 (en) Generating network packet centric signatures
JP2011071989A (en) Traffic distribution control process and apparatus therefor
CN114731334B (en) Message order preserving method and device
CN109412976B (en) Data transmission method, device, system, server, electronic device and medium
US20170046306A1 (en) Data processing method, processor, and data processing device
CN108880756B (en) Signal sending method and device based on resource mapping in non-orthogonal multiple access system
US10411995B2 (en) Network system control method and network system related to aggregation operation using redundant flow entry
CN108243113B (en) Random load balancing method and device
CN109714269A (en) A kind of data processing method and the network equipment
CN115168241A (en) Test method and system based on combined function coverage rate
US8832309B2 (en) Generating packets with low overhead or selectable sequence number generation
CN114513409B (en) ECN threshold configuration method and device
US11388078B1 (en) Methods, systems, and computer readable media for generating and using statistically varying network traffic mixes to test network devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant