MULTIPLE PORT ARBITER AND SWITCHING SYSTEMS
FIELD OF THE INVENTION
The present invention relates to the field of arbiters for matching sources and destinations in switching networks, and to methods of utilizing the switch fabric to maximum efficiency, especially for use in communication networks for the efficient switching of information.
BACKGROUND OF THE INVENTION
In networks for switching information from multiple sources to multiple destinations, the requirement is for the switch to direct packets of information to the correct address without any double transmission, and with maximum speed, maximum throughput, minimum latency and acceptable fairness. The directing and priority control of this information flow is determined by an arbiter, also known as a scheduler. In modern high-bandwidth, high port count systems, with fast switching times, a fast and efficient arbitration mechanism is an essential part of the system. In currently used systems, for small networks, there is generally one arbiter block, operative to calculate all of the requests in parallel, matching ports requesting to transmit with the destinations to which transmission is requested. When the number of ports becomes large, typically some tens of ports, the calculation time for such a large number of interconnects becomes prohibitively long. In such cases, a pipeline technique is currently used wherein several arbiters are cascaded in series, each arbiter dealing with only some of the ports, and passing on any ungranted requests for processing by the next arbiter in the pipeline. However, according to this currently used prior art architecture, a connection must be made for every one of the ports between each arbiter and the next one in the pipeline, such that a large number of interconnections between the arbiters are required. Furthermore, the inclusion of solutions for avoiding the familiar round-robin preference problem results in even more complex
connection requirements. Therefore, even the pipeline solution results in very large and complex arrays of arbiters, with multiple interconnections. This requires large silicon chips for implementation, and consequently generally lower than desired performance.
There therefore exists a need for an arbiter system which is simpler, smaller and more easily implemented than current generally used arbiter systems, and which is still able to handle high bandwidth, large array switching tasks without affecting the performance required of the system.
In optical switching networks for switching multiple laser sources to multiple optical receivers, the switch is required to direct packets of information to the correct address with maximum speed, throughput and with minimum latency. The organization of this information flow is determined by an arbiter.
However, unlike the switching of electronic data in a switching network there exist two other problems which limit the efficiency and speed of such optical switching networks. These problems are specific to optical networks, and are not generally relevant in electronic networks. Firstly, to ensure optimum efficiency, the source lasers should preferably be operated to output an approximately constant level of power at all times. In order to maintain such a fixed average power in the system, the signal throughput in the switching network should be maintained constant. This is problematic since there are always, for instance, some destinations which are more popular and some which are less popular in a communications network. This would result in peaks and troughs in throughput, and hence also in undesirable peaks and troughs in power demand from the laser sources, unless a method is found to operate the switching network at its full capacity and hence at maximized switching efficiency. Furthermore, in order to maximize switching speed, it is important that the receivers should receive incident power virtually continually, which requires that signals arrive at the receiver port essentially continuously. If a receiver has dead periods, its inherent initial risetime causes a delay in detecting the signal, and hence in a reduction in permissible switching speed. Furthermore, if the receipt
of data is interrupted, such as in such dead periods, there is danger that the synchronization of the receivers with the data stream will be lost.
Neither of these requirements are addressed and hence are generally unfulfilled by the prior art switching arbiters currently used in optical switching networks, leading to lower than optimum speed and efficiency of the optical switching network. This is applicable whether the system is based on a WDM switching system or on micro-mirror switching system or any other form of optical switching, since the problems are related to limitations of the optical generation and detection components currently in use, and are independent of the switching technology used. There therefore also exists an important need for an arbiter system specifically useful for optical switching networks, which ensures maximum capacity throughput at all times, and hence essentially constant switch throughput, regardless of the state of the traffic requirements of the communication system.
SUMMARY OF THE INVENTION
The present invention seeks, on the one hand, to provide a new switching arbiter system for data switching, in which multiple individual arbiters are used for implementing the port matching grants. The system differs from prior art arbiter systems in that, although all of the individual arbiters use the same request table to ultimately determine all of the switching requests on hand, at any given point in time, each individual arbiter accesses requests relating only to a predetermined portion of the total number of ports, and each operates independently of the others without the need for any sharing or exchange of information between them. By dividing up the total number of ports to be accessed into a number of smaller groups of ports, and allowing each of the individual arbiters to access one of these groups at a time, the individual arbiters can be constructed substantially smaller and simpler than a single arbiter designed to access all of the ports at one time.
After each of the individual arbiters has completed the granting decision process for its group of ports in a given predetermined time frame, all of the individual arbiters then increment, in a queuing-type process, to the next group of ports, where the grants to be made are determined in the next time frame. In this manner, each individual arbiter eventually gets to access all of the ports in each of the groups sequentially. Double transmission is avoided by ensuring that although each individual arbiter interrogates requests associated with a different group of ports in a different time slot from the other arbiters, the request table is updated with its grants in each time slot, such that no other individual arbiter can then provide a grant to a port already utilized in a previous grant. Thus, in any specific time slot, all of the ports are interrogated, but each group of ports is interrogated by a different individual arbiter. Conversely, each individual arbiter eventually interrogates all of the ports, but each group of ports in a different time slot. After accessing all of the groups of ports sequentially, each individual arbiter is operative in executing all of the grants it has approved at the respective matched ports. Such a system can thus be described as performing time division multiplexing of the overall arbiter process by means of individual arbiters.
It is to be understood that the arbiter system of the present invention, though described in general terms in this application, is useful for many types of switching applications, whether for use in communication networks or in computer data switching, and whether optical or electronic.
The present invention also seeks to provide a new arbiter configuration for use with optical switching networks, which overcomes the disadvantages of the use of prior art arbiters in optical switching networks, and enables maximum and constant throughput to be maintained in the switching network, independently of the traffic level on the network
There is thus provided in accordance with a preferred embodiment of the present invention, an arbiter for use in an N x N switching network, which is capable of matching all N source ports to all N destination ports. This is accomplished by a two stage process. Firstly, the arbiter preferably matches every requested destination port to its matching source port. There are then left a
number of free destination ports which were not requested, and an equal number of source ports which were not granted to transmit. The second stage then preferably involves the matching of these free destination ports to the ungranted source ports. Finally, the system then preferably allows the flow of idle or dummy signals through these last unrequested matches, in order to maintain a constant power flow through the optical switching network, as required. Furthermore, as an added advantage, it is feasible that during the matching process itself, requests may be received for some of the previously unmatched destination ports. These can then be granted and result in the reduction of the number of unmatched source-destination pairs remaining in the last step.
The procedure is accomplished in practice preferably by creating two lists of entries. The Source list is set to the number of source ports or line cards in the switching system, and the Destination list is set to all zeroes. When a source port is granted by the arbiter, it is removed from the source list. The destination ports which are un-granted, are added to the destination list. This procedure is continued until all of the requested source ports have been granted.
The lists of ungranted source ports, and ungranted destination ports remaining after the matching process are then preferably matched one to one to form dummy connections, such that every source port is now matched to a destination port, whether in a requested connection, or in a dummy connection. Since these lists are a natural outcome of the previous matching steps, they do not take any additional calculation time to compile, and do not thus add to the calculating time required by the arbiter.
Throughout this specification and as claimed, the terms source and destination ports when used in relation to lists thereof, are understood to refer to the number or label used to designate the entry in the list corresponding to a particular source or destination port, and not to the port itself.
Furthermore, throughout this specification and possibly as claimed, the invention is generally described in terms of the source ports as those requesting to be connected to requested destination ports. It is to be understood that the invention is not dependent on whether the system operates by means of the
source ports requesting connection to their associated destination ports or by means of the destination ports requesting connection to their associated source ports. The claimed invention is understood to relate to requested connections in general.
There is thus provided in accordance with a preferred embodiment of the present invention, a switching arbiter system comprising a plurality of information ports, a request table supplying requests for connection between at least some of the plurality of information ports, and a plurality of individual arbiters, each of the individual arbiters accessing at a given point in time, requests relating to a different predetermined group of the plurality of information ports, wherein a given group of the plurality of information ports is sequentially accessed by a different one of the plurality of individual arbiters. Furthermore, in the above-mentioned switching arbiter system, each of the plurality of individual arbiters preferably operates independently of other individual arbiters of the plurality.
In accordance with yet another preferred embodiment of the present invention, in the switching arbiter system described above, at a given time, each of the predetermined group of the plurality of information ports is accessed by a different one of the plurality of individual arbiters. Furthermore, each of the plurality of individual arbiters preferably accesses all of the plurality of information ports during different given time slots.
There is further provided according to yet another preferred embodiment of the present invention, a method of connecting between at least some of a plurality of information ports which are to be connected according to a request table, and comprising the steps of providing a plurality of individual arbiters, each of the individual arbiters accessing, at a given point in time, requests relating to a different predetermined group of the plurality of information ports, and allowing grants accordingly, and sequentially accessing a predetermined group of the plurality of information ports by means of different ones of the plurality of individual arbiters.
In accordance with still another preferred embodiment of the present invention, the method described above may also comprise, following the sequentially accessing step, the step of updating the request table according to the grants allowed by each of the different one of the plurality of individual arbiters. Furthermore, the method as described above also preferably comprises the step of executing the grants allowed by each of the aforementioned different one of the plurality of individual arbiters, after the arbiter has accessed requests relating to all of the plurality of information ports.
There is also provided in accordance with another preferred embodiment of the present invention, a method of matching all the ports in an optical switching network, comprising the steps of providing an optical switching network having source and destination ports, the connections between the source and destination ports being requested by the network, matching every requested source port to its corresponding destination port, and matching every non- requested source port to a non-requested destination port.
In accordance with yet another preferred embodiment of the present invention, there is further provided a method, as described above, and also comprising the step of providing dummy signal flow between at least one of the non-requested source ports and at least one of the non-requested destination ports, such that the switching connection between the at least one non-requested source ports and the at least one non-requested destination ports is utilized.
There is further provided in accordance with still another preferred embodiment of the present invention, a method of matching ports in an optical switching network having source and destination ports, comprising the steps of:
(a) providing an optical switching network, operative to switch between requested source ports and requested destination ports,
(b) creating a list of the source ports,
(c) matching a requested source port to its corresponding destination port,
(d) removing from the list of source ports, the requested source port,
(e) repeating steps (c) and (d) until all requested source ports are matched with their corresponding destination ports,
(f) creating a list of non-requested destination ports, and
(g) matching non-requested source ports and non-requested destination ports remaining in the lists after step (f).
In accordance with a further preferred embodiment of the present invention, the above-mentioned method also preferably comprises the step of providing dummy signal flow between at least one of the non-requested source ports and at least one of the non-requested destination ports, such that the switching connection between the at least one non-requested source ports and the at least one non-requested destination ports is utilized.
There is even further provided in accordance with another preferred embodiment of the present invention, a method of increasing the efficiency of an optical switching network switching laser sources to optical receivers, comprising the steps of providing an arbiter system having source and destination ports, and configuring the arbiter system to match every source port to a destination port. Preferably, the arbiter system matches every source port to a destination port by the steps of matching every requested source port to its corresponding destination port, and matching every non-requested source port to a non-requested destination port.
In accordance with yet another preferred embodiment of the present invention, there is further provided a method, as described above, and also comprising the step of providing dummy signal flow between at least one of the non-requested source ports and at least one of the non-requested destination ports, such that the switching connection between the at least one non-requested source ports and the at least one non-requested destination ports is utilized.
In all of the above-mentioned methods, the at least one of the non- requested source ports is preferably all of the non-requested source ports, and the at least one of the non-requested destination ports is preferably all of the non- requested destination ports.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:
Fig.l is a schematic diagram of an arbiter system, constructed and operative according to a preferred embodiment of the present invention, showing the access of the individual independent arbiters to the request table;
Figs. 2 A to 2D are schematic representations of the time division of the operation of each of the individual independent arbiters according to a preferred embodiment of the present invention;
Fig.3 is a schematic representation of a list of source ports and their corresponding destination ports in an arbiter constructed and operative according to the method of a preferred embodiment of the present invention;
Fig. 4 is a schematic representation of the list of source ports and their corresponding destination ports of Fig. 3, after one of the source ports has been granted;
Fig. 5 is a schematic representation of a list of source ports and the corresponding destination ports of Fig. 3 after one of the destination ports has been found not to have been requested; and
Fig. 6 is a schematic representation of a list of ungranted source ports and a corresponding list of ungranted destination ports, after all of the requesting source ports and the requested destination ports have been granted.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Reference is now made to Fig. 1, which illustrates schematically an arbiter system, constructed and operative according to a preferred embodiment of the present invention. The ports 10, 12, n, from which or to which information is to be transferred, provide requests for transmission or reception of information to the request table 15, and likewise receive grants to execute transmission or
reception of this information according to the decisions of the arbiter system. Each of the individual arbiters 20, 22, ...m, scans the requests in the request table 15, and grants requests according to the availability of the desired ports. As is seen from Fig. 1, each of the individual arbiters 20, 22, ...m operates independently vis-a-vis the request table, without connection to any of the other individual arbiters 20, 22, ...m.
Reference is now made to Figs. 2 A to 2D, which schematically show four individual arbiters 30, 32, 34, 36 of the individual arbiters 20, 22, ....m of Fig. 1, incorporated into a 100 port arbiter system, according to a preferred embodiment of the present invention. Each of the individual arbiters 30, 32, 34, 36 is constructed preferably to handle routing decisions at any one time on 25 of the 100 ports. The time-dependent interrelation between the operation of the individual arbiters, is shown by comparison of Figs. 2A to 2D. This time slot interrelation between individual arbiters is a central feature in the operation of the system according to this embodiment of the present invention.
In Fig. 2A is shown the situation during time slot 1, (t/s^l), during which the first individual arbiter 30 is operative to interrogate and grant requests preferably to and from the first group of 25 ports, ports 0 to 24. The second individual arbiter 32 handles requests preferably relating to the next 25 ports, 25 to 49, the third arbiter 34 to ports 50 to 74, and the last individual arbiter, 36, to ports 75 to 99. Since each individual arbiter needs to handle only 25 ports at a time, the individual arbiters can be of much simpler construction than a prior art arbiter used in such a system, which would have to handle all 100 ports. Since at any one point in time, each of the four individual arbiters is scanning to find requests relating to a different group of ports, the situation cannot arise where a single request is handled by more than one individual arbiter.
At the end of time-slot 1, a number of operations take place. Firstly, the request table is updated with all of the grants allowed by each of the individual arbiters, so that the granted requests are removed therefrom. In this way, although the individual arbiters have no direct means of communication between each other, it is ensured that no request can be handled twice by different
individual arbiters in successive time slots of a complete cycle. In addition, the last individual arbiter, 36, having accessed all of the 100 ports in the system, is now operative to have its accumulated grants sent for execution to all of the relevant matched ports. Finally, the groups of ports in relation to which each individual arbiter handles requests are incremented, such that the first individual arbiter 30 now handles requests relating to the second group of ports, 25 to 49, the second individual arbiter 32 those relating to the third group of ports 50 to 74, and so on. This situation is shown in Fig. 2B. At the end of time slot 2, as shown in Fig. 2B, it is the third individual arbiter 34 which has accessed all of the 100 ports in the network, and which now sends its grants for execution. Likewise, in Fig. 2C, the third time slot is shown, and in Fig. 2D, the fourth time slot.
In this manner, during any specific time slot, a different one of the four individual arbiters is receiving requests and sending grants relating to all of the 100 ports, but without any of the individual arbiters having to relate to more than a single group of 25 ports at any time. Thus, during the time-slot when the first individual arbiter 30 is interrogating ports 0 to 24 in the request table, none of the other individual arbiters is able to access those same ports. At the end of each time slot, the request table is updated with all of the requests granted by any specific individual arbiter, so that the granted requests are removed therefrom. In this way, in no successive time slot of a complete cycle can a request be handled twice by different individual arbiters. In addition, at the end of each time slot, a different one of the four individual arbiters is operative to send its grants to all of the 100 ports it has accessed over the past four time slots, before commencing a new arbiter cycle again.
The total cycle time of the complete arbiter system according to the above-described preferred embodiment of the present invention is equal to the accumulated time of the four separate time slots of the individual arbiters. Thus for a given circuit processing speed, the system according to the present invention would theoretically have a total cycle time four times as long as the time-slot of an equivalent prior art system, using a single arbiter having 100 port access. However, because of its size and complexity, it appears unlikely that such
a large arbiter could achieve the same overall processing speed as the smaller individual arbiters incorporated in the system of the present invention.
An advantage of the arbiter system according to another preferred embodiment of the present invention, is that it can be enlarged without significantly affecting the complexity of the system. Since each individual arbiter operates independently of all of the others, additional ports can be added to the system by simply adding additional individual arbiters according to the number of groups of ports added. The only trade-off involved is that the total cycle time for each request scan is increased for each additional individual arbiter added. Thus, for example, an eight-arbiter system, using individual arbiters like those described in the preferred embodiment of Figs. 2A to 2D, is capable of handling, at the same performance level, a 200 port network, but with a total cycle time twice as long as that of the preferred embodiment shown in Figs. 2 A to 2D. Alternatively and preferably, the 200 port network could be handled with the same number of individual arbiters as the 100-port system, namely four, but would require either faster individual arbiters, or time slots for each individual arbiter of doubled length, such that latency would be increased.
Reference is now made to Fig. 3, which illustrates schematically a list of source ports and a corresponding list of an equal number of destination ports available for granting connections to the source ports, at the beginning of the matching process. The lists are used in an arbiter constructed and operative according to the methods of a preferred embodiment of the present invention. In the preferred embodiment shown in Fig. 3, there are N source ports with information packets requiring to be switched to their requested destination ports. As expected, since this is the commencement of the matching cycle, none of the destination ports are labeled as ungranted. Therefore, the list of the source ports is filled with the source ports, 1 to N, and the destination list is set to all zeros.
Reference is now made to Fig. 4, which shows the lists of source ports and destination ports after one cycle, wherein, in this preferred example, source 2 was granted to a requested destination port, and was therefore removed from the sources list. Since no destination port has yet been found to be ungranted, the
destination list remains all-zero, and the destination list pointer, signifying the next place to be filled, remains at the last position in the list.
Reference is now made to Fig. 5, which shows the lists of source ports and destination ports after the next matching step, when it is discovered, in this preferred example, that no source was found requesting destination 3. Destination 3 is therefore added to the ungranted destination list and the pointer is moved up one place.
Reference is now made to Fig. 6, which shows the lists of source ports and destination ports after completing all the source and destination port matching. In the preferred example shown, three ungranted source ports, numbers 1, 5 and 12, and three ungranted destination ports, numbers 3, 7 and N-l are left on the respective lists. The destination pointer is now used to move back down the list of ungranted destinations, and matches all the ungranted source ports to the ungranted destination ports. All of the granted source and destination port matches are used for transferring signals conveying real information. The last three matches of unrequested destination ports and ungranted source ports and are used for flowing dummy signals with no information, in order to maintain a signal flow through all of the ports of the switching network, whether the signals flowing are meaningful or not.
The result of this process is complete matching of all of the source ports in the optical network with all of the destination ports, thus enabling the network to operate with a constant flow of optical signal power and hence at optimum speed and efficiency. It is to be understood that although network operates at optimum efficiency when all of the source ports are matched with all of the destination ports, the invention is not meant to be limited to this optimum case, but is also useful in providing improvements in performance when most of the source ports are matched with most of the destination ports.
It is appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described hereinabove. Rather the scope of the present invention includes both combinations and subcombinations of various features described hereinabove as well as variations
and modifications thereto which would occur to a person of skill in the art upon reading the above description and which are not in the prior art.