CN1933441A - Router exchange structure for supporting uniform exchange and service quality guarantee method - Google Patents

Router exchange structure for supporting uniform exchange and service quality guarantee method Download PDF

Info

Publication number
CN1933441A
CN1933441A CNA2005101029686A CN200510102968A CN1933441A CN 1933441 A CN1933441 A CN 1933441A CN A2005101029686 A CNA2005101029686 A CN A2005101029686A CN 200510102968 A CN200510102968 A CN 200510102968A CN 1933441 A CN1933441 A CN 1933441A
Authority
CN
China
Prior art keywords
stream
scheduler
scheduling
cell
exchange
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.)
Granted
Application number
CNA2005101029686A
Other languages
Chinese (zh)
Other versions
CN100461759C (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2005101029686A priority Critical patent/CN100461759C/en
Publication of CN1933441A publication Critical patent/CN1933441A/en
Application granted granted Critical
Publication of CN100461759C publication Critical patent/CN100461759C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

An exchange structure of route supporting uniform exchange is prepared as connecting input port formed by input buffer area and dispatcher to output port through exchange kernel, setting buffer area at each cross point of said kernel, corresponding one input buffer area to one type of stream, sending cell of stream in input buffer area to said kernel by dispatcher and buffer-storing cell of specific stream in buffer area at cross point, enabling to store four cells in each buffer area at cross point, multiplexing cell in buffer area at corresponding cross point to be a stream and outputting it by dispatcher on output port.

Description

A kind of routers exchange structure and method for ensuring service quality of supporting evenly exchange
Technical field
The present invention relates to the nucleus equipment router of the network interconnection, specially refer to and support the evenly routers exchange structure of exchange.
Background technology
The develop rapidly of and optical fiber transmission technique growing along with the bandwidth requirement of the Internet, router has become the bottleneck of network development.Switching fabric plays key effect as the core part of router architecture for the exchange capacity that improves router and the assurance of service quality thereof.
The switching fabric of router has input port, output port and exchange kernel usually, in the exchange process of router, may compete same output port simultaneously by the cell that a plurality of input ports arrive, for fear of the generation of this situation, need be to the cell management of joining the team.Existing queuing policy mainly contains two kinds: (1) output work queue (Output Queueing): promptly at output port buffering area is set; (2) input queue (Input Queueing): promptly buffering area is set at input port.Switching fabric based on output work queue's type is very high for the bandwidth requirement of memory, for example for the switching fabric of N * N, the bandwidth requirement of its memory is at least the summation (promptly having N speed-up ratio doubly at least) of each input linear speed, so the extensibility of this type exchange structure is relatively poor.By comparison, be that linear speed gets final product because the switching fabric of input queue's type only requires the bandwidth of memory, so have extensibility preferably.
For fear of team's head (Head of Line) obstructing problem, the general enterprise schema that adopts virtual output buffering VOQ (Virtual Output Queueing) of switching fabric input port buffering of router, promptly a plurality of buffering areas are set at each input port, buffering area is corresponding one by one with output port, and each newly arrived cell enters corresponding VOQ respectively according to its purpose output port and waits for scheduling.At present, cross bar switch type switching fabric (InputQueued Crossbar) based on input queue is used widely, dispatching method under this structure generally is summed up as the matching problem of a kind of bipartite graph (Bipartite Graph), at each time slot (Time Slot), a coupling is generally generated by centralized dispatching method.Compare with output work queue, although the bandwidth demand of internal memory significantly reduces, but owing to there is input competition (Input Contention), so increased communication complexity (Communication Overhead) and computation complexity (Computational Complexity) again, extensibility is subjected to bigger restriction.Input competition described herein is meant because each input port adopts the formation organizational form of VOQ, the head of the queue cell that may have a plurality of formations in the same moment will be gone to different output ports, and at synchronization, allow by a cell at most at each input port, so can compete between cell.
In order further to improve the extensibility of switching fabric, people have proposed to unite input and crosspoint queuing type (being called for short CICQ) switching fabric again, and it is provided with buffering area respectively at input port and place, each crosspoint, and this switching fabric has following characteristics:
(1) distributed buffering (Distributed Buffering), the CICQ switching fabric adopts the buffering area of VOQ to organize mode at each input port, and also all is provided with buffering area in each crosspoint.In a time slot (TimeSlot), each crosspoint buffering area allows a read operation and a write operation, so in the input block and the needed bandwidth of crosspoint buffering area identical with the required bandwidth of simple input queue type switching fabric, do not need inner speed-up ratio equally, and be with good expansibility.
(2) distributed scheduling, in order to solve input port competition (Input Contention) problem, whether the corresponding scheduler of each input port is sent to corresponding crosspoint buffering area with the head of the queue cell of certain VOQ with decision.Equally, in order to solve the race problem of output port, whether the also corresponding scheduler of each output port can be sent to output port with the cell of the buffering area that determines certain crosspoint.So the CICQ switch needs 2N scheduler altogether, and each scheduler all is asynchronous independent operating, and communication complexity is lower.
The visible list of references 1:K.Yoshigoe of detailed introduction and K.J.Christensen about the CICQ switching fabric, " An evolution to crossbar switches with virtual output queuing and bufferedcross points ", IEEE Network, Volume 17, Issue 5, Sept.-Oct.2003 pp.48-56.
In the CICQ switching fabric, the dispatching method that scheduler adopted is the key factor of decision router performance.Recently, people have proposed multiple dispatching method based on the CICQ switching fabric, yet face the requirement of high-performance route exchange device characteristic and service quality assurance, adopt existing method to make up the extensive switching fabric of high-performance and also have very big obstacle to overcome.For example, existing method has all adopted the mechanism based on crosspoint buffer status information feedback, at each time slot, if a VOQ is ready for sending cell to corresponding crosspoint buffering area, at first to check the state of crosspoint buffering area feedback, if be 1, then show corresponding crosspoint buffering area less than, promptly can send; If state is 0, show that then corresponding crosspoint buffering area is full, promptly cannot send this cell.About the visible list of references 2:H.T.Kung of the introduction of this flow-control mechanism and R.Morris, " Credit-Based FlowControl for ATM Networks, " IEEE Netwok, Mar./Apr.1995, pp.40-48.
For the CICQ switching fabric that uses crosspoint buffer status information feedback mechanism, in order to obtain higher throughput, each crosspoint buffer pool size will reach linear speed bandwidth and the ply-yarn drill product to the round-trip delay of exchange kernel at least, and the demand of whole switching fabric buffer memory is the N in single crosspoint 2Doubly.Along with the raising of linear speed and the increase of delay,, thereby realize bringing bigger difficulty to hardware for the also sharply increase of capacity requirement of crosspoint buffering area.
In addition, in existing C ICQ switching fabric, how to realize that its service quality guarantees that (fairness of bandwidth, delay and jitter) also is problem demanding prompt solution.
Summary of the invention
The purpose of this invention is to provide a kind of CICQ switching fabric that need not to adopt crosspoint buffer status information feedback mechanism, realize that the cell in the router inlet flow is evenly distributed in the output stream, improve the routers exchange capacity, the service quality when guaranteeing routers exchange.
To achieve these goals, the present invention has at first provided a kind of evenly routers exchange structure of exchange of supporting, comprise input port, output port and exchange kernel, input port links to each other with output port by the exchange kernel, each crosspoint of exchange kernel is provided with buffering area, it is characterized in that, described input port is made up of input block and scheduler, in each input port, the corresponding a kind of stream in input block, the number of input block is identical with the number of stream, and the cell that the scheduler in the input port will be buffered in the stream in the input-buffer district sends to the exchange kernel; The exchange kernel is made up of the crosspoint buffering area, and the quantity of crosspoint buffering area is the product of input port number and output port number, the cell in specific stream of crosspoint buffering area buffer memory, and the capacity of each crosspoint buffering area is 4 cells; Each output port is equipped with a scheduler, and described scheduler evenly is multiplexed into stream and output with the cell of corresponding crosspoint buffering area.
In the technique scheme, described stream is done classification, sorted stream symbol f I, j h(h=1,2 ..., k) expression, wherein, i represents the input slogan, and j represents the output slogan, and h is the numbering of stream, and k represents from input port i input, the species number that can divide from the stream of output port i output.
In the technique scheme, the cell in the described specific stream of crosspoint buffering area buffer memory is meant and is labeled as XPB I, jThe buffer memory input port is i, output port be i all stream in cell.
Scheduler in the described input port adopts the scheduling mode of stratification, and ground floor is used S for the scheduler of stream one-level I, jExpression, this scheduler is with f I, j 1, f I, j 2..., f I, j kCell be multiplexed into one stream f I, jThe second layer is the port level scheduler, uses S I ,+Expression, this scheduler is with each stream f of ground floor scheduler output I, 1, f I, 2..., f I, NSend to after multiplexing in each self-corresponding crosspoint buffering area of exchange kernel; As scheduler S I ,+Scheduling f I, jThe time, can trigger scheduler S I, jThe head of the queue cell of a stream of scheduling is to corresponding crosspoint buffering area.
The scheduler of described stream one-level is held high S I, jSupport the scheduling of k stream, the bandwidth of scheduler is the summation of the bandwidth of each stream, uses formula r I, j=∑ hr I, j h(h=1,2 ..., k) expression, wherein, r I, j h(h=1,2 ..., k) be stream f I, j hRequired bandwidth, r I, jBe stream f I, jRequired bandwidth, r I, jAnd r I, j hBe rational; Before scheduler each cell in Scheduling Flow of stream one-level, calculate the scheduling time of permission the earliest of cell and end scheduling time; Stream schedule level one device S I, jCorresponding form is (r I, jr I, j 1..., r I, j k) example, wherein, r I, jAnd r I, j h(h=1,2 ..., k) being rational, described example can be exchanged into an integer example (m I, jm I, j 1, m I, j 2..., m I, j k), m I, jAnd m I, j h(h=1,2 ..., k) be integer, and r I, j h/ r I, j=m I, j h/ m I, jScheduler S I, jWith clock t I, jBe associated, as scheduler S I ,+Trigger scheduler S I, jThe time, S then I, jCall method sMUX ((m I, jm I, j 1, m I, j 2..., m I, j k), t I, j) carry out cell scheduling, and this timeslot scheduling is when finishing, clock t I, jAdd 1; If S I, jBe not triggered, then S I, jBe not scheduling and clock t I, jRemain unchanged.
The scheduler S of described port level I ,+The output cell of stream schedule level one device is sent in the buffering area of crosspoint, before the cell of the scheduler of port level in Scheduling Flow, calculate the scheduling time of permission the earliest of cell and end scheduling time; Port level scheduler S I ,+Corresponding form is (1; r I, 1..., r I, N) example, r I, 1..., r I, NBe rational, then can be exchanged into an integer example (m im I, 1..., m I, N), m wherein i, m I, 1..., m I, NBe integer, and m I, 1/ m i=r I, 1/ 1 ..., m I, N/ m i=r I, N/ 1; Scheduler S I ,+With clock t I ,+Be associated, at any time slot t I ,+, S I ,+Call method sMUX ((m im I, 1..., m I, N), t I ,+) carry out cell scheduling, and this timeslot scheduling is when finishing, clock t I ,+Add 1.
Scheduler S in the described output port +, jSupport is to the scheduling of scheduler place output port output stream, and scheduler calculates the scheduling time of permission the earliest of cell in the stream and ends scheduling time before scheduling; S +, jCorresponding form is (1; r 1, j..., r N, j) example, r 1, j, r 2, j..., r N, jBe rational, described example can be exchanged into an integer example (m jm 1, j..., m N, j), m wherein j, m 1, j..., m N, jBe integer, and m 1, j/ m j=r 1, j/ 1 ..., m N, j/ m j=r N, j/ 1; Scheduler S +, jWith clock t +, jBe associated, at any time slot t +, j, S +, jCall method sMUX ((m jm 1, j..., m N, j), t +, j) carry out cell scheduling, and this timeslot scheduling is when finishing, clock t +, jAdd 1.
Realize the even exchange of stream one-level for guaranteeing switching fabric, the invention provides a kind of evenly router services method for ensuring quality sMUX of exchange that supports, it is a kind of periodic scheduling algorithm based on frame, distribute to corresponding stream respectively by the bandwidth that each time slot in the frame is preengage according to each stream, realize each stream evenly multiplexing in output link, described method for ensuring service quality need be predicted the bandwidth and the output link bandwidth of each stream, if the bandwidth of each stream is respectively m 1, m 2..., m N, the bandwidth of output link is m, m wherein, m 1, m 2..., m NBe integer, then the bandwidth of each stream and output link bandwidth have been formed an example (m; m 1, m 2..., m N); Defined an integer variable r_pos and an array F[i in the method] (i=0,1 ..., r-1), described method comprises two parts, i.e. calculated off-line and on-line scheduling, and the concrete operations step is as follows:
A) in the routers exchange structure initialization, described method is carried out calculated off-line, promptly to array F[u] (u=0,1 ..., r-1) assignment may further comprise the steps:
Step 1) initialization integer variable r_pos, it is 0 that its value is composed;
Step 2) u=0;
Step 3) is sought the cell with minimum deadline in the set that all streams that allow scheduling time to be less than or equal to the cell place of u are the earliest formed, if exist, suppose that this cell belongs to j stream, then F[u]=j; If do not find qualified cell, then F[u]=0;
Step 4) u=u+1 is if i<r then changes step 3); Otherwise commentaries on classics step 5);
Step 5) is finished array F[u] (u=0,1 ..., assignment r-1), calculated off-line finishes.
B) at any time slot t, described method is carried out on-line scheduling to cell, carries out following steps:
Step 6) is obtained the relative position of current time slots t in frame, i.e. r_pos=t mod r, and wherein mod is the modulo operation symbol;
If step 7) F[r_pos]=0, this time slot free time then; Otherwise time slot t distributes to stream f F[r_pos]
The finishing scheduling of t time slot of step 8).
Described initialization integer variable r_pos is used to indicate the relative position of current time slots t in frame.
Described array F[u] (u=0,1 ..., r-1) in, index i represents the relative position of current time slots t in a frame, it obtains by current time slots t is done modulo operation, its computing formula is u=t mod r; The span of array F is [0, N], and wherein N represents total number of flowing, if the value of certain of array F is 0, represents this time slot corresponding t free time, does not distribute to any stream; If the value of certain of array F is j, and the value of j represents then that 1 in the middle of N this time slot corresponding t distributes to j stream.
It is described that to allow the computing formula of scheduling time the earliest be e I, j=I i+ (j-1)/w i, the computing formula of described deadline is d I, j=I I+j/ w i, wherein, e I, jThe scheduling time of permission the earliest of representing i j cell in the stream, d I, jThe deadline of representing i j cell in the stream, I iThe initial schedule time of representing i stream, w iRepresent that the bandwidth of i stream accounts for the ratio of output link total bandwidth.
Described method for ensuring service quality is applied to the scheduler in scheduler in all output ports and all input ports.
The invention has the advantages that:
1, method for ensuring service quality sMUX of the present invention makes in any big or small time interval, covering inhomogeneity departing from mostly is 1 cell most, service quality guarantees approximate evenly exchange, promptly under the situation that does not have desirable evenly exchange, provides optimum service quality to guarantee.
2, routers exchange structure of the present invention makes and need not speed-up ratio in switch inside, and the scheduling of input port and output port separates fully, need not to adopt crosspoint buffer status information feedback mechanism.
3, routers exchange structure of the present invention makes the capacity that exchanges each the crosspoint buffering area in the kernel at most only need 4 cells, allows ply-yarn drill to the round-trip delay that exchanges any size of kernel, can guarantee 100% throughput, and not have cell loss concealment.
4, the routers exchange structure of the present invention equal bounded of delay that can guarantee each cell is to the bandwidth fairness bounded of any stream, to the delay and the shake bounded of any stream.
Description of drawings
Fig. 1 a is the flow chart of calculated off-line in the method for ensuring service quality of the present invention (sMUX);
Fig. 1 b is the flow chart of on-line scheduling in the method for ensuring service quality of the present invention (sMUX);
Fig. 2 is for utilizing an embodiment of method for ensuring service quality of the present invention (sMUX);
Fig. 3 is the schematic diagram of routers exchange structure of the present invention.
Embodiment
Below in conjunction with the drawings and specific embodiments, the present invention is described further.
In the present invention, relate to a plurality of technical terms and mathematic sign, therefore the convenience in order to understand, the at first relevant notion of definition.
1) evenly exchange is meant cell in the inlet flow when arriving output port by switching equipment, and the cell in the single inlet flow should be evenly distributed in the output stream.
2) time slot (Time Slot), expression is with needed chronomere of cell of wire rate transmission, chronomere is the border with the integer, symbol t represent the interval [t, t+1).
3) N stream of given fixed length grouping (cell), shared bandwidth is the output link of r, supposes that the bandwidth requirement of i stream is r i, and ∑ ir i≤ r has then defined an example (r; r 1, r 2..., r N).In the present invention, arrange all bandwidth and be rational, then example (r; r 1, r 2..., r N) can be converted into an integral equivalent example (m; m 1, m 2..., m N), m wherein, m 1, m 2..., m NBe integer, and satisfy r i/ r=m i/ m (i=1,2 ..., N).
4) symbol
Figure A20051010296800101
Rounding operation symbol in the expression, real number v=2.5 for example, then
Figure A20051010296800102
Symbol   represents rounding operation symbol, for example v=2.5, then  v =2 down.
5) use symbol Cover i(t, l) be illustrated in time interval [t, t+l) in, output belongs to i cell number that flows in the sequence of cells.Given random time interval [t 1, t 2) (annotate: t 2Can bounded, i.e. t 2<+∞; Also can unbounded, i.e. t 2=+∞), symbol cvr i(l) expression length is the minimum covering of l, the minimum covering is meant in a time interval, there are many length to be all the short time interval of l, the minimum of the individual numerical value of the cell of certain stream that is comprised on a bit of time interval therein, this minimum value is exactly minimum the covering, minimum cover to ask for formula as follows:
cvr i(l)=min t{Cover i(t,l)|[t,t+l)[t 1,t 2)}.
Symbol CVR i(l) expression length is the maximum covering of l, cover similar with minimum, the maximum covering is in a time interval, there are many length to be all the short time interval of l, the maximum of the individual numerical value of the cell of certain stream that is comprised on a bit of time interval therein, this maximum is exactly maximum the covering, and maximum is coated with following formula:
CVR i(l)=max t{Cover i(t,l)|[t,t+l][t 1,t 2)}.
Symbol cvr-dev iDeparting between minimum covering of expression and the ideal value, ideal value is meant: for arbitrarily continuous l cell in the sequence of cells after multiplexing, belong to the cell number that flows i, should be lw in the ideal i, w wherein iBe i and flow the required bandwidth and the ratio of output link bandwidth.
The computing formula that departs between minimum covering and the ideal value is as follows:
Cvr-dev i=max l{  lw i-cvr i(l) | 0≤l≤t 2-t 1. symbol CVR-dev iDeparting between maximum covering of expression and the ideal value, there is following formula to set up;
Cvr-dev iAnd CVR-dev iBe to cover inhomogeneity tolerance, reflected the fairness of bandwidth, work as cvr-dev i=CVR-dev i=0 o'clock, promptly minimum cover to depart from depart from identically with maximum the covering, then i cell that flows is evenly distributed in the output stream, promptly realized the ideal uniform exchange, is constant circle if this departs from, then even exchange realized in title.
6) use symbol Pos i(j) j the time slot that cell is scheduled of i stream of expression; Symbol Space i(j s) j+s cell and j the time interval that cell is scheduled of i stream of expression, then has: Space i(j, s)=Pos i(j+s)-Pos i(j).[Pos between the given area i(j 1), Pos i(j 2)+1), symbol spc i(s) representing in this interval that distance is the minimum interval of s, is time interval Space between two cells of s to all spacings promptly i(j s) measures, and the minimum value of measuring is minimum interval spc i(s).The expression formula of minimum interval: spc then i(s)=min j{ Space i(j, s) | j 1≤ j, j+s≤j 2; Symbol SPC i(s) represent in this interval then there be: SPC for the maximum time interval of s distance i(s)=max j{ Space i(j, s) | j 1≤ j, j+s≤j 2.
Symbol spc-dev iDeparting between expression minimum interval and the ideal value, then have:
spc-dev i=max s{s/w i-spc i(s)|0≤s≤j 2-j 1};
Symbol SPC-dev iDeparting between expression maximum time interval and the ideal value, then have:
Spc-dev iAnd SPC-dev iBe the inhomogeneity tolerance in interval, reflected usually said shake.Work as spc-dev i=SPC-dev i=0 o'clock, promptly the minimum interval depart from largest interval depart from identical, then i stream cell be evenly distributed in the output stream, promptly realized the ideal uniform exchange.Be constant circle if this departs from, then claim to have realized even exchange.In addition, proved that covering uniformity is consistent with the interval uniformity.
7) use symbol f iRepresent i (the individual stream of 1≤i≤n), I iThe initial schedule time of representing i stream, T I, jRepresent i stream in j (j=1,2 ...) and individual cell; e I, jExpression T I, jThe scheduling time of permission the earliest (eligible time), the computing formula that then allows scheduling time the earliest is e I, j=I i+ (j-1)/w id I, jExpression T I, jDeadline (deadline), then the computing formula of deadline is d I, j=I I+j/ w i, w wherein iIt is the ratio of i the required bandwidth occupancy output link bandwidth of stream.
8) use symbol f I, jThe expression input port is that i and output port are the port level stream of j, r I, jBe stream f I, jShared bandwidth, symbol R represents a traffic matrix, then has:
R = r 1,1 r 1 , 2 · · · r 1 , N r 2,1 r 2,2 · · · r 2 , N · · · · · · r N , 1 r N , 2 · · · r N , N
Realize that evenly exchange is the core purpose of a kind of routers exchange structure disclosed in this invention, below by the connotation of an even exchange of example explanation.For example, the linear speed of supposing switch is 1, for one following 3 * 3 traffic matrix [r I, j] 3 * 3(r I, jExpression input port i is to the stream f of output port j I, jBandwidth)
1 / 2 1 / 3 1 / 6 1 / 4 1 / 3 5 / 12 1 / 4 1 / 3 5 / 12
Flow through each port level that exchange arrives output port 1 for each input port, ideally, in the stream of output port 1, f 1,1Should account for 1/2 bandwidth, a f should appear in just per two cells 1,1Cell, and f 2,1And f 3,1Should occupy 1/4 bandwidth respectively, per 4 cells should have a f in the output sequence of cells 2,1And f 3,1Cell.Other port level stream also has similar situation.
9) port level stream can also be done further division according to classification.Use f I, j hThe stream after the further segmentation is done in expression, and wherein, i is an input port, and j is an output port, and h represents the h class.This flows needed bandwidth and then uses r I, j hExpression.
Realize the even exchange of stream one-level in order to guarantee switching fabric, the invention provides a kind of evenly router services method for ensuring quality sMUX of exchange that supports, this method is a kind of dispatching algorithm based on frame, the length of frame is r, identical with the total bandwidth of stream, the employed data structure of this method comprises:
1) array F[u] (u=0,1 ..., r-1): index u represents the relative position of current time slots t in a frame, and u=t mod r is arranged; Array F value is in [0, N], for example for F[u]=j, if j=0 shows the time slot t free time, do not distribute to any stream; If j is ∈ [1, N], show that then time slot t gives j stream.The initial value of array F all is made as 0.This array has write down the distribution condition of router to each stream.
2) r_pos: one more than or equal to zero integer variable, is used to indicate the relative position of current time slots t in frame.
Method sMUX comprises two parts, i.e. calculated off-line and on-line scheduling.
A) shown in Fig. 1 (a), in the routers exchange structure initialization, described method is carried out calculated off-line, promptly to array F[u] (u=0,1 ..., r-1) assignment may further comprise the steps:
Step 10, initialization integer variable r_pos, it is 0 that its value is composed;
Step 20, u=0;
Step 30, in the set that all streams that allow scheduling time to be less than or equal to the cell place of u are the earliest formed, seek cell, if existence supposes that this cell belongs to j stream, then F[u with minimum deadline]=j; If do not find qualified cell, then F[u]=0;
Step 40, u=u+1 if u<r then changes step 30, otherwise change step 50;
Step 50, finish array F[u] (u=0,1 ..., assignment r-1), calculated off-line finishes.
B), shown in Fig. 1 (b), at any time slot t, described method is carried out on-line scheduling to cell, carries out following steps:
Step 60, obtain the relative position of current time slots t in frame, i.e. r_pos=t mod r, wherein mod is the modulo operation symbol;
If step 70 F[r_pos]=0, this time slot free time then; Otherwise time slot t distributes to stream f F[r_pos]
The finishing scheduling of step 80, a t time slot.
From the above description as can be known, sMUX is a periodic scheduling algorithm based on frame, and frame length is r, and in the calculated off-line stage, it is preengage each time slot in the frame according to each stream bandwidth is distributed to corresponding stream respectively; And at any one time slot t, sMUX just can obtain the relative position r_pos of time slot t in frame by modulo operation, thus with r_pos be index and directly obtain F[r_pos] value, if F[r_pos] value non-vanishing, then time slot t is used to flow f F[r_pos]Scheduling, otherwise this time slot free time.
In conjunction with Fig. 2 and a specific embodiment, the implementation procedure of method for ensuring service quality of the present invention is illustrated.At an example (35; 20,14,1) in, three streams is arranged, be labeled as f respectively 1, f 2And f 3, its required bandwidth is respectively 20,14 and 1, and total output link bandwidth is 35, and then the frame length of sMUX is 35.If the initial schedule time of each stream is 0, calculate the scheduling time of permission the earliest and the deadline of three each cells in the stream below respectively.According to f 3Bandwidth, in 35 chronomeres, have only a cell to belong to f 3, according to computing formula, permission scheduling time of this cell is 0, be 35 the deadline of this cell.According to f 2Bandwidth, in 35 chronomeres, have 14 cells to belong to f 2, permission scheduling time of these cells is respectively 0,2.5,5,7.5,10,12.5,15,17.5,20,22.5,25,27.5,30,32.5; Be respectively 2.5,5,7.5,10,12.5,15,17.5,20,22.5,25,27.5,30,32.5,35 the deadline of these cells.According to f 1Bandwidth, in 35 chronomeres, have 20 cells to belong to f 1, according to computing formula, permission scheduling time of these cells is respectively 0,1.75,3.5,5.25,7,8.75,10.5,12.25,14,15.75,18,19.75,21.5,23.25,25,26.75,28.5,30.25,32,33.75; Be respectively 1.75,3.5,5.25,7,8.75,10.5,12.25,14,1 5.75,18,19.75,21.5,23.25,25,26.75,28.5,30.25,32,33.75,35 the deadline of these cells.Because method sMUX is a periodic scheduling algorithm based on frame, after calculated off-line finishes, each stream the dispatching sequence in a frame be stored among the array F, and in the scheduling of each frame afterwards, need be index only, thereby obtain the numbering F[t mod r of the stream that when time slot t, will dispatch with the relative position (t mod r) of current time slots t in frame], for this reason, only introduce the assignment procedure of array F in the present embodiment, omit step 10.When i=0, according to step 30, at f 1, f 2And f 3In the head of the queue cell all allow scheduling, therefrom seek the cell of minimum deadline, f 1Deadline of head of the queue cell be 1.75, deadline minimum, F[0 then]=1; When t=1, this moment f 2And f 3In the head of the queue cell allow scheduling, and f 2Deadline of head of the queue cell be 2.5, deadline minimum, F[1 then]=2; The rest may be inferred, and when i=35, when promptly a frame period finished, the value of array F was:
F={1,2,1,2,1,2,1,1,2,1,2,1,3,1,2,1,1,2,1,2,1,1,2,1,2,1,2,1,1,2,1,2,1,2,1}。The value of resulting array F can directly be called in each frame scheduling subsequently, thereby has avoided recomputating cell scheduling order in each stream.Method for ensuring service quality of the present invention makes in any big or small time interval, covering inhomogeneity departing from mostly is 1 cell most, the service quality of this method guarantees approximate evenly exchange, and under the situation that does not have desirable evenly exchange, this method provides optimum service quality to guarantee.
Fig. 3 has showed a kind of evenly routers exchange structure of exchange of supporting of the present invention, and in the present embodiment, the value of getting N is 16, and the switching fabric of this 16 * 16 size is described.It comprises: 16 input ports, 16 output ports, exchange kernel.Input port and output port from 1 to 16 are numbered in order.
Input port is made up of input block and scheduler, and in each input port, each input block is corresponding with each stream respectively, for example VOQ I, j h(h=1,2 ..., k) be used for cushioning the f that flows automatically I, j hThe input cell.Promptly in an input port, 16k input block arranged.Also be provided with the individual scheduler of 17 (16+1) at each input port, schedulers of the corresponding stream of 16 schedulers (flow) one-levels wherein, the scheduler S of stream one-level I, jExpression, this scheduler are used for scheduling from the input of i port, from k stream of j port output.Another scheduler then is the scheduler of port level (port), the scheduler S of port level I ,+Expression, this scheduler can be dispatched from the stream of i port input.All schedulers all adopt method for ensuring service quality sMUX of the present invention to realize the cell in this input port is dispatched.
For any one input port i (1≤i≤16), at each time slot, each newly arrived cell enters in its place stream corresponding queues and waits for scheduling, supposes stream f I, j h(h=1,2 ..., bandwidth demand k) is r I, j h, then k is flowed total bandwidth r i , j = Σ h = 1 k r i , j h . Scheduler S I, jCorresponding example is (r I, jr I, j 1, r I, j 2..., r I, j k), and for each newly arrived cell, S I, jCalculate it respectively and allow scheduling time and deadline, for example for f I, j hP cell, e I, j h=I I, j h+ (p-1) r I, j/ r I, j h, be d deadline I, j h=I I, j h+ pr I, j/ r I, j h, I wherein I, j hBe stream f I, j hThe initial schedule time (be made as zero).
Port level scheduler S I ,+(i=1,2 ..., 16) with each stream f under it I, 1, f I, 2..., f I, 16Evenly be multiplexed into a stream, and send in the capable crosspoint buffering area of i and go.For the arrival cell of affiliated each stream, S I ,+Be respectively its calculating and allow scheduling time and deadline the earliest, for example for f I, jP cell, it allows scheduling time is e I, j=I I, j+ (p-1)/r I, j, be d deadline I, j=I I, j+ p/r I, j, I wherein I, jBe stream f I, jThe initial schedule time (be made as zero), r I, jBe stream f I, jRequired bandwidth.In a time slot, because each input port can send a cell to the crosspoint buffering area, so these 16 are flowed the output link bandwidth of being shared and are normalized to 1, scheduler S I ,+Corresponding example is (1; r I, 1..., r I, 16), its integral equivalent example is (m; m I, 1..., m I, 16).In addition, scheduler S I ,+Shovel and clock t I ,+Be associated, at any time slot t I ,+, S I ,+Call method sMUX ((m; m I, 1..., m I, 16), t I ,+) carry out cell scheduling, if method sMUX does not have this time slot allocation is flowed to any one, this time slot free time then; Otherwise, suppose that this time slot is used to flow f I, jScheduling, then this moment scheduler S I ,+Mode by " drawing (pull) " triggers scheduler S I, j, known scheduler S I, jCorresponding example is (r I, jr I, j 1, r I, j 2..., r I, j k), further can get s I, jA corresponding integral equivalent example is (m I, jm I, j 1, m I, j 2..., m I, j k).In addition, with S I, jThe clock that is associated is t I, j, scheduler S then I, jCall method sMUX ((m I, jm I, j 1, m I, j 2..., m I, j k), t I, j) carry out cell scheduling, and during finishing scheduling, clock t I, jAdd 1.If note S I, jBe not triggered, then S I, jBe not scheduling and clock t I, jRemain unchanged.
Any one output port j (j=1,2 ..., 16), be equipped with the scheduler S that adopts the sMUX method +, j, support respectively from XPB 1, j, XPB 2, j..., XPB 16, jThe scheduling of crosspoint buffering area stream, S +, jWith each stream f under it 1, j, f 2, j..., f 16, jEvenly being multiplexed into one flows and exports from j output port.For the arrival cell of affiliated each stream, S +, jBe respectively it and calculate permission scheduling time and deadline, for example for stream f I, jP cell, it allows scheduling time is e I, j=I I, j+ (p-1)/r I, j, be d deadline I, j=I I, j+ p/r I, j, I wherein I, jBe stream f I, jThe initial schedule time (be made as zero), r I, jBe stream f I, jRequired bandwidth.Scheduler S +, jCorresponding example is (1; r 1, j..., r 16, j), an integral equivalent example of its correspondence is (m; m 1, j..., m 16, j), and scheduler S +, jWith clock t +, jBe associated, at any time slot t +, j, S +, jCall method sMUX ((m; m 1, j..., m 16, j), t +, j) carry out cell scheduling, and during finishing scheduling, clock t +, jAdd 1.
As shown in Figure 3, the exchange kernel is made up of 16 * 16 crosspoint buffering areas, and the amount of capacity of carrying out of each crosspoint buffering area is 4 cell lengths, the crosspoint buffering area is numbered XPB respectively I, jRepresent that corresponding input port is that i and output port are the crosspoint buffering area of j, for example XPB 1.16Just the expression storage from input port be 1 and output port be 16 cell.Be numbered scheduler in the input port of q and be responsible for the capable crosspoint of q buffer scheduling cell in 16 * 16 exchange kernels.Compared with prior art, there is not the situation that makes that because of the increase of the raising of switch linear speed and delay the capacity of crosspoint buffer area also sharply increases in the finite capacity of each crosspoint buffering area, and is easy to realize on hardware.
Utilize switching fabric of the present invention, make to need not speed-up ratio, and the scheduling of input port and output port separates fully, need not to adopt crosspoint buffer status information feedback mechanism in switch inside.The capacity of each the crosspoint buffering area in switching fabric at most only needs 4 cells, just can guarantee 100% throughput, there is not cell loss concealment, and the equal bounded of the delay (delay) of bandwidth fairness (fairness), shake (jitter) and cell, realized even exchange.

Claims (12)

1, a kind of evenly routers exchange structure of exchange of supporting, comprise input port, output port and exchange kernel, input port links to each other with output port by the exchange kernel, each crosspoint of exchange kernel is provided with buffering area, it is characterized in that, described input port is made up of input block and scheduler, in each input port, the corresponding a kind of stream in each input block, the number of input block is identical with the number of stream, and the cell that the scheduler in the input port will be buffered in the stream in the input-buffer district sends to the exchange kernel; The exchange kernel is made up of the cross bar switch that is provided with buffering area in the crosspoint, the quantity of crosspoint buffering area is the product of input port number and output port number, cell in the specific stream of each crosspoint buffering area buffer memory, the capacity of each crosspoint buffering area is 4 cells; Each output port is provided with a scheduler, and described scheduler evenly is multiplexed into stream and output with the cell of corresponding crosspoint buffering area.
2, the routers exchange structure of the even exchange of support according to claim 1 is characterized in that, described stream is done classification, sorted stream symbol f I, j h(h=1,2 ..., k) expression, wherein, i represents the input slogan, and j represents the output slogan, and h is the numbering of stream, and k represents to flow into from input port i, the species number that can divide from the stream of output port j output.
3, the routers exchange structure of the even exchange of support according to claim 1 is characterized in that the cell in the specific stream of described each crosspoint buffering area buffer memory is meant and is labeled as XPB I, jCrosspoint buffering area buffer memory input port be i, output port be j all stream in cell.
4, the routers exchange structure of the even exchange of support according to claim 2 is characterized in that, the scheduler in the described input port adopts the scheduling mode of stratification, and ground floor is used S for the scheduler of stream one-level I, jExpression, this scheduler is with f I, j 1, f I, j 2..., f I, j kCell be multiplexed into one stream f I, jThe second layer is the port level scheduler, uses S I ,+Expression, this scheduler is with each stream f of ground floor scheduler output I, 1, f I, 2..., f I, NSend to after multiplexing in the crosspoint buffering area of exchange kernel correspondence; As scheduler S I ,+Scheduling f I, jThe time, can trigger scheduler S I, jThe head of the queue cell of a stream of scheduling is to corresponding crosspoint buffering area.
5, the routers exchange structure of the even exchange of support according to claim 4 is characterized in that the scheduler S of described stream one-level I, jSupport the scheduling of k stream, the bandwidth of scheduler is the summation of the bandwidth of each stream, uses formula r i , j = Σ h r i , j h (h=1,2 ..., k) expression, wherein, r I, j h(h=1,2 ..., k) be stream f I, j hRequired bandwidth, r I, jBe port level stream f I, jRequired bandwidth, r I, jAnd r I, j hBe rational; Before scheduler each cell in Scheduling Flow of stream one-level, calculate the scheduling time of permission the earliest of cell and end scheduling time; Stream schedule level one device S I, jCorresponding form is (r I, jr I, j 1..., r I, j k) example, wherein, r I, jAnd r I, j h(h=1,2 ..., k) being rational, described example can be converted to an integer example (m by the reduction of fractions to a common denominator I, jm I, j 1, m I, j 2..., m I, j k), m I, jAnd m I, j h(h=1,2 ..., k) be integer, and r i , j h / r i , j = m i , j h / m i , j ; Scheduler S I, jWith clock t I, jBe associated, as scheduler S I ,+Trigger scheduler S I, jThe time, S then I, jCarry out cell scheduling, and during finishing scheduling, clock t I, jAdd 1; If S I, jBe not triggered, then S I, jBe not scheduling and clock t I, jRemain unchanged.
6, the routers exchange structure of the even exchange of support according to claim 4 is characterized in that the scheduler S of described port level I ,+The output cell of stream schedule level one device is sent in the buffering area of crosspoint, before the cell of the scheduler of port level in Scheduling Flow, calculate the scheduling time of permission the earliest of cell and end scheduling time; Port level scheduler S I ,+Corresponding form is (1; r I, 1..., r I, N) example, r I, 1..., r I, NBe rational, described example can be converted to an integer example (m by the reduction of fractions to a common denominator im I, 1..., m I, N), m wherein i, m I, 1..., m I, NBe integer, and m I, 1/ m i=r I, 1/ 1 ..., m I, N/ m i=r I, N/ 1; Scheduler S I ,+With clock t I ,+Be associated, at any time slot t I ,+, S I ,+When carrying out cell scheduling and finishing scheduling, clock t I ,+Add 1.
7, the routers exchange structure of the even exchange of support according to claim 1 is characterized in that the scheduler S in the described output port +, jSupport is to the scheduling of scheduler place output port output stream, and scheduler calculates the scheduling time of permission the earliest of cell in the stream and ends scheduling time before scheduling; S +, jCorresponding form is (1; r 1, j... r N, j) example, r 1, j, r 2, j..., r N, jBe rational, described example can be converted to an integer example (m by the reduction of fractions to a common denominator jm 1, j..., m N, j), m wherein j, m 1, j..., m N, jBe integer, and m 1, j/ m j=r 1, j/ 1 ..., m N, j/ m j=r N, j/ 1; Scheduler S +, jWith clock t +, jBe associated, at any time slot t +, j, S +, jCarry out cell scheduling, and during finishing scheduling, clock t +, jAdd 1.
8, a kind of evenly method for ensuring service quality of the routers exchange structure of exchange of the described support of claim 1 that is applied in, it is a kind of periodic scheduling method based on frame, distribute to corresponding stream respectively by the bandwidth that each time slot in the frame is preengage according to each stream, realize each stream evenly multiplexing in output link, described method for ensuring service quality need be predicted the bandwidth and the output link bandwidth of each stream, if the bandwidth of each stream is respectively m 1, m 2..., m N, the bandwidth of output link is m, m wherein, m 1, m 2..., m NBe integer, then the bandwidth of each stream and output link bandwidth have been formed an example (m; m 1, m 2..., m N); Wherein defined an integer variable r_pos and an array F[u] (u=0,1 ..., r-1), specifically comprise calculated off-line and on-line scheduling two parts;
A) described calculated off-line partly is in the routers exchange structure initialization, promptly to array F[i] (i=0,1 ..., r-1) assignment may further comprise the steps:
Step 1) initialization integer variable r_pos, it is 0 that its value is composed;
Step 2) u=0;
Step 3) is sought the cell with minimum deadline in the set that all streams that allow scheduling time to be less than or equal to the cell place of u are the earliest formed, if exist, suppose that this cell belongs to j stream, then F[u]=j; If do not find qualified cell, then F[u]=0;
Step 4) u=u+1 is if i<r then changes step 3); Otherwise commentaries on classics step 5);
Step 5) is finished array F[u] (u=0,1 ..., assignment r-1), calculated off-line finishes;
B) described cell is carried out on-line scheduling partly for as any time slot t, carries out following steps:
Step 6) is obtained the relative position of current time slots t in frame, i.e. r_pos=t mod r, and wherein mod is the modulo operation symbol;
If step 7) F[r_pos]=0, this time slot free time then; Otherwise time slot t distributes to stream f F[r_pos]
The finishing scheduling of t time slot of step 8).
9, method for ensuring service quality according to claim 8 is characterized in that, described integer variable r_pos is used to indicate the relative position of current time slots t in frame.
10, method for ensuring service quality according to claim 8, it is characterized in that, described array F[u] (u=0,1, ..., r-1) in, index u represents the relative position of current time slots t in a frame, it obtains by current time slots t is done modulo operation, and its computing formula is u=t mod r; The span of array F is [0, N], and wherein N represents total number of flowing, if the value of certain of array F is 0, represents this time slot corresponding t free time, does not distribute to any stream; If the value of certain of array F is j, and the value of j represents then that 1 in the middle of N this time slot corresponding t distributes to j stream.
11, method for ensuring service quality according to claim 8 is characterized in that, described to allow the computing formula of scheduling time the earliest be e I, j=I i+ (j-1)/w i, the computing formula of described deadline is d I, j=I i+ j/w i, wherein, e I, jThe scheduling time of permission the earliest of representing i j cell in the stream, d I, jThe deadline of representing i j cell in the stream, I iThe initial schedule time of representing i stream, and w i=m i/ m.
12, method for ensuring service quality according to claim 8 is characterized in that, described method for ensuring service quality is applied to the scheduler in scheduler in all output ports and all input ports.
CNB2005101029686A 2005-09-16 2005-09-16 Router exchange structure for supporting uniform exchange and service quality guarantee method Expired - Fee Related CN100461759C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101029686A CN100461759C (en) 2005-09-16 2005-09-16 Router exchange structure for supporting uniform exchange and service quality guarantee method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101029686A CN100461759C (en) 2005-09-16 2005-09-16 Router exchange structure for supporting uniform exchange and service quality guarantee method

Publications (2)

Publication Number Publication Date
CN1933441A true CN1933441A (en) 2007-03-21
CN100461759C CN100461759C (en) 2009-02-11

Family

ID=37879070

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101029686A Expired - Fee Related CN100461759C (en) 2005-09-16 2005-09-16 Router exchange structure for supporting uniform exchange and service quality guarantee method

Country Status (1)

Country Link
CN (1) CN100461759C (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101795201A (en) * 2010-01-28 2010-08-04 中国电子科技集团公司第五十四研究所 Multi-stage survivable switching structure device
CN101945054A (en) * 2010-10-18 2011-01-12 西南交通大学 Dispatching algorithm suitable for feedback two-stage exchange structure
CN101299721B (en) * 2008-06-19 2012-04-18 杭州华三通信技术有限公司 Method for switching message of switching network, and switching device
CN112491748A (en) * 2020-11-20 2021-03-12 中国电子科技集团公司第五十四研究所 Credit-based proportional fair scheduling method supporting data packet exchange

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE508050C2 (en) * 1995-11-09 1998-08-17 Ericsson Telefon Ab L M Device and method of packet delivery
US7161906B2 (en) * 2000-12-15 2007-01-09 Agere Systems Inc. Three-stage switch fabric with input device features
US7292580B2 (en) * 2002-06-10 2007-11-06 Lsi Corporation Method and system for guaranteeing quality of service in a multi-plane cell switch
US20050089054A1 (en) * 2003-08-11 2005-04-28 Gene Ciancaglini Methods and apparatus for provisioning connection oriented, quality of service capabilities and services
CN1314245C (en) * 2003-08-22 2007-05-02 中国科学院研究生院 Dispatching method for virtual destination queuing exchanging system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299721B (en) * 2008-06-19 2012-04-18 杭州华三通信技术有限公司 Method for switching message of switching network, and switching device
CN101795201A (en) * 2010-01-28 2010-08-04 中国电子科技集团公司第五十四研究所 Multi-stage survivable switching structure device
CN101795201B (en) * 2010-01-28 2015-04-15 中国电子科技集团公司第五十四研究所 Multi-stage survivable switching structure device
CN101945054A (en) * 2010-10-18 2011-01-12 西南交通大学 Dispatching algorithm suitable for feedback two-stage exchange structure
CN101945054B (en) * 2010-10-18 2012-09-19 西南交通大学 Dispatching algorithm suitable for feedback two-stage exchange structure
CN112491748A (en) * 2020-11-20 2021-03-12 中国电子科技集团公司第五十四研究所 Credit-based proportional fair scheduling method supporting data packet exchange
CN112491748B (en) * 2020-11-20 2022-05-27 中国电子科技集团公司第五十四研究所 Credit-based proportional fair scheduling method supporting data packet exchange

Also Published As

Publication number Publication date
CN100461759C (en) 2009-02-11

Similar Documents

Publication Publication Date Title
CN1197275C (en) RRGS-circulation dispatch of input/output Taibit switch
Chuang et al. Practical algorithms for performance guarantees in buffered crossbars
AU736406B2 (en) Method for providing bandwidth and delay guarantees in a crossbar switch with speedup
CN1201532C (en) Quick-circulating port dispatcher for high-volume asynchronous transmission mode exchange
CA2401332C (en) Packet switching
CN101695051A (en) Queue length balance dispatching method used for buffered Crossbar
WO2005032167A1 (en) Matching process
CN1866927A (en) Information switching realizing system and method and scheduling algorithm
CN1933441A (en) Router exchange structure for supporting uniform exchange and service quality guarantee method
CN100421420C (en) Method for dispatching variable length data packet queue in crossbar switching matrix
CN1645839A (en) Communicating network exchanging system and controlling method based on parallel buffer structure
Pan et al. Localized independent packet scheduling for buffered crossbar switches
CN104022965B (en) The method and apparatus that a kind of message goes out team's scheduling
Chen et al. A novel algorithm for intra-ONU bandwidth allocation in Ethernet passive optical networks
CN1878132A (en) Method and system for realizing variable-length packet switching
Lin et al. Two-stage fair queuing using budget round-robin
CN1203688C (en) Fluid track dispatching method
Martinez et al. A new cost-effective technique for QoS support in clusters
CN1126333C (en) Smoothly turning and grouping scheduling control method and arrangement
CN1728682A (en) Switching system and switching method based on length variable packet
Bianco et al. Performance analysis of storage area network switches
Xiuqin et al. A in-order queuing parallel packet switch solution based on CICQ
Hu et al. Integrated uni-and multicast traffic scheduling in buffered crossbar switches
CN1221109C (en) Load balance type exchanging equipment and device having multi-stage buffer
Yang et al. Pre-order bonded deficit round robin for channel bonding system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090211

Termination date: 20190916