U.S. patent application number 15/083163 was filed with the patent office on 2017-07-06 for method for complex coloring based parallel scheduling for switching network.
This patent application is currently assigned to Shanghai Jiao Tong University. The applicant listed for this patent is Shanghai Jiao Tong University. Invention is credited to Weisheng Hu, Tony T. Lee, Lingkang WANG, Tong Ye.
Application Number | 20170195258 15/083163 |
Document ID | / |
Family ID | 55507854 |
Filed Date | 2017-07-06 |
United States Patent
Application |
20170195258 |
Kind Code |
A1 |
WANG; Lingkang ; et
al. |
July 6, 2017 |
METHOD FOR COMPLEX COLORING BASED PARALLEL SCHEDULING FOR SWITCHING
NETWORK
Abstract
Method for complex coloring based parallel scheduling for the
switching network that is directed at traffic scheduling in the
large scale high speed switching network. The parallel scheduling
algorithm is on a frame basis. By introducing the concept of
complex coloring which is optimal and can be implemented in a
distributed and parallel manner, the algorithm can obtain an
optimal scheduling scheme without knowledge of the global
information of the switching system, so as to maximize bandwidth
utilization of the switching system to achieve a nearly 100%
throughput. The algorithm complexity is O(log.sup.2 N).
Inventors: |
WANG; Lingkang; (Shanghai,
CN) ; Ye; Tong; (Shanghai, CN) ; Lee; Tony
T.; (Shanghai, CN) ; Hu; Weisheng; (Shanghai,
CN) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Shanghai Jiao Tong University |
Shanghai |
|
CN |
|
|
Assignee: |
Shanghai Jiao Tong
University
|
Family ID: |
55507854 |
Appl. No.: |
15/083163 |
Filed: |
March 28, 2016 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04L 49/254 20130101;
H04L 49/3018 20130101 |
International
Class: |
H04L 12/937 20060101
H04L012/937; H04L 12/935 20060101 H04L012/935 |
Foreign Application Data
Date |
Code |
Application Number |
Dec 31, 2015 |
CN |
201511027634.7 |
Claims
1. A method for complex coloring based parallel scheduling for the
switching network, comprising: providing a N.times.N switching
network having N input ports and N output ports, each of the N
input ports being provided with an input buffer queue and sending
at most one data cell for each timeslot, and each of the N output
ports receiving at most one data cell for each timeslot at the same
time, and a period of the timeslot f is a frame, mapping the
N.times.N switching network to a bipartite graph
G.sub.k=(V.orgate.U, E) based on data cells of a kth frame having a
vertex v.sub.i.di-elect cons.V representing one of the input ports
i, a vertex u.sub.j.di-elect cons.U representing one of the output
port j, an edge e.sub.m(v.sub.i,u.sub.j).di-elect cons.E
representing an mth data cell going from the input port i to the
output port j, mapping timeslots for scheduling to a color set
C={c.sub.1,c.sub.2, . . . ,c.sub..DELTA.}, i,j=1,2, . . . , N,
.DELTA. being the maximum vertex degree of all the vertexes,
splitting each of all the edges e.sub.m(v.sub.i,u.sub.j).di-elect
cons.E of the bipartite graph to a pair of links, and coloring each
of the links by the vertex connected thereto to ensure that the
links connected to the same vertex are colored differently, which
is called a consistent coloring of the bipartite graph, performing
color exchange operations on the vertexes to obtain a proper
coloring scheme where the color of the two links belonging to the
same edge are identically colored and all the edges connected to
the same vertex are differently colored, and successively setting
up communication connections with corresponding input ports and
output ports and sending corresponding data packets for data cell
transmission after the proper coloring of the bipartite graph is
obtained, where the connection pattern of the switch in each
timeslot is determined by a set of edges with the color
corresponding to the current timeslot.
2. The method for complex coloring based parallel scheduling for
the switching network of claim 1, wherein rules for coloring the
link and for the color exchange are: if the link is in G.sub.k as
well as G.sub.k--1, color it with the corresponding color of that
in the proper coloring of G.sub.k-1; otherwise, color it with the
first available color in the color set of the end vertex;
continuing to assign colors to the links until each of the edges is
assigned a pair of color to the pair of the links, named as a
complex coloring, a constant being the two links corresponding to
the same edge having the same color and a variable being the two
links corresponding to the same edge having different colors,
arbitrarily exchanging the colors of the two links connected to the
same vertex, so that the variables can walk on the corresponding
two-colored path such that they will hit each other and be
eliminated eventually, and if the vertex has no corresponding link
to exchange the color with the variable, assigning the variable
with a required color and a bipartite graph is obtained when all
the variables are eliminated; if few variables is not eliminated
within a setting maximum time limit, leave the variables to the
next frame for rescheduled.
Description
CROSS-REFERENCE AND RELATED APPLICATION
[0001] The subject application claims priority on Chinese patent
application CN201511027634.7 filed on Dec. 31, 2015. The contents
and subject matters of the Chinese priority application is
incorporated herein by reference.
FIELD OF INVENTION
[0002] The present invention relates to switching network
techniques, and in particular relates to a method for complex
coloring based parallel scheduling for the switching network and
use of the algorithm thereof.
BACKGROUND OF INVENTION
[0003] With the quick development of new broadband applications in
recent years, higher requirements are demanded for transmission and
processing of massive information, where the switching network
plays an important role. Be it in a traditional network, such as a
metropolitan backbone network, or in new types of networks
represented by the data center, the switching network plays a
crucial role.
[0004] Properties of the switching network primarily depend on the
traffic scheduling method. The explosive growth of network
information has resulted in ever more number of switching ports and
ever higher rates thereof, thus renders it ever more difficult for
real time collection of information of all the ports. Hence, the
design of a traffic scheduling method primarily faces the following
challenges and requirements:
[0005] (1) Scalability: a good scheduling method needs to satisfy
an ever expanding trend of the scale of the switching network;
[0006] (2) High throughput: a good scheduling method needs to
enable maximum utilization of bandwidth resources and high
throughput capacity of the switching network;
[0007] (3) Distributed and parallel operations: a good scheduling
method needs to minimize cost for collecting port information and
to reduce computation complexity.
[0008] To meet the afore-mentioned requirements, current scheduling
methods for the switching network are categorized as follows:
[0009] The first category is the maximum size matching (MSM)
algorithm. The basic idea of a MSM algorithm is to maximize the
connection number of the input and output ports at each timeslot,
so as to make maximum utilization of real time bandwidth.
Currently, computation complexity for algorithms in the category is
O(N log N), and thus the scalability thereof is not good. In
addition, under non-uniform traffic load, the algorithms in the
category may result in system instability. While in actual systems,
the majority of service flows are non-uniform. Therefore,
algorithms in the category do not satisfy the requirements of
current switching networks.
[0010] The second category is the maximum weight matching
algorithm. In view of the defects of the MSM algorithm, an
algorithm in the category takes into account real time data
information in the system, such as the queue length or the waiting
time of the head-of-line packet of each VOQ. In this way, a
scheduling algorithm makes further use of more valid information,
and provide a high performance under both uniform and non-uniform
traffic loads. However, computation complexity for the algorithm in
the category is high, generally being O(N.sup.2 log N). Therefore,
algorithms in the category have poor scalability and do not satisfy
the requirements for the switching network.
[0011] The third category is the batch scheduling algorithm. A
range of consecutive timeslots is stipulated in an algorithm of the
category, called a frame. In contrast to the previous two
categories of algorithms where the traffic packets are scheduled
within each timeslot, a batch scheduling algorithm operates with a
frame as a unit and schedules packets within a frame. In this way,
the algorithm has a low amortized computational complexity per
timeslot, while the traffic statistical characteristics within a
given frame are made full use of. However, currently existing
algorithms in the category do not realize distribution while
reducing the computational complexity in the mean time.
[0012] The fourth category is the quasi-static scheduling
algorithm. Algorithms in the category emerge in response to
avoiding online computation while providing the bandwidth guarantee
for each input/output pair. The algorithms are primarily based on
the Birkhoff-von Neumann (BvN) decomposition. The scheduling
algorithm guarantees the capacity assigned for each input-output
pair by the repeated executions of a set of predetermined
connection patterns, which are calculated from the average loading
of all input-output pairs subject to the fixed total switching
capacity. Furthermore, connection patterns are recalculated
according to the new matrix when the service matrix substantially
changes. A quasi-static scheduling algorithm may achieve 100%
throughput with low online computational complexity under smooth
traffic. However, when the traffic matrix is fluctuated, the
complexity of BvN decomposition is O(N.sup.4.5), which gives the
system a high computational burden.
SUMMARY OF THE INVENTION
[0013] The present invention provides a method for complex coloring
based parallel scheduling for the switching network, which is
directed at traffic scheduling in the high speed switching network.
The algorithm may be implemented in a fast, distributed, and
parallel manner, which may achieve a nearly 100% throughput under
both uniform and non-uniform traffic, to adapt for the development
requirement of high speed switching networks in the big data
era.
[0014] The present invention is based on the principle that a
traffic scheduling issue in the switching network is solved by
formulating it to an edge coloring issue in a bipartite graph; by
introducing the concept of complex color, a fast and parallel
scheduling method is proposed. Without loss of generality, we
consider a N.times.N input-queued switching structure in this
document. Confined by the switching structure, each input port may
at most send a data cell at each timeslot, while each output port
may at most receive a data cell. The present scheduling method
adopts a batch scheduling methodology, that is, a timeslot period
forms a frame, and data cells within a frame are scheduled as a
whole. The whole scheduling process may be executed in a pipeline
manner. While a scheduling scheme for the kth frame is being
computed, the data cells for the (k+1)th frame are being
accumulated, and data cells for the (k-1)th frame are sent to the
corresponding output ports according to the computed scheme.
[0015] The present invention provides a method for complex coloring
based parallel scheduling for the switching network, comprising the
following steps:
[0016] Step 1: Mapping the N.times.N input-queued switching
structure to a bipartite graph G.sub.k=(V.orgate.U,E) according to
the kth packet frame, wherein each input port may send at most a
data cell for each timeslot, a period of packets being that of one
said frame; with a vertex v.sub.i.di-elect cons.V representing the
input port i, and a vertex u.sub.j.di-elect cons.U representing the
output port j, an edge e.sub.m(v.sub.i,u.sub.j).di-elect cons.E
representing the mth data cell from the input port i destined to
the output port j, and mapping the timeslots for scheduling to a
color set C={c.sub.1,c.sub.2, . . . , c.sub..DELTA.},i,j=1,2, . . .
,N, wherein the color stands for a timeslot to sending packets in
the next time frame and .DELTA. is the maximum vertex degree for
all the vertexes;
[0017] Step 2: Splitting each said edge
e.sub.m(v.sub.i,u.sub.j).di-elect cons.E of the bipartite graph to
a pair of links, and coloring each said link by the vertex
connected thereto to ensure that the links connected to each said
vertex are differently colored, which is called a consistent
coloring of the bipartite graph; performing color exchange
operations on the vertexes to finally obtain a proper coloring
scheme satisfying the following two requirements: two links
belonging to the same edge are identically colored, while edges
with the same vertex are colored differently;
[0018] Step 3, for data cell transmission: successively setting up
connections between corresponding input ports and output ports for
sending corresponding data packets in accordance with the edge
colored by the corresponding color in the coloring scheme obtained
in step 2 at each timeslot.
[0019] In the present invention, the rules for coloring the link
and for the color exchange in step 2 are:
[0020] Assigning the color used in G.sub.k-1 to the link if a link
is both in G.sub.k and G.sub.k--1; otherwise assigning the first
available color in a current color set;
[0021] Continuing until each said edge is assigned a color pairs,
named as complex coloring: colored edges whose corresponding links
are colored differently are called constants, and are called
variables otherwise; exchanging colors of arbitrary two said links
connected to the same vertex, so that the variables may walk along
the corresponding two-colored path and hit each other to be
eliminated; if the vertex has no correspond link to exchange the
color with the variable, assigning the variable a required color,
and a proper coloring of a bipartite graph is obtained when all the
variables are eliminated; if a few variables are not eliminated
within a set maximum running time, leaving the uncolored variables
to the next frame for recoloring.
[0022] In comparison with the current technology, the present
invention has the following beneficial effects:
[0023] (1) Batch scheduling issue is transformed to a coloring
issue in a bipartite graph with introduction of complex color
concept, so that a proper coloring solution with minimum number of
colors is obtained to obtain ultimately an optimized scheduling
solution. Hence, system bandwidth is optimally utilized to achieve
a nearly 100% throughput for the switching system.
[0024] (2) By applying parallel characteristics of the complex
color, each input port and output port can make full use of local
information, so that computational complexity is substantially
reduced for the present scheduling algorithm. The present invention
has a computational complexity of O(log.sub.2 N) with a frame
length selected as O(log N) and an amortized complexity of O(log
N). Therefore, the present invention obtains an optimized
scheduling solution quickly and effectively.
[0025] (3) By using the batch scheduling method, statistical
characteristics of the traffic load is effectively reflected. Thus,
the present invention remains stable for both uniform traffic and
non-uniform traffic.
BRIEF DESCRIPTION OF THE DRAWINGS
[0026] FIG. 1 contains schematic diagrams showing a switching
system vis-a-vis a bipartite graph: FIG. 1(a) shows a N.times.N
switching fabric structure; and FIG. 1(b) shows the corresponding
bipartite graph G.sub.k.
[0027] FIG. 2 contains schematic diagrams depicting the process of
bipartite coloring based on complex coloring: FIG. 2(a) shows the
proper coloring scheme corresponding to the (k-1)th frame,
G.sub.k-1; FIG. 2(b) shows the consistent coloring scheme
corresponding to the kth frame, G.sub.k; and FIG. 2(c) shows the
proper coloring scheme corresponding to the kth frame, G.sub.k.
[0028] FIG. 3 is a schematic diagram showing the variable
elimination process based on complex coloring.
[0029] FIG. 4 contains schematic diagrams showing the processing of
the scheduling algorithm based on complex coloring for a 3.times.3
switching structure: FIG. 4(a) shows a 3.times.3 switching fabric
structure; FIG. 4(b) shows the bipartite graph model corresponding
to the kth frame, G.sub.k; FIG. 4(c) shows the proper coloring
scheme corresponding to the (k-1 )th frame G.sub.k--1; and FIG.
4(d) shows the consistent coloring scheme corresponding to the kth
frame, G.sub.k.
[0030] FIG. 5 contains schematic diagrams showing a variable
elimination process corresponding to a 3.times.3 switching
structure based on complex colors: FIG. 5(a) shows the consistent
coloring scheme corresponding to the kth frame, G.sub.k; FIG. 5(b)
shows the variable elimination process in (1), (2), (3), and (4);
and FIG. 5(c) shows the proper coloring scheme corresponding to the
kth frame, G.sub.k.
[0031] FIG. 6 is a schematic diagram showing a scheduling scheme
obtained by the present invention for a 3.times.3 switching
structure with the frame length of 3.
DETAILED DESCRIPTION OF THE INVENTION AND EMBODIMENTS
[0032] In combination with drawings and embodiments hereunder
provided, the present invention is further enunciated, but it shall
be understood that the present invention is only illustrated
thereby, rather than being restricted of its scope of invention.
The present invention, upon reading by a person of the art, is
susceptible to equivalent modifications thereby, which shall fall
within the scope of the accompanying claims.
[0033] A N.times.N switching network, having N input ports and N
output port, has an input buffer queue for each input port. A
bipartite graph G=(V.orgate.U,E) has two disjoint vertex sets V and
U, wherein E is an edge set of the bipartite graph, and two
vertexes v.sub.i and u.sub.j associated with an arbitrary edge
e(v.sub.i,u.sub.j).di-elect cons.E belong respectively to the
vertex sets V and U.
[0034] The present invention comprises 3 steps: [0035] (1)
Scheduling initiation: first, as show in FIG. 1, mapping the
N.times.N switching network to a bipartite graph
G.sub.k=(V.orgate.U, E) according to a kth frame, wherein a vertex
v.sub.i.di-elect cons.V representing an input port i, a vertex
u.sub.j.di-elect cons.U representing an output port j, an edge
e.sub.m(v.sub.i,u.sub.j)representing the mth data cell going from
the input port i to the output port j, wherein i,j=1,2, . . . , N,
m.di-elect cons.{1,2, . . . , f}. [0036] (2) Edge coloring of the
bipartite graph: for any e.sub.m(v.sub.i,u.sub.j).di-elect cons.E
each of all the edges in the bipartite graph is split into a pair
of links and l.sub.m(v.sub.i,u.sub.j) and l.sub.m(u.sub.j,v.sub.i)
as shown in FIG. 2(b). Input ports and output ports respectively
color links which are incident to them, so as to ensure that links
connected to the same vertex are differently colored to obtain a
consistent coloring scheme of G.sub.k. The specific rule for
coloring is as follows: if there exists a link in both G.sub.k and
G.sub.k--1, assign the color used in G.sub.k--1 to the link;
otherwise, assign the first available color in the current color
set. As show in FIGS. 2(a) and 2(b), the link
l.sub.1(v.sub.i,u.sub.N) is adjacent to the vertex v.sub.i, and
exists in both G.sub.k and G.sub.k--1. Hence
l.sub.1(v.sub.i,u.sub.N) is assigned the color thereof in
G.sub.k--1. While l.sub.1(v.sub.i,u.sub.j) exists only in G.sub.k,
and is thus assigned the first available color in the current color
set. Instead of assigning one color in color set to each edge, the
present invention assigns a color pair, or a complex color, to each
edge of G.sub.k, that is one color for each link. The colored edge
is a constant if its corresponding links are colored identically,
for example, the e.sub.1(v.sub.i,u.sub.N) shown in FIG. 2(b).
Otherwise, the colored edge is called a constant, for example, the
e.sub.1(v.sub.i,u.sub.j)shown in FIG. 2(b). The colors of arbitrary
two links connected to the same vertex can be exchanged by the
vertex. For example, vertex 1 exchange the colors of its two
adjacent links as shown in FIG. 3. In this manner, the variables
can walk along the corresponding two-colored path and hit each
other to be eliminated. If the vertex has no correspond link to
exchange the color with the variable, the variable is assigned the
desired color, as shown in the vertex 2 in FIG. 3. Finally, all the
variables are eliminated and a proper coloring of the bipartite
graph is obtained, as shown in FIG. 2(c). If few variables are not
eliminated within a set maximum running time, leave the uncolored
variables to the next frame for recoloring. [0037] (3) Data cell
transmission: successively setting up connections between
corresponding input ports and output ports for sending
corresponding data packets in accordance with the edge colored by
the corresponding color in the coloring scheme obtained in step 2
at each timeslot.
EXAMPLES
[0038] A scheduling process with a specific traffic load with a
frame length of 3 and a 3.times.3 switching structure would
comprise the following steps: [0039] (1) Map the 3.times.3
switching network, as show in FIG. 4(a), to a bipartite graph
G.sub.k, as show in FIG. 4(b), according to a kth frame. Wherein
the vertex v.sub.i.di-elect cons.V represents an input port i, a
vertex u.sub.j.di-elect cons.U represents an output port j, the
edge e.sub.m(v.sub.i,u.sub.j).di-elect cons.E represents the mth
data cell going from the input port i to the output port j, wherein
i,j=1,2,3,m.di-elect cons.{1,2,3}. For example, the input port 1
has a data packet to be sent to the output port 2, and thus there
exists an edge e.sub.1(v.sub.1,u.sub.2)between the vertexes v.sub.1
and u.sub.2. [0040] (2) Split each edge in G.sub.k to a pair of
links. Input ports and output ports respectively color links which
are incident to them, so as to ensure that links connected to the
same vertex are differently colored, which is called a consistent
coloring of the bipartite graph. As shown in FIGS. 4(c) and 4(d),
both e.sub.1(v.sub.2,u.sub.2) and e.sub.1(v.sub.3,u.sub.3) exist on
graphs G.sub.k--1 and G.sub.k, and thus the coloring scheme in
G.sub.k-1 is used for both edges. On the other hand,
e.sub.1(v.sub.1,u.sub.2) does not exist in G.sub.k--1, and thus the
links l.sub.1(v.sub.1,u.sub.2) and l.sub.1(u.sub.2, v.sub.1) are
colored with their respective available smallest colors of the
respectively corresponding vertexes v.sub.1 and u.sub.2. This
applies similarly for other edges, until an initial coloring scheme
is obtained as shown in FIG. 4(d), wherein there are 4 variables.
To eliminate the 4 variables, vertexes in the vertex sets V and U
execute alternatively the color exchange operations, as shown in
FIG. 5(b). First, the vertexes v.sub.1 and v.sub.3 connected with
the variables are simultaneously executed with the color exchange
operation, as shown in FIG. 5(b)-(1). Subsequent to the operations
of the vertex set V, the vertexes u.sub.1 and u.sub.2 connected
with the variables in the vertex set U also simultaneously execute
the color exchange operations, as shown in FIG. 5(b)-(2). Continue
the alternative operations until all the variables in the graph are
eliminated. Ultimately, we obtain a proper coloring scheme, as
shown in FIG. 5(c). [0041] (3) Successively set up communication
connections with corresponding input ports and output ports for
sending corresponding data packets in accordance with the coloring
scheme obtained in step 2 and according to the timeslots
corresponding to the colors. As shown in FIG. 6, the color r
corresponds to the first timeslot for the next frame. Therefore, a
connection is set up for input ports and output ports corresponding
to every edge with color r. That is to say, at the first timeslot
for the next frame, the input port 1 sends data to output port 1,
the input port 2 sends data to output port 2, and the input port 3
sends data to output port 3. This applies similarly for other
timeslots.
* * * * *