<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">IJCNS</journal-id><journal-title-group><journal-title>International Journal of Communications, Network and System Sciences</journal-title></journal-title-group><issn pub-type="epub">1913-3715</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/ijcns.2012.56041</article-id><article-id pub-id-type="publisher-id">IJCNS-19653</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Scheduler Algorithm for Multi-Class Switch with Priority Threshold
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>bdul</surname><given-names>Aziz Abdul Rahman</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Kamaruzzaman</surname><given-names>Seman</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Kamarudin</surname><given-names>Saadan</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ahmad</surname><given-names>Kamsani Samingan</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Azreen</surname><given-names>Azman</given-names></name><xref ref-type="aff" rid="aff3"><sup>3</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Next Generation Access, Telekom Research &amp;amp; Development, Selangor, Malaysia</addr-line></aff><aff id="aff3"><addr-line>Faculty of Computer Science &amp;amp; IT, Universiti Putra Malaysia (UPM), Selangor, Malaysia</addr-line></aff><aff id="aff2"><addr-line>Faculty of Science &amp;amp; Technology, Universiti Sains Islam Malaysia (USIM), Negeri Sembilan, Malaysia</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>abd_aziz@tmrnd.com.my(BAAR)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>12</day><month>06</month><year>2012</year></pub-date><volume>05</volume><issue>06</issue><fpage>313</fpage><lpage>320</lpage><history><date date-type="received"><day>March</day>	<month>29,</month>	<year>2012</year></date><date date-type="rev-recd"><day>April</day>	<month>23,</month>	<year>2012</year>	</date><date date-type="accepted"><day>May</day>	<month>11,</month>	<year>2012</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  The requirement for guaranteed Quality of Service (QoS) have become very essential since there are numerous network base application is available such as video conferencing, data streaming, data transfer and many more. This has led to the multi-class switch architecture to cater for the needs for different QoS requirements. The introduction of threshold in multi-class switch to solve the starvation problems in loss sensitive class has increased the mean delay for delay sensitive class. In this research, a new scheduling architecture is introduced to improve mean delay in delay sensitive class when the threshold is active. The proposed architecture has been simulated under uniform and non-uniform traffic to show performance of the switch in terms of mean delay. The results show that the proposed architecture has achieved better performance as compared to Weighted Fair Queueing (WFQ) and Priority Queue (PQ).
 
</p></abstract><kwd-group><kwd>Scheduler; Priority Thresholds; Multi-Class; Quality of Service (QOS)</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>In the current communication network, the desire of having multiple applications on a single traffic stream has become essentials. The multi-class traffic [1-9] is used to classify these applications based on its QoS requirements. The use of priority provides the means to give different classes of service a different type of traffic [<xref ref-type="bibr" rid="scirp.19653-ref4">4</xref>]. This needs an efficient scheduling algorithm to handle the flows of multi-class traffic packets.</p><p>Scheduling algorithm plays an important role in obtaining a high performance in multi-class switch. Priority scheduling technique is commonly used in multi-class switch. This technique is used to classify the priority level for each class. Unfortunately, most of the existing scheduling algorithm [1,2,4-6] only strives to maximize the QoS level in delay sensitive class for each arrival cell without considering the performance in lost sensitive class, which may result in poor QoS for this class, especially when the system is in heavy load. Scheduling algorithm for a single priority class may not perform well when it is applied to a multi-class scheduling [<xref ref-type="bibr" rid="scirp.19653-ref6">6</xref>]. The introduction of Weighted Fair Queue (WFQ) has improved the performance of the multi-class switch.</p><p>In Weighted Fair Queue (WFQ), traffic classes are served based on the fixed weight assigned to the related queue [7,8]. The weight is determined according to the QoS parameters, such as service rate or delay. This technique is not suitable under high-traffic load because of the fixed weight that is assigned to the queue and introduces starvation problems to loss sensitive class. The introduction of adaptive technique in threshold levels selection [<xref ref-type="bibr" rid="scirp.19653-ref9">9</xref>] has improved the performance. The priority given in these switch will determine the cells from which class should be served first with consideration of QoS requirements.</p><p>Despite improving the performance of loss sensitive class, designing a high speed packet multi-class switching with the threshold will introduce problems such as the drop of QoS performance for delay sensitive class whenever the threshold is active. This research is expected to improve the mean delay in delay sensitive class when the threshold for loss sensitive class is active.</p><p>In order to achieve the stated objective, the new scheduling algorithm is introduced to improve the delay sensitive class performance. Non-blocking switch such as the crossbar switch is used as a switching fabric. The scheduler wills evaluate all possible connections between all input port and output port for every class in the switch in order to make the best decision.</p><p>In this paper, we proposed an efficient scheduling technique to control the flow of the cells for both loss sensitive class and delay sensitive class in the multi-class switch with the threshold. This scheduler is able to detect and match the idle output port for delay sensitive class even in the present of the active threshold in loss sensitive class within the same input port.</p></sec><sec id="s2"><title>2. Proposed Model</title><p>The proposed multi-class switch architecture with N ports serving 2 classes of traffics is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>. Priority switch is used to forward delay sensitive packet (Class 1) faster than loss sensitive packet (Class 0).</p><p>The delay requirement for class j cells is defined by D<sub>j</sub> where j = 0, 1 and D<sub>0</sub> &gt; D<sub>1</sub>. In other words, the delay requirement for Class 1 is more stringent than Class 0 for system shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>. Thus, cells that queue in Class 0 have the lowest priority and cells that queue in Class 1 have the highest priority. These delay requirements are set based on the QoS requirement for different type of applications.</p><p>Time slot is used to represent the time of one cell arrival at the input port or cell departure at the output port. The period of time slot T<sub>s</sub>, where s = 0, 1, 2, &#183;&#183;&#183; is set to be equal to the time to process a single cell when the server is idle.</p><p>The class j cells arrive at the input port in every time slot according to Bernoulli distributions with mean l<sub>j</sub>. The cell is classified based on its delay requirement. In this architecture, the class of the cell is stored in the header. Arrival cells for Class j (l<sub>j</sub>) is queued in the FirstIn-First-Out (FIFO) buffer while waiting to be served.</p><p>The threshold setting is introduced in order to give some privileges to cells in lower priority class. In the case when there are cells from different classes are waiting at HoL; the scheduler will select the cell with high priority to be served. However, when the threshold is active, the scheduler will select the cell in the low-priority class. The losing cells in the contention must wait in the queue. In case when the threshold is active, and the</p><p>cells from both classes are destined to the different output port that is idle, both cells will be selected if there is no contention.</p></sec><sec id="s3"><title>3. Thresholds in Multi-Class Input Buffer</title><p>In multi-class switch, priority is given to delay sensitive packets compare to loss sensitive packets. This means, the cells from real time packets or delay sensitive packets in Class 1 are served first while cells from non-real time packets in Class 0 are queued in the buffer while waiting to be served. This will create a large amount of delay and starvation problem in non-real time class. To overcome this problem, scheduling has to give some priority to cells in Class 0.</p><p>To achieve this goal, each individual class will have their own buffer to accommodate different traffic classes. This can eliminate the head-of-line (HoL) for different classes blocking effects.</p><p>In normal cases, the scheduling algorithm for multiclass traffic only considers one parameter; priority cell setting or probability of serving low priority classes. In this research, two parameters have been selected to set the threshold level; the number of Class 0 cells in the queue (N<sub>b</sub>) and the probability on serving the Class 0 cells (P<sub>SC0</sub>) over the Class 1 cells. The threshold values are set based on the minimum requirement for high-priority class, arrival rate and buffer size of the switch. Therefore, the threshold settings can be adjusted to optimizing the total cell delay for both classes.</p><p>The number of Class 0 cells in the queue (N<sub>b</sub>) parameter is chosen because of the limited buffer size available in FPGA. The need to adjust the N<sub>b</sub> parameter is necessary to reduce the packet loss due to buffer full. This parameter is adjusted based on size of buffer used to stored cell in Class 0.</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref> illustrates the threshold active signal for setting at Class 0 buffer to two (N<sub>b</sub> = 2). The threshold signal is active when the buffer occupancy.</p><p>The probability on serving the Class 0 cells (P<sub>SC0</sub>) parameter is chosen in order to control the variation of delay between real time cell and non-real-time cell based on the real time QoS requirements. This is necessary in order to achieve better performance for Class 0 cells.</p><p>All arrivals for Class 0 cells and Class 1 cells are stored</p><p>in the First-In-First-Out (FIFO) buffer while waiting for their turns to be served. Selection from FIFO HoL between Class 0 and class1 is determined by the threshold setting in the scheduler. The scheduler will give priority for Class 0 when there is no cell in class1 or when both thresholds are triggered.</p></sec><sec id="s4"><title>4. Protocol</title><p>The scheduler process consists of three phase, i.e. request, grant, departure. <xref ref-type="fig" rid="fig3">Figure 3</xref> shows the protocol of each Head-of-Line (HoL) cell in the input buffer until departure.</p><p>All the HoL cells in input buffer will request grant to depart from the input port buffer (i) to output port (j). The granting process will depend on the situation of status either idle output port; availability of priority cells or threshold for low priority class is active. The award of grant to depart will be given by the scheduler. Once the cells received the grant signal, it can be departed from that input port and then update port for new HoL cell.</p></sec><sec id="s5"><title>5. Scheduling Algorithm</title><p>The scheduling algorithm is developed to control the cells flows through the switch. <xref ref-type="fig" rid="fig4">Figure 4</xref> shows the bipartite graph for the proposed scheduling algorithm. The high-priority class and low priority class will be control by a centralize scheduler.</p><p>A = Matrix of HoL for High priority class (H-HOL);</p><p>B = Matrix of HoL for Low priority class (L-HOL);</p><p>T = Matrix of threshold of input port of Low priority class;</p><p>O<sub>T</sub> = Vector of output port that have L-HOL cell with threshold;</p><p>O<sub>A</sub> = Vector of output port that have H-HOL cell;</p><p>O<sub>B</sub> = Vector of output port that have L-HOL cell;</p><p>γ = Vector of output port of H-HOL that not overlap with L-HOL with threshold;</p><p>φ = Vector of output port of L-HOL with and without threshold which not overlap with H-HOL;</p><p>H = Matrix of selected H-HOL cell;</p><p>L = Matrix of selected L-HOL cell;</p><p>1 = [1 1 1 1];</p><p>t = [t<sub>1</sub> t<sub>2</sub> t<sub>3</sub> t<sub>4</sub>].</p><p>where t<sub>i</sub> = {1, 0}</p><disp-formula id="scirp.19653-formula67191"><label>. (1)</label><graphic position="anchor" xlink:href="2-9701567\70b5a694-2bda-4153-b2b2-43f8255e7ce0.jpg"  xlink:type="simple"/></disp-formula><p>Vector t is given by the diagonal elements of the matrix T.</p><disp-formula id="scirp.19653-formula67192"><label>. (2)</label><graphic position="anchor" xlink:href="2-9701567\874e0fd4-f3fd-4c39-a623-a7f5e61d9c45.jpg"  xlink:type="simple"/></disp-formula><p>Vectors o<sub>A</sub> and o<sub>B</sub> represent the existing HOL cell for the destined output ports associated with High and Low priority class traffic, respectively. On the other hands, vector o<sub>T</sub> denotes the location of the output ports that have the active threshold signal. The three vectors are generated using the following expressions:</p><disp-formula id="scirp.19653-formula67193"><label>. (3)</label><graphic position="anchor" xlink:href="2-9701567\8df0109b-bec0-459c-81a4-cbb7c06baa03.jpg"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.19653-formula67194"><label>. (4)</label><graphic position="anchor" xlink:href="2-9701567\48e45951-71cd-42fa-a4f2-17144694318f.jpg"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.19653-formula67195"><label>. (5)</label><graphic position="anchor" xlink:href="2-9701567\ca269c4a-81e9-47c0-8de7-f8c690618792.jpg"  xlink:type="simple"/></disp-formula><p>Note that all vectors’ elements can only assume 1 or 0 value.</p><p>The above vectors (o<sub>A</sub>, o<sub>B</sub>, and o<sub>T</sub>) are used to construct diagonal matrices O<sub>A</sub>, O<sub>B</sub>, and O<sub>T</sub>, where the vectors become their respective diagonal elements. These diagonal matrices will be used in our selection section algorithm.</p><sec id="s5_1"><title>5.1. High Class Traffic Input Selection</title><p>Let us define a temporary vector γ&#160;to represent the legitimate output arrangement associated with the highclass traffic considering the low-class traffic input with active threshold.</p><disp-formula id="scirp.19653-formula67196"><label>(6)</label><graphic position="anchor" xlink:href="2-9701567\7fd4e7df-4c5f-4157-8cc1-0adfacfa8b4f.jpg"  xlink:type="simple"/></disp-formula><p>Note that, in the event contention, the high class traffic will be blocked. Then we can generate the selected input for the High class traffic, which is represented by a matrix H given by:</p><disp-formula id="scirp.19653-formula67197"><label>(7)</label><graphic position="anchor" xlink:href="2-9701567\c51405fb-cc5e-4718-9a9c-22c280f26cf9.jpg"  xlink:type="simple"/></disp-formula><p>However, if more than 1 inputs are possible for the same output, a round robin technique will be used to select the one of these input ports.</p></sec><sec id="s5_2"><title>5.2. Low Class Traffic Input Selection</title><p>Let us define a temporary vector φ given by the following expression:</p><disp-formula id="scirp.19653-formula67198"><label>(8)</label><graphic position="anchor" xlink:href="2-9701567\aa7cf473-b4f5-4dae-8f38-f1841ae3aafc.jpg"  xlink:type="simple"/></disp-formula><p>Recall that f(a) is given by Equation (8). Hence, f(O<sub>B</sub> – O<sub>A</sub>) will eliminate an output port option for the low class traffic if that port has been allocated for the high class traffic. After that, the final φ will also contain legitimate output port information about the low class traffic with active threshold.</p><p>Finally, we can define the input selection for the low class traffic by using the following equations:</p><disp-formula id="scirp.19653-formula67199"><label>(9)</label><graphic position="anchor" xlink:href="2-9701567\88c955bb-a219-4290-8d36-fc3de0395d61.jpg"  xlink:type="simple"/></disp-formula><p>The L matrix contains input selection weight for the low-class traffic. Similar to the previous case, whenever exists more than 1 input port with the same maximum weight, a round-robin technique will be used to select the one of these input ports.</p><p>The maximum weight in the row index of each column will determine the input ports for each output port. The output port is only able to select one input port either from H or L, the γ matrix has eliminated the overlap input selection for high-priority class traffic and j matrix has eliminated the overlap input selection for low priority class traffic.</p></sec></sec><sec id="s6"><title>6. Hardware Design</title><p>The hardware design of the scheduler is developed to evaluate the performance of the multi-class switch. The design of 16 &#215; 16 multi-class switch scheduler can be divided into two parts: HoL scheduler and full-scheduler. The HoL scheduler is used to cater the Head-of-Line (HoL) cells from different priority class. The full-schedule is used to perform the selection of cells for departure.</p><p><xref ref-type="fig" rid="fig5">Figure 5</xref> shows the architecture of multi-class scheduler. All the cells in input port HoL will be granted for departure based on scheduler protocol. The mux selector (Sel_L, Sel_H and Sel_out) will be determining by using the scheduling algorithm.</p><p>HoL Scheduler is used to select HoL cell from delay sensitive class (FIFO<sub>H</sub>) and/or loss sensitive class (FIFO<sub>L</sub>). <xref ref-type="fig" rid="fig6">Figure 6</xref> shows the HoL scheduler design for twoclass switch. Mux1 will transfer cell from FIFO<sub>H</sub> if dual threshold setting (N<sub>b0</sub> and P<sub>TSC0</sub>) does not meet its limit and there are cells in FIFO<sub>H</sub>. Cell from FIFO<sub>L</sub> will be transfered by Mux1 if there is no cell in FIFO<sub>H</sub> or when both thresholds setting to reach its limit. Mux2 will</p><p>transfer cell from FIFO<sub>L</sub> when the destination address for high class (Addr<sub>H</sub>) is different from destination address for low class (Addr<sub>L</sub>). Mux2 will eliminate the HoL blocking effect for loss sensitive class and will increase the switch performance.</p><p><xref ref-type="fig" rid="fig7">Figure 7</xref> illustrates an example of the scheduler process. Output port 1 will be accepting cell either from input</p></sec></body><back><ref-list><title>References</title><ref id="scirp.19653-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">A. K. Gupta and N. D. Georganas, “Priority performance of ATM packet switches,” Proceedings of Eleventh Annual Joint Conference of the IEEE Computer and Communications Societies, Florence, 4-8 May 1992, pp. 727-733.</mixed-citation></ref><ref id="scirp.19653-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">L. Lemin, et al., “Maximum Throughput of an Input Queueing Packet Switch with Two Priority Classes,” IEEE Transactions on Communications, Vol. 42, No. 12, 1994, pp. 3095-3097. doi:10.1109/26.339828</mixed-citation></ref><ref id="scirp.19653-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">A. A. A. Rahman, et al., “Multi-Class Scheduling Technique Using Dual Threshold,” The 8th Asia-Pacific Symposium on Information and Telecommunication Technologies, Kuching, 15-18 June 2010, pp. 1-5. </mixed-citation></ref><ref id="scirp.19653-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">J. S. C. Chen and R. Guerin, “Performance Study of an Input Queueing Packet Switch with Two Priority Classes,” IEEE Transactions on Communications, Vol. 39, No. 1, 1991, pp. 117-126. doi:10.1109/26.68282</mixed-citation></ref><ref id="scirp.19653-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">J. S. Choi and C. K. Un, “Delay Performance of an Input Queueing Packet Switch with Two Priority Classes,” IEE Proceedings of Communications, Vol. 145, No. 3, 1998, pp. 141-144. doi:10.1049/ip-com:19981931</mixed-citation></ref><ref id="scirp.19653-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">D. C. W. Pao and S. P. Lam, “Cell Scheduling for ATM Switch with Two Priority Classes,” IEEE ATM Workshop Proceedings, Fairfax, 26-29 May 1998, pp. 86-90.</mixed-citation></ref><ref id="scirp.19653-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">A. Al-Sawaai, I. Awan and R. Fretwell, “Analysis of the Weighted Fair Queuing System with Two Classes of Customers with Finite Buffer,” International Conference on Advanced Information Networking and Applications Workshops, Bradford, 26-29 May 2009, pp. 218-223.</mixed-citation></ref><ref id="scirp.19653-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">A. Al-Sawaai, I. U. Awan and R. Fretwell, “Performance of Weighted Fair Queuing System with Multi-Class Jobs,” The 24th IEEE International Conference on Advanced Information Networking and Applications, Perth, 20-23 April 2010, pp. 50-57.</mixed-citation></ref><ref id="scirp.19653-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">A. A. A. Rahman, et al., “Adaptive Dual Threshold Multi-Class Scheduling for Packet Switch,” International Journal of Computer and Network Security, Vol. 2, No. 8, 2010, pp. 21-26.</mixed-citation></ref></ref-list></back></article>