ISLIP Switch Scheduler Ali Mohammad Zareh Bidoki April 2002.

Slides:



Advertisements
Similar presentations
EE384y: Packet Switch Architectures
Advertisements

Lecture 4. Topics covered in last lecture Multistage Switching (Clos Network) Architecture of Clos Network Routing in Clos Network Blocking Rearranging.
1 Outline  Why Maximal and not Maximum  Definition and properties of Maximal Match  Parallel Iterative Matching (PIM)  iSLIP  Wavefront Arbiter (WFA)
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 High Speed Router Design Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
Router Architecture : Building high-performance routers Ian Pratt
Chen-Nien Tsai 2008/10/16 1 Wireless and Broadband Network Laboratory (WBNLAB) Dept. of CSIE, NTUT.
Nick McKeown CS244 Lecture 6 Packet Switches. What you said The very premise of the paper was a bit of an eye- opener for me, for previously I had never.
What's inside a router? We have yet to consider the switching function of a router - the actual transfer of datagrams from a router's incoming links to.
Network based System on Chip Final Presentation Part B Performed by: Medvedev Alexey Supervisor: Walter Isaschar (Zigmond) Winter-Spring 2006.
April 10, HOL Blocking analysis based on: Broadband Integrated Networks by Mischa Schwartz.
1 Comnet 2006 Communication Networks Recitation 5 Input Queuing Scheduling & Combined Switches.
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
CS 552 Computer Networks IP forwarding Fall 2004 Rich Martin (Slides from D. Culler and N. McKeown)
1 Architectural Results in the Optical Router Project Da Chuang, Isaac Keslassy, Nick McKeown High Performance Networking Group
Chapter 10 Switching Fabrics. Outline Physical Interconnection Physical box with backplane Individual blades plug into backplane slots Each blade contains.
1 ENTS689L: Packet Processing and Switching Buffer-less Switch Fabric Architectures Buffer-less Switch Fabric Architectures Vahid Tabatabaee Fall 2006.
CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion The.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Scaling.
EE 122: Router Design Kevin Lai September 25, 2002.
CS 268: Lecture 12 (Router Design) Ion Stoica March 18, 2002.
1 EE384Y: Packet Switch Architectures Part II Load-balanced Switches Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University.
CSIT560 By M. Hamdi 1 Packet Scheduling/Arbitration in Virtual Output Queues and Others.
CIST560 by M. Hamdi 1 Packet Scheduling/Arbitration in Virtual Output Queues: Maximal Matching Algorithms (Part II)
COMP680E by M. Hamdi 1 Course Exam: Review April 17 (in-Class)
Lecture 4#-1 Scheduling: Buffer Management. Lecture 4#-2 The setting.
1 Achieving 100% throughput Where we are in the course… 1. Switch model 2. Uniform traffic  Technique: Uniform schedule (easy) 3. Non-uniform traffic,
CSIT560 by M. Hamdi 1 Packet Scheduling/Arbitration in Virtual Output Queues and Others.
1 Netcomm 2005 Communication Networks Recitation 5.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Maximal.
August 20 th, A 2.5Tb/s LCS Switch Core Nick McKeown Costas Calamvokis Shang-tse Chuang Accelerating The Broadband Revolution P M C - S I E R R.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Scheduling.
Pipelined Two Step Iterative Matching Algorithms for CIOQ Crossbar Switches Deng Pan and Yuanyuan Yang State University of New York, Stony Brook.
Localized Asynchronous Packet Scheduling for Buffered Crossbar Switches Deng Pan and Yuanyuan Yang State University of New York Stony Brook.
4: Network Layer4b-1 Router Architecture Overview Two key router functions: r run routing algorithms/protocol (RIP, OSPF, BGP) r switching datagrams from.
1 IP routers with memory that runs slower than the line rate Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford.
Computer Networks Switching Professor Hui Zhang
A Scalable, Cache-Based Queue Management Subsystem for Network Processors Sailesh Kumar, Patrick Crowley Dept. of Computer Science and Engineering.
Load Balanced Birkhoff-von Neumann Switches
Belgrade University Aleksandra Smiljanić: High-Capacity Switching Switches with Input Buffers (Cisco)
Dynamic Networks CS 213, LECTURE 15 L.N. Bhuyan CS258 S99.
CS 552 Computer Networks IP forwarding Fall 2005 Rich Martin (Slides from D. Culler and N. McKeown)
ATM SWITCHING. SWITCHING A Switch is a network element that transfer packet from Input port to output port. A Switch is a network element that transfer.
1 Copyright © Monash University ATM Switch Design Philip Branch Centre for Telecommunications and Information Engineering (CTIE) Monash University
High Speed Stable Packet Switches Shivendra S. Panwar Joint work with: Yihan Li, Yanming Shen and H. Jonathan Chao New York State Center for Advanced Technology.
Enabling Class of Service for CIOQ Switches with Maximal Weighted Algorithms Thursday, October 08, 2015 Feng Wang Siu Hong Yuen.
1 Optical Burst Switching (OBS). 2 Optical Internet IP runs over an all-optical WDM layer –OXCs interconnected by fiber links –IP routers attached to.
The Router SC 504 Project Gardar Hauksson Allen Liu.
Routers. These high-end, carrier-grade 7600 models process up to 30 million packets per second (pps).
Packet Forwarding. A router has several input/output lines. From an input line, it receives a packet. It will check the header of the packet to determine.
Crossbar Switch Project
Stress Resistant Scheduling Algorithms for CIOQ Switches Prashanth Pappu Applied Research Laboratory Washington University in St Louis “Stress Resistant.
Jon Turner Resilient Cell Resequencing in Terabit Routers.
Belgrade University Aleksandra Smiljanić: High-Capacity Switching Switches with Input Buffers (Cisco)
Buffered Crossbars With Performance Guarantees Shang-Tse (Da) Chuang Cisco Systems EE384Y Thursday, April 27, 2006.
Intel Slide 1 A Comparative Study of Arbitration Algorithms for the Alpha Pipelined Router Shubu Mukherjee*, Federico Silla !, Peter Bannon $, Joel.
Lecture Note on Switch Architectures. Function of Switch.
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,
Input buffered switches (1)
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
scheduling for local-area networks”
Buffer Management and Arbiter in a Switch
Packet Forwarding.
Chapter 4: Network Layer
What’s “Inside” a Router?
Packet Scheduling/Arbitration in Virtual Output Queues and Others
Outline Why Maximal and not Maximum
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Chapter 4: Network Layer
Presentation transcript:

iSLIP Switch Scheduler Ali Mohammad Zareh Bidoki April 2002

Table of Contents The place Buffer in Crossbar Switches Example of Fabrics PIM iSLIP (in CISCO 12000,5Gb/s router and Tiny Tera 0.5 Tb/s) RRM WFA PP_VOQ Multicasting A 2.5Tb/s Router

The place of Buffer in Crossbar Output Buffer Shared Buffer Input buffer

Interconnects Two basic techniques Input Queueing Output Queueing Usually a non-blocking switch fabric (e.g. crossbar) Usually a fast bus

Interconnects Input Queueing with Crossbar configuration Data In Data Out Arbiter Memory b/w = 2R

Input Queueing Head of Line Blocking Delay Load 58.6% 100%

Head of Line Blocking

Virtual output Queuing Crossbar Switch fabric To port 1 Input queues To port 2 Port n queue To port n Port 2 queue Port 1 queue Input port 1 Queue scheduler

Input Queueing Virtual output queues

Input Queueing Virtual Output Queues Delay Load 100%

Which is better? Virtual output Queue (input queue). Ideal Output queue.

Input Queueing Virtual output queues Arbiter Complex!

VOQ Arbiter Input memory management

Problem Definition ( bipartite)

Maximum or Maximal matching

Maximum matching Maximizes instantaneous throughput Starvation Time complexity is very high in Hardware (o(n 3 )) Maximal matching Can’t add any connection on the current match without alert existing connections More practical (e.g. WFA, PIM, iSLIP, DRR,RRM)

Matching Algorithms Each algo. is evaluated by four parameters: 1.Latency(Throughput). 2.Starvation free. 3.Fast. 4.Implementation. 3. iSLIP – Iterative Serial-Line IP(base on PIM and RRM) 2. RRM – Round-Robin Matching 1. PIM - Parallel Iterative Matching We will discuss three different matching algo.:

When no new matching can be found, the algorithm stops. 3.Accept-If an input receives a grant, it accepts one by selecting an output randomly among those that granted to this output.. 2.Grant-If an unmatched output receives any requests, it grants to one by randomly selecting a request uniformly over all requests. 1.Request-Each unmatched input sends a request to every output for which it has a queued cell. PIM - Parallel Iterative Matching The basic matching algorithm. Each iteration of the algorithm follows these three steps:

PIM Each iteration will eliminate at least ¾ of the remaining connections Converge in O(logN) iterations No input queue is starved if service No memory or state is used At the beginning of each cell time, the match begins over, independently of the matches that were made in previous cell times PIM does not perform well for a single iteration: it limits the throughput to approximately 63%, only slightly higher than for a FIFO switch. This is because the probability that an input will remain ungranted is (N-1/N) N, hence as N increases, the throughput tends to.63% (1-(1/e)) Implementation is hard in Hardware

RRM – Round-Robin Matching The pointer g i to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input. 2.Grant-If an output receives any requests, it chooses the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The output notifies each input whether or not its request was granted. 1.Request-Each unmatched input sends a request to every output for which it has a queued cell. g2g2 g4g4 g1g1 a1a1 a3a3 a4a

RRM – Round-Robin Matching The pointer a i to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the accepted output. 3.Accept-If an input receives a grant, it accepts the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The pointer g i to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input. 2.Grant-If an output receives any requests, it chooses the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The output notifies each input whether or not its request was granted. 1.Request-Each unmatched input sends a request to every output for which it has a queued cell. a1a1 a3a3 a4a g2g2 g4g4 g1g1

RRM – Round-Robin Matching The pointer a i to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the accepted output. 3.Accept-If an input receives a grant, it accepts the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The pointer g i to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input. 2.Grant-If an output receives any requests, it chooses the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The output notifies each input whether or not its request was granted. 1.Request-Each unmatched input sends a request to every output for which it has a queued cell. a1a1 a3a3 a4a g2g2 g4g4 g1g1

RRM – Round-Robin Matching g2g2 g3g3 g1g1 a1a1 a2a2 a3a First cycle The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same.

RRM – Round-Robin Matching g2g2 g3g3 g1g1 a1a1 a2a2 a3a First cycle The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same.

RRM – Round-Robin Matching g2g2 g3g3 g1g1 a1a1 a2a2 a3a First cycle The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same.

RRM – Round-Robin Matching g2g2 g3g3 g1g1 a1a1 a2a2 a3a First cycle The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same.

RRM – Round-Robin Matching g2g2 g3g3 g1g1 a1a1 a2a2 a3a First cycle The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same.

RRM – Round-Robin Matching g2g2 g3g3 g1g1 a1a1 a2a2 a3a Second cycle The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same.

RRM – Round-Robin Matching g2g2 g3g3 g1g1 a1a1 a2a2 a3a Second cycle The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same.

RRM – Round-Robin Matching The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same. g2g2 g3g3 g1g1 a1a1 a2a2 a3a Second cycle At this point the sequence of the events will repeat itself: Outputs 1 and 3 will always grant input 1, while output 2 will always grant input 1 at the first iteration of the first cycle, but input 1 will select output 1 indefinitely, leaving output 2 to grant either input 2 or input 3. Thus the cell from input 1 to output 2 will never be granted. In order to solve this starvation the iSlip algorithm was developed.

RRM RRM overcomes two problem Complexity Unfairness the round-robin arbiters are much simpler and can perform faster than random arbiters. The rotating priority aids the algorithm in assigning bandwidth equally and more fairly among requesting connections. Its throughput is about 63%

2x2 switch with RRM algorithm under heavy load. synchronization of output arbiters leads to a throughput of just 50%.

Performance

Synchronization

iSLIP – Iterative Serial-Line IP 2.Grant-If an output receives any requests, it chooses the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The output notifies each input whether or not its request was granted. g2g2 g4g4 g1g1 a1a1 a3a3 a4a The pointer g i to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input if and only if the grant is accepted in Step 3 of the first iteration.

iSLIP – Iterative Serial-Line IP The pointer g i to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input if and only if the grant is accepted in Step 3 of the first iteration. 2.Grant-If an output receives any requests, it chooses the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The output notifies each input whether or not its request was granted. g2g2 g4g4 g1g a1a1 a3a3 a4a4

iSLIP properties Property 1. Lowest priority is given to the most recently made connection. If input i successfully connects to output j, both a i and g j are updated and the connection from input i to output j becomes the lowest priority connection in the next cell time. Property 2. No connection is starved. This is because an input will continue to request an output until it is successful. The output will serve at most other inputs first, waiting at most N cell times to be accepted by each input. Therefore, a requesting input is always served in less than N 2 cell times. Property 3. Under heavy load, all queues with a common output have the same throughput. This is a consequence of Property 2: the output pointer moves to each requesting input in a fixed order, thus pr-viding each with the same throughput.

iSLIP properties Simple to implement in hardware Starvation free Its throughput is about 100% It is fair As the load increases, the number of synchronized arbiters decreases (see Figure), leading to a large sized match. Under uniform 100% offered load the iSLIP arbiters adapt to a time-division multiplexing scheme. It converge in O(1)

Bursty Arrivals

Burstiness Reduction Results indicate that iSLIP reduces the average burst length, and will tend to be more burst-reducing as the offered load increases. This is because the probability of switching between multiple connections increases as the utilization increases. As the load increases, the contention increases and bursts are interleaved at the output. In fact, if the offered load exceeds approximately 70%, the average burst length drops to exactly one cell.

Burstiness Reduction

Multiple Iteration The pointer g i to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input if and only if the grant is accepted in Step 3 of the first iteration. Note that pointers g i and a i are only updated for matches found in the first iteration. It converge in O(logN)

Multiple Iteration

All with 4 iterations

Implementation

Implementation(2N arbiters)

Implementation(N arbiters) Each arbiter is used for both input and output arbitration. In this case, each arbiter contains two registers to hold pointers g i and a i.

Implementation

Priority in iSLIP

Why iSLIP is good for high speed? input buffers are separated Separated scheduler for each input and output Each work independently

Multicasting Fanout splitting: higher throughput, but not as simple Non-fanout splitting: Easy, but low throughput

Multicasting ( ESLIP: Combining Unicast and Multicast-use in CISCO )

IP packet in iSLIP switch ( 2N 2 Queue) Arbiter

Linecard LCSLCS LCSLCS 1: Req LCS Ingress Flow control(2.5Tb/s) 3: Data Switch Scheduler Switch Scheduler 2: Grant/credit Seq num Switch Fabric Switch Fabric Switch Port Req Grant

LCS Over Optical Fiber 10Gb/s Linecards 10Gb/s Linecard LCSLCS Switch Scheduler Switch Scheduler Switch Fabric Switch Fabric 10Gb/s Switch Port LCSLCS 12 multimode fibers 2.5Gb/s LVDS GENET Quad Serdes

2.56Tb/s IP router LCS 1000ft/300m Port #256 Port #1 2.56Tb/s switch core Linecards

Port Processor optics LCS Protocol optics Port Processor optics LCS Protocol optics Crossbar Switch core architecture Port #1 Scheduler RequestGrant/CreditCell Data Port #256