CN112311702B - FC switch scheduling method and device, electronic equipment and storage medium - Google Patents

FC switch scheduling method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112311702B
CN112311702B CN202011599550.1A CN202011599550A CN112311702B CN 112311702 B CN112311702 B CN 112311702B CN 202011599550 A CN202011599550 A CN 202011599550A CN 112311702 B CN112311702 B CN 112311702B
Authority
CN
China
Prior art keywords
port
forwarding
source port
priority information
destination
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
CN202011599550.1A
Other languages
Chinese (zh)
Other versions
CN112311702A (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.)
Beijing Tasson Science and Technology Co Ltd
Original Assignee
Beijing Tasson Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Tasson Science and Technology Co Ltd filed Critical Beijing Tasson Science and Technology Co Ltd
Priority to CN202011599550.1A priority Critical patent/CN112311702B/en
Publication of CN112311702A publication Critical patent/CN112311702A/en
Application granted granted Critical
Publication of CN112311702B publication Critical patent/CN112311702B/en
Priority to PCT/CN2021/119672 priority patent/WO2022142510A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Landscapes

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

Abstract

The embodiment of the invention provides a scheduling method and a scheduling device for an FC switch, electronic equipment and a storage medium, wherein the method comprises the following steps: receiving FC frame protocol priority information, port priority information and port sequence information carried by a virtual queue corresponding to each source port; arbitrating based on the FC frame protocol priority information, the port priority information and the port sequence information to determine the forwarding sequence of each source port; wherein the FC frame protocol priority information is pre-added to the virtual queues corresponding to the source ports. According to the embodiment of the invention, the protocol priority field can be judged by adding the FC frame protocol priority information in advance, and the arbitration mechanism for arbitration is carried out by combining the FC frame protocol priority information, the port priority information and the port sequence information, so that the important FC frame data can be preferentially forwarded when a certain low-priority port forwards the important FC frame data, and the information transmission of the network important information has higher real-time performance.

Description

FC switch scheduling method and device, electronic equipment and storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method and an apparatus for scheduling an FC switch, an electronic device, and a storage medium.
Background
At present, when a common cross site base station scheduling algorithm processes forwarding conflicts from a plurality of source ports to the same destination port, a port polling mode is generally adopted, or arbitration is performed according to port priority, however, whether the port polling mode is adopted or the arbitration is performed according to the port priority, the waiting time of a relatively important FC frame to be forwarded of a certain port with a lower priority is too long, so that the propagation of the information of the whole network does not have real-time performance, and even the propagation of the important information of the whole network is influenced.
Disclosure of Invention
To solve the problems in the prior art, embodiments of the present invention provide a method and an apparatus for scheduling an FC switch, an electronic device, and a storage medium.
In a first aspect, an embodiment of the present invention provides a method for scheduling an FC switch, including:
receiving FC frame protocol priority information, port priority information and port sequence information carried by a virtual queue corresponding to each source port;
arbitrating based on the FC frame protocol priority information, the port priority information and the port sequence information to determine the forwarding sequence of each source port;
wherein the FC frame protocol priority information is pre-added to the virtual queues corresponding to the source ports.
Further, the arbitrating based on the FC frame protocol priority information, the port priority information, and the port order information to determine the forwarding order of each source port includes:
performing protocol priority arbitration based on the FC frame protocol priority information, and determining a first forwarding sequence of each source port;
performing port priority arbitration based on the sequencing result of the first forwarding sequence and the port priority information, and determining a second forwarding sequence of each source port;
and carrying out port polling arbitration based on the sequencing result of the second forwarding sequence and the port sequence information, and determining a third forwarding sequence of each source port.
Further, still include:
judging whether link conflict between two or more destination ports and the same source port can occur or not based on the ready link establishing requests sent by each destination port;
when link conflict occurs, acquiring the data rate and the bus bit width of the source port;
determining the number of time slices which can be supported by the storage space of the source port according to the data rate and the bus bit width;
the source port distributes time slices to the ready destination port according to the sequence of the link establishment requests to obtain the control right of the source port;
and obtaining FC frame data to be forwarded according to the control right of the source port, forwarding the FC frame data, and releasing the space.
Further, still include:
when the number of time slices supportable by the storage space of the source port is less than the number of ready destination ports sending link establishment requests and all the time slices are distributed, the ready destination ports which are not distributed to the time slices wait for the source port to sequentially distribute idle time slices according to the arrival sequence of the corresponding link establishment requests;
and the idle time slices are time slices of released spaces for completing FC frame data forwarding.
Further, still include:
when multicast exchange forwarding occurs, each ready destination port adopts PK to select one destination port to apply for a corresponding source port to distribute time slices, and FC frame data are obtained;
and copying the FC data, respectively sending the FC data to other unselected ready destination ports of the PK system, forwarding FC frame data simultaneously, and releasing space.
Further, still include:
establishing a forwarding request matrix, a forwarding completion matrix and a destination port matrix;
the forwarding request matrix can record link establishment requests sent by each ready destination port;
the forwarding completion matrix can record the state that each ready destination port completes forwarding FC data;
the destination port matrix can record TDEST signals of FC frames;
after each destination port finishes FC frame data forwarding, punching a card on the forwarding completion matrix;
and when the card punching record is completely consistent with the TDEST signal in the destination port matrix, determining that the multicast forwarding is completed and releasing the space.
Further, still include:
and establishing an overtime mechanism, setting preset multicast residence time, and discarding the corresponding multicast and releasing the space when the multicast forwarding completion time exceeds the preset multicast residence time.
In a second aspect, an embodiment of the present invention provides an FC switch scheduling apparatus, including:
the receiving module is used for receiving FC frame protocol priority information, port priority information and port sequence information carried by a virtual queue corresponding to each source port;
the arbitration module is used for arbitrating based on the FC frame protocol priority information, the port priority information and the port sequence information and determining the forwarding sequence of each source port;
wherein the FC frame protocol priority information is pre-added to the virtual queues corresponding to the source ports.
In a third aspect, an embodiment of the present invention further provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the steps of the FC switch scheduling method according to the first aspect when executing the program.
In a fourth aspect, an embodiment of the present invention further provides a non-transitory computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps of the FC switch scheduling method according to the first aspect.
As can be seen from the foregoing technical solutions, the FC switch scheduling method, apparatus, electronic device, and storage medium provided in the embodiments of the present invention receive FC frame protocol priority information, port priority information, and port sequence information carried by a virtual queue corresponding to each source port; arbitrating based on the FC frame protocol priority information, the port priority information and the port sequence information to determine the forwarding sequence of each source port; wherein the FC frame protocol priority information is pre-added to the virtual queues corresponding to the source ports. According to the embodiment of the invention, the protocol priority field can be judged by adding the FC frame protocol priority information in advance, and the arbitration mechanism for arbitration is carried out by combining the FC frame protocol priority information, the port priority information and the port sequence information, so that the important FC frame data can be preferentially forwarded when a certain low-priority port forwards the important FC frame data, and the information transmission of the network important information has higher real-time performance.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a schematic flowchart of a method for scheduling an FC switch according to an embodiment of the present invention;
FIG. 2 is a block diagram of a CROSSBAR architecture according to another embodiment of the present invention;
FIG. 3 is a schematic diagram of an arbitration flow according to another embodiment of the present invention;
fig. 4 is a schematic diagram of an arbitration flow multicast forwarding request matrix according to another embodiment of the present invention;
fig. 5 is a schematic structural diagram of an FC switch scheduling apparatus according to an embodiment of the present invention;
fig. 6 is a schematic physical structure diagram of an electronic device according to an embodiment of the invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some embodiments, but not all embodiments, of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention. The FC switch scheduling method provided by the present invention will be explained and explained in detail by specific embodiments.
Fig. 1 is a schematic flowchart of a method for scheduling an FC switch according to an embodiment of the present invention; as shown in fig. 1, the method includes:
step 101: and receiving FC frame protocol priority information, port priority information and port sequence information carried by a virtual queue corresponding to each source port.
Step 102: and arbitrating based on the FC frame protocol priority information, the port priority information and the port sequence information, and determining the forwarding sequence of each source port.
Wherein the FC frame protocol priority information is pre-added to the virtual queues corresponding to the source ports.
In this embodiment, it should be noted that, the FC frame protocol priority information is added in advance to the virtual queues corresponding to the source ports, so that the protocol priority field in the header of the FC frame can be determined, the protocol priorities are distinguished, and then the virtual queues from the source port to the destination port are respectively established according to different protocol priorities.
In the embodiment, the CROSSBAR component architecture block diagram is shown in fig. 2, and the scheduling algorithm is mainly embodied in three parts, namely "virtual queue", "arbitration", and "transmission processing".
In this embodiment, when a forwarding conflict occurs from multiple source ports to the same destination port at a certain time, according to the arbitration mechanism proposed in this embodiment, that is, based on the FC frame protocol priority information, the port priority information, and the port order information, a forwarding request from each source port is arbitrated, and the arbitration is performed first according to the protocol priority, then according to the port priority, and finally, the arbitration is performed by using port polling (i.e., the port order).
For example, referring to fig. 3, an 8-port FC switch, such as, for example, supports level 2 protocol priority and level 2 port priority; the port priorities of SP 1-SP 3 are low, the priorities of SP 4-SP 8 are high, and the protocol priority 1 is higher than the protocol priority 0; at a certain arbitration moment, although the port priority of the SP2 and the SP3 is low, the FC frame protocol priority in the forwarding request is 1 at the moment, and the FC frame protocol priority in the other ports is 0; therefore, the arbitration result is first the winning of SP2 and SP 3. Then, since the port priorities of SP2 and SP3 are the same, SP2 eventually wins according to the polling mechanism (e.g., sequentially setting SP8 from SP 1). This ensures that the most important information is forwarded in time the first time, it should be noted that SP represents the source port in this example.
In this embodiment, it should be noted that the protocol priority itself is a certain field in the header of the FC frame; when each source port receives a buffer FC frame, extracting the field and sending the field to a virtual queue; and the virtual queue divides the queue according to the two-dimensional information of the destination port and the protocol priority. Therefore, the forwarding application generated by the virtual queue carries protocol priority information; the arbitration module can arbitrate according to the protocol priority information, the port priority information and the port sequence information.
Therefore, according to the scheduling method of the FC switch provided by the embodiment of the present invention, by adding FC frame protocol priority information in advance, the protocol priority field can be judged, and by combining an arbitration mechanism for performing arbitration on the FC frame protocol priority information, the port priority information, and the port sequence information, when a certain low-priority port forwards important FC frame data, priority forwarding can be performed, so that information propagation of network important information propagation has more real-time performance.
On the basis of the foregoing embodiment, in this embodiment, the arbitrating based on the FC frame protocol priority information, the port priority information, and the port sequence information to determine the forwarding sequence of each source port includes:
performing protocol priority arbitration based on the FC frame protocol priority information, and determining a first forwarding sequence of each source port;
performing port priority arbitration based on the sequencing result of the first forwarding sequence and the port priority information, and determining a second forwarding sequence of each source port;
and carrying out port polling arbitration based on the sequencing result of the second forwarding sequence and the port sequence information, and determining a third forwarding sequence of each source port.
For better understanding of the present embodiment, for example:
at a certain moment, forwarding conflict occurs between a source port a, a destination port a, a source port b, a destination port c, a source port d, a destination port e, a destination port g and a destination port a, and the source ports a, c, d and e have low priority and the source ports b, f and g have high priority; the FC frame protocol priority in the forwarding request of the source port a and the source port d is higher than that of the source port c and the source port e, and the FC frame protocol priority in the forwarding request of the source port c and the source port e is higher than that of the source port b, the source port f and the source port g; where the port order is source ports g, f, e, d, c, b, a. According to the arbitration mechanism of the embodiment of the present invention, based on the FC protocol priority information, protocol priority arbitration is performed, a first forwarding order of each source port is determined to be a, d, c, e, b, f, and g, based on a sorting result of the first forwarding order and port priority information, port priority arbitration is performed, a second forwarding order of each source port is determined to be a, d, c, e, b, f, and g, based on a sorting result of the second forwarding order and port priority information, port polling arbitration is performed, and a third forwarding order of each source port is determined to be d, a, e, c, g, f, and b. Therefore, the FC switch scheduling method provided by the embodiment of the invention can not cause the situation that the waiting time of the important FC frame to be forwarded of a certain low-priority port is too long in some scenes, thereby improving the real-time performance and ensuring that the important information of the whole network is timely forwarded at the first time.
On the basis of the foregoing embodiments, in this embodiment, it is determined whether a conflict of establishing links from two or more destination ports to the same source port occurs based on a link establishment request sent by each ready destination port;
when link conflict occurs, acquiring the data rate and the bus bit width of the source port;
determining the number of time slices which can be supported by the storage space of the source port according to the data rate and the bus bit width;
the source port distributes time slices to the ready destination port according to the sequence of the link establishment requests to obtain the control right of the source port;
and obtaining FC frame data to be forwarded according to the control right of the source port, forwarding the FC frame data, and releasing the space.
In this embodiment, it should be noted that the data rate and the bus bit width are fixed and known in the design. The number of time slices supportable by the storage space is a set fixed value.
In this embodiment, it should be noted that, when a link establishment conflict from a destination port to a source port occurs, if arbitration and scheduling are performed only in a port polling manner, timely forwarding output of other ready destination ports is affected due to exclusivity of a certain link, so that real-time throughput of a switch is reduced, specifically, in a direct-forwarding switch, each source port caches a plurality of received FC frames not higher than a credit value in a local storage space, destination ports of the FC frames may be different from each other, when forwarding requests of the FC frames are mapped to each destination port, all ready destination ports trigger a request link establishment state, and since a cache space of the source port is generally implemented by a dual-port RAM, one is used for writing during receiving, and the other is used for reading during forwarding; in this case, the problem that multiple destination ports need to access the same storage space at the same time is faced.
In this embodiment, a forwarding link between multiple destination ports and the same source port is designed to be established in a time slice manner, when a link conflict occurs, according to a data rate and a bus bit width of the source port and a relationship between system working clock cycles, a multiple relationship N between an internal processing bandwidth and a data rate can be calculated, where N is the number of time slices supportable by a storage space read port of each source port, and a ready destination port applies for occupying one time slice of the N time slices to use a control right of a storage dual-port RAM read port to obtain FC frame data to be forwarded for forwarding and release a space according to a first-come-first-obtained principle.
As can be seen from the foregoing technical solutions, embodiments of the present invention provide a method for scheduling an FC switch, where the number of time slices supportable by a storage space of a source port is determined according to a data rate and a bit width of a bus through a time slice mechanism for direct forwarding; the source port distributes time slices to the ready destination port according to the sequence of the link establishing request to obtain the control right of the source port; the FC frame data to be forwarded is obtained according to the control right of the source port, the FC frame data are forwarded, and the space is released, so that the problem that when a certain link is monopolized, the timely forwarding output of other ready destination ports is influenced is avoided, namely, time slices are distributed to the ready destination ports according to the sequence of the link establishment requests, the FC frame data to be forwarded are obtained, the forwarding output is completed, and the real-time performance and the throughput of the switch are effectively improved.
On the basis of the foregoing embodiment, in this embodiment, when the number of time slices supportable by the storage space of the source port is less than the number of ready destination ports that send link establishment requests, and all the time slices are already allocated, the ready destination ports that are not allocated to a time slice wait for the source port to sequentially allocate idle time slices according to the order in which corresponding link establishment requests arrive;
and the idle time slices are time slices of released spaces for completing FC frame data forwarding.
In this embodiment, it should be noted that an idle time slice is a time slice for ending the last time of resource release of the time slice, and the idle time slice completes the last time of FC frame data forwarding, has released a space, and reallocates it to a destination port that is newly ready and has not been divided into time slices.
For example, the number of time slices supportable by the storage space of the source port is 10, the number of ready destination ports sending a request for establishing a link to the source port is 12, 12 destination ports are ready and arrive at the time slice waiting for allocation in the order of requests 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 11, 10 time slices are allocated to the ten previous destination ports that arrive and are occupied, the remaining destination ports 11 and 12 wait for time slice resource release according to the arrival order, and after release, the destination port 12 is allocated to an idle time slice before the destination port 11, and FC frame data forwarding is completed.
As can be seen from the foregoing technical solutions, in the FC switch scheduling method provided in the embodiments of the present invention, when the number of supported time slices in the storage space of the source port is less than the number of ready destination ports that send link establishment requests, each time a time slice resource is released, the time slice resource is allocated to a new ready destination port again, so as to complete FC frame data forwarding, thereby further improving the real-time performance and throughput of the switch.
On the basis of the foregoing embodiment, in this embodiment, when multicast switching and forwarding occur, each ready destination port selects one destination port by using a PK system to apply for a corresponding source port to allocate a time slice, and acquires FC frame data;
and copying the FC data, respectively sending the FC data to other unselected ready destination ports of the PK system, forwarding FC frame data simultaneously, and releasing space.
In this embodiment, it should be noted that, when multicast switching forwarding is performed, if multicast forwarding is performed after waiting for all destination ports to be ready, some destination ports may not be ready, which may cause multicast blocking.
In this embodiment, an independent working state machine is designed for each destination port, when multicast switching forwarding occurs, a certain multicast request part ready destination port is ready for forwarding by a first ready queue, for example, three ready destination ports of a first queue are destination ports X, Y, Z, the three destination ports only need to have one destination port to apply for a time slice of a receiving buffer RAM of a corresponding source port, the PK mode generally adopts a sequential selection mechanism, that is, the port number is sequentially selected, and can be from large to small or from small to large, to apply for a corresponding source port to allocate a time slice, when it applies for a time slice resource to start reading FC frame data, multiple same data are copied and sent to the remaining unselected ready destination ports of the PK system to be forwarded at the same time, for example, a destination port X is a port X, and multiple data are sent to the remaining ready destination ports of the PK system to be forwarded at the same time Y, Z selects destination port Y through PK system to apply for corresponding source port to distribute time slice, when it applies for time slice resource to start reading FC frame data, it copies multiple same data and sends them to destination ports X and Z to forward at the same time, thus saving time slice resource.
As can be seen from the foregoing technical solutions, in the FC switch scheduling method provided in the embodiments of the present invention, when multicast switching forwarding occurs, on one hand, multicast blocking caused by some ports not being ready is avoided, and on the other hand, the real-time performance and throughput of the switch are improved while time slice resources are saved.
On the basis of the above embodiment, in this embodiment, a forwarding request matrix, a forwarding completion matrix, and a destination port matrix are established;
the forwarding request matrix can record link establishment requests sent by each ready destination port;
the forwarding completion matrix can record the state that each ready destination port completes forwarding FC data;
the destination port matrix can record TDEST signals of FC frames;
after each destination port finishes FC frame data forwarding, punching a card on the forwarding completion matrix;
and when the card punching record is completely consistent with the TDEST signal in the destination port matrix, determining that the multicast forwarding is completed and releasing the space.
In this embodiment, it should be noted that three matrices are designed and maintained, which are a forwarding request matrix, a forwarding completion matrix, and a destination port matrix. The forwarding request matrix can record link establishment requests sent by ready destination ports, that is, can record forwarding destination port requests of FC frames stored in each address space in each source port receiving cache RAM, as shown in fig. 4; when the state machine of some destination ports jumps to the multicast PK state at a certain moment, selecting one destination port as a PK winner and starting the operation of applying for reading a clock slice of a source port to receive a storage RAM; the forwarding completion matrix can record the state that each ready destination port completes forwarding FC data, namely record the destination port forwarding completion state of FC frames stored in each address space in the receiving cache RAM of each source port; the destination port matrix can record a TDEST signal of an FC frame, that is, record a TDEST signal of an FC frame stored in each address space in the receiving buffer RAM of each source port; the forwarding completion matrix is used for comparing the FC frame with the FC frame; when all the DPs pointed by the TDEST are completely forwarded, it is considered that the FC frame is completely forwarded, and the space of the receiving buffer RAM where the DPs are located may be released.
In this embodiment, the destination port information marked in the forwarding request matrix corresponds to part of ready destination port information of a certain multicast request, that is, the station team is ready to forward the ready destination port information; and only PK (which can simply adopt a sequential selection mechanism) is needed to select one of the destination ports to apply for a clock slice of the receiving cache RAM of the corresponding source port among the destination ports, so that clock slice resources are saved; when the application is finished, the clock slice resource starts to read FC frame data, and the same data is copied and sent to destination ports where other PKs do not win so as to be forwarded at the same time. After completing multicast forwarding, all destination DPs need to perform "card punching" in a forwarding completion matrix; and if and only if the card punching record corresponding to a certain multicast is consistent with the TEDST in the destination port matrix, judging that the multicast forwarding is completed, and releasing the cache space resource of the multicast forwarding.
According to the technical scheme, the FC switch scheduling method provided by the embodiment of the invention can effectively prevent multicast blocking and also effectively improve the real-time performance and the throughput of the switch.
On the basis of the foregoing embodiments, in this embodiment, a timeout mechanism is established, a preset multicast residence time is set, and when the multicast forwarding completion time exceeds the preset multicast residence time, the corresponding multicast is discarded and the space is released.
In this embodiment, it can be understood that, if it is not excluded that a destination port corresponding to a multicast is abnormal and cannot work normally for a long time, the multicast occupies a credit value in a receiving cache space residing in a source port for a long time; when the credit value is full, the source port will block, and for this possible problem, a timeout mechanism can be designed, and when a certain multicast residence time is timed out, the multicast release space is selected to be discarded. Therefore, the overtime discarding mode is beneficial to effectively improving the real-time performance and the throughput of the switch and reducing the influence caused by that a certain destination port corresponding to a certain multicast is abnormal and cannot work normally for a long time.
Fig. 5 is a schematic structural diagram of an FC switch scheduling apparatus according to an embodiment of the present invention, and as shown in fig. 5, the apparatus includes: a receiving module 201 and an arbitration module 202, wherein:
the receiving module 201 is configured to receive FC frame protocol priority information, port priority information, and port sequence information carried by a virtual queue corresponding to each source port;
an arbitration module 202, configured to arbitrate based on the FC frame protocol priority information, the port priority information, and the port sequence information, and determine a forwarding sequence of each source port;
wherein the FC frame protocol priority information is pre-added to the virtual queues corresponding to the source ports.
The FC switch scheduling apparatus provided in the embodiment of the present invention may be specifically configured to execute the FC switch scheduling method in the foregoing embodiment, and the technical principle and the beneficial effect thereof are similar, and reference may be specifically made to the foregoing embodiment, which is not described herein again.
Based on the same inventive concept, an embodiment of the present invention provides an electronic device, which specifically includes the following components, with reference to fig. 6: a processor 301, a communication interface 303, a memory 302, and a communication bus 304;
the processor 301, the communication interface 303 and the memory 302 complete mutual communication through the bus 304; the communication interface 303 is used for realizing information transmission between related devices such as modeling software, an intelligent manufacturing equipment module library and the like; the process 301 is for calling a computer program in the memory 302, and the processor when executing the computer program realizes the methods provided by the above method embodiments, for example, the processor when executing the computer program realizes the following steps: receiving FC frame protocol priority information, port priority information and port sequence information carried by a virtual queue corresponding to each source port; arbitrating based on the FC frame protocol priority information, the port priority information and the port sequence information to determine the forwarding sequence of each source port; wherein the FC frame protocol priority information is pre-added to the virtual queues corresponding to the source ports.
Based on the same inventive concept, another embodiment of the present invention further provides a non-transitory computer-readable storage medium, on which a computer program is stored, where the computer program is implemented to perform the methods provided by the above method embodiments when executed by a processor, for example, receiving FC frame protocol priority information, port priority information, and port order information carried by a virtual queue corresponding to each source port; arbitrating based on the FC frame protocol priority information, the port priority information and the port sequence information to determine the forwarding sequence of each source port; wherein the FC frame protocol priority information is pre-added to the virtual queues corresponding to the source ports.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and the parts displayed 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 modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above-described technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods of the various embodiments or some parts of the embodiments.
In addition, in the present invention, terms such as "first" and "second" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present invention, "a plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
Moreover, in the present invention, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
Furthermore, in the description herein, reference to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (7)

1. A method for scheduling FC switches, comprising:
receiving FC frame protocol priority information, port priority information and port sequence information carried by a virtual queue corresponding to each source port;
arbitrating based on the FC frame protocol priority information, the port priority information and the port sequence information to determine the forwarding sequence of each source port; the FC frame protocol priority information is added in a virtual queue corresponding to each source port in advance;
judging whether link conflict between two or more destination ports and the same source port can occur or not based on the ready link establishing requests sent by each destination port; when link conflict occurs, acquiring the data rate and the bus bit width of the source port; determining the number of time slices which can be supported by the storage space of the source port according to the data rate and the bus bit width; the source port distributes time slices to the ready destination port according to the sequence of the link establishment requests to obtain the control right of the source port; obtaining FC frame data to be forwarded according to the control right of the source port, forwarding the FC frame data, and releasing space;
when multicast exchange forwarding occurs, each ready destination port adopts PK to select one destination port to apply for a corresponding source port to distribute time slices, and FC frame data are obtained; copying the FC frame data, respectively sending the FC frame data to other unselected ready destination ports of a PK system, forwarding FC frame data at the same time, and releasing space;
establishing a forwarding request matrix, a forwarding completion matrix and a destination port matrix; the forwarding request matrix can record link establishment requests sent by each ready destination port; the forwarding completion matrix can record the state that each ready destination port completes forwarding FC frame data; the destination port matrix can record TDEST signals of FC frames; after each destination port finishes FC frame data forwarding, punching a card on the forwarding completion matrix; and when the card punching record is completely consistent with the TDEST signal in the destination port matrix, determining that the multicast forwarding is completed and releasing the space.
2. The FC switch scheduling method of claim 1, wherein the arbitrating based on the FC frame protocol priority information, the port priority information, and the port order information to determine the forwarding order of each source port comprises:
performing protocol priority arbitration based on the FC frame protocol priority information, and determining a first forwarding sequence of each source port;
performing port priority arbitration based on the sequencing result of the first forwarding sequence and the port priority information, and determining a second forwarding sequence of each source port;
and carrying out port polling arbitration based on the sequencing result of the second forwarding sequence and the port sequence information, and determining a third forwarding sequence of each source port.
3. The FC switch scheduling method of claim 1, further comprising:
when the number of time slices supportable by the storage space of the source port is less than the number of ready destination ports sending link establishment requests and all the time slices are distributed, the ready destination ports which are not distributed to the time slices wait for the source port to sequentially distribute idle time slices according to the arrival sequence of the corresponding link establishment requests;
and the idle time slices are time slices of released spaces for completing FC frame data forwarding.
4. The FC switch scheduling method of claim 1, further comprising:
and establishing a timeout mechanism, setting preset multicast residence time, and discarding the corresponding multicast and releasing the space when the multicast forwarding completion time exceeds the preset multicast residence time.
5. An FC switch scheduler, comprising:
the receiving module is used for receiving FC frame protocol priority information, port priority information and port sequence information carried by a virtual queue corresponding to each source port;
the arbitration module is used for arbitrating based on the FC frame protocol priority information, the port priority information and the port sequence information and determining the forwarding sequence of each source port; the FC frame protocol priority information is added in a virtual queue corresponding to each source port in advance;
the judging module is used for judging whether link establishing conflict from two or more destination ports to the same source port occurs or not based on the link establishing request sent by each ready destination port; when link conflict occurs, acquiring the data rate and the bus bit width of the source port; determining the number of time slices which can be supported by the storage space of the source port according to the data rate and the bus bit width; the source port distributes time slices to the ready destination port according to the sequence of the link establishment requests to obtain the control right of the source port; obtaining FC frame data to be forwarded according to the control right of the source port, forwarding the FC frame data, and releasing space;
the system comprises a selection module, a source port distribution time slice generation module and a destination port distribution time slice generation module, wherein the selection module is used for selecting one destination port to apply for a corresponding source port distribution time slice by adopting PK (PK) system when multicast exchange forwarding occurs and acquiring FC (fiber channel) frame data; copying the FC frame data, respectively sending the FC frame data to other unselected ready destination ports of a PK system, forwarding FC frame data at the same time, and releasing space;
the establishing module is used for establishing a forwarding request matrix, a forwarding completion matrix and a target port matrix; the forwarding request matrix can record link establishment requests sent by each ready destination port; the forwarding completion matrix can record the state that each ready destination port completes forwarding FC frame data; the destination port matrix can record TDEST signals of FC frames; after each destination port finishes FC frame data forwarding, punching a card on the forwarding completion matrix; and when the card punching record is completely consistent with the TDEST signal in the destination port matrix, determining that the multicast forwarding is completed and releasing the space.
6. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor implements the FC switch scheduling method of any one of claims 1 to 4 when executing the program.
7. A non-transitory computer readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the FC switch scheduling method according to any one of claims 1 to 4.
CN202011599550.1A 2020-12-30 2020-12-30 FC switch scheduling method and device, electronic equipment and storage medium Active CN112311702B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011599550.1A CN112311702B (en) 2020-12-30 2020-12-30 FC switch scheduling method and device, electronic equipment and storage medium
PCT/CN2021/119672 WO2022142510A1 (en) 2020-12-30 2021-09-22 Fc switch scheduling method and apparatus, and electronic device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011599550.1A CN112311702B (en) 2020-12-30 2020-12-30 FC switch scheduling method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112311702A CN112311702A (en) 2021-02-02
CN112311702B true CN112311702B (en) 2021-04-06

Family

ID=74487635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011599550.1A Active CN112311702B (en) 2020-12-30 2020-12-30 FC switch scheduling method and device, electronic equipment and storage medium

Country Status (2)

Country Link
CN (1) CN112311702B (en)
WO (1) WO2022142510A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311702B (en) * 2020-12-30 2021-04-06 北京国科天迅科技有限公司 FC switch scheduling method and device, electronic equipment and storage medium
CN113490084B (en) * 2021-07-14 2024-04-26 合肥华控天芯科技有限公司 FC-AE exchanger ultra-bandwidth transmission method supporting priority scheduling
CN116346953B (en) * 2023-03-02 2024-02-13 杭州又拍云科技有限公司 Acceleration method and device for real-time data transmission
CN116074265B (en) * 2023-04-06 2023-07-14 苏州浪潮智能科技有限公司 Switch port state configuration method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888293A (en) * 2014-02-25 2014-06-25 电子科技大学 Data channel scheduling method of multichannel FC network data simulation system
CN104717160A (en) * 2013-12-17 2015-06-17 华为技术有限公司 Interchanger and scheduling algorithm
CN105530207A (en) * 2015-12-11 2016-04-27 中国航空工业集团公司西安航空计算技术研究所 Switch port arbitration circuit and method in support of multi-type data frames
CN107483405A (en) * 2017-07-17 2017-12-15 中国科学院空间应用工程与技术中心 A kind of dispatching method for supporting elongated cell and scheduling system
CN108173787A (en) * 2017-11-30 2018-06-15 成都成电光信科技股份有限公司 Data transmission path selection method, Method of Scheduling Parallel and the device of FC interchangers

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6747971B1 (en) * 1999-04-20 2004-06-08 Cisco Technology, Inc. Crosspoint switch with independent schedulers
US7215680B2 (en) * 2001-07-26 2007-05-08 Nishan Systems, Inc. Method and apparatus for scheduling packet flow on a fibre channel arbitrated loop
CN101729373B (en) * 2008-10-29 2012-10-17 阿尔卡特朗讯 Method and device for dispatching multipriority traffic
US8811399B2 (en) * 2011-01-07 2014-08-19 Jeda Networks, Inc. Methods, systems and apparatus for the interconnection of fibre channel over ethernet devices using a fibre channel over ethernet interconnection apparatus controller
CN102223304B (en) * 2011-06-16 2014-08-27 杭州华三通信技术有限公司 Method and device for continuously forwarding after main/standby switch
CN102523437B (en) * 2011-12-07 2014-05-07 中国航空无线电电子研究所 Scheduling switching method for FC-AV (Fiber Channel-Audio Video) data
CN103023669B (en) * 2012-12-28 2015-04-15 中国航空工业集团公司第六三一研究所 Switching network based broadcast scheduling method
CN104717159A (en) * 2013-12-14 2015-06-17 中国航空工业集团公司第六三一研究所 Scheduling method based on store-and-forward switching structure
CN112311702B (en) * 2020-12-30 2021-04-06 北京国科天迅科技有限公司 FC switch scheduling method and device, electronic equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717160A (en) * 2013-12-17 2015-06-17 华为技术有限公司 Interchanger and scheduling algorithm
CN103888293A (en) * 2014-02-25 2014-06-25 电子科技大学 Data channel scheduling method of multichannel FC network data simulation system
CN105530207A (en) * 2015-12-11 2016-04-27 中国航空工业集团公司西安航空计算技术研究所 Switch port arbitration circuit and method in support of multi-type data frames
CN107483405A (en) * 2017-07-17 2017-12-15 中国科学院空间应用工程与技术中心 A kind of dispatching method for supporting elongated cell and scheduling system
CN108173787A (en) * 2017-11-30 2018-06-15 成都成电光信科技股份有限公司 Data transmission path selection method, Method of Scheduling Parallel and the device of FC interchangers

Also Published As

Publication number Publication date
CN112311702A (en) 2021-02-02
WO2022142510A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
CN112311702B (en) FC switch scheduling method and device, electronic equipment and storage medium
US5978576A (en) Computer performance modeling system and method
EP2736197A1 (en) Packet reassembly and resequence method, apparatus and system
US7827331B2 (en) IO adapter and data transferring method using the same
US20120324160A1 (en) Method for data access, message receiving parser and system
KR20150042876A (en) Managing queries
CN106569887B (en) Fine-grained task scheduling method in cloud environment
WO2019056771A1 (en) Distributed storage system upgrade management method and device, and distributed storage system
CN116664377A (en) Data transmission method and related device
US11941528B2 (en) Neural network training in a distributed system
CN116382581A (en) Method, system, equipment and storage medium for accelerating execution of NVMe protocol
CN114521253A (en) Dual-layer deterministic inter-process communication scheduler for input-output determinism in solid state drives
US20100030931A1 (en) Scheduling proportional storage share for storage systems
CN117251275B (en) Multi-application asynchronous I/O request scheduling method, system, equipment and medium
EP2913759A1 (en) Memory access processing method based on memory chip interconnection, memory chip, and system
CN108459825B (en) Storage system service quality control method and device
US20180349180A1 (en) Method and apparatus for scheduling arbitration among a plurality of service requestors
CN116820769A (en) Task allocation method, device and system
CN111831408A (en) Asynchronous task processing method and device, electronic equipment and medium
CN113742267B (en) DMA communication system and method for RDMA communication equipment
CN115202842A (en) Task scheduling method and device
CN116185649A (en) Storage control method, storage controller, storage chip, network card, and readable medium
CN108984112B (en) Method and device for realizing storage QoS control strategy
CN114548389A (en) Management method of computing unit in heterogeneous computing and corresponding processor
CN113296957A (en) Method and device for dynamically allocating network-on-chip bandwidth

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 701, 7th Floor, Building 6, Courtyard 8, Kegu 1st Street, Daxing District Economic and Technological Development Zone, Beijing, 100176

Patentee after: Beijing Tasson Technology Ltd.

Address before: 100089 room 01, 11 / F, building 6, courtyard A2, Xisanhuan North Road, Haidian District, Beijing

Patentee before: BEIJING TASSON TECHNOLOGY Ltd.