Crossbar Switch Project

Slides:



Advertisements
Similar presentations
EE384y: Packet Switch Architectures
Advertisements

I/O Management and Disk Scheduling
1 Outline  Why Maximal and not Maximum  Definition and properties of Maximal Match  Parallel Iterative Matching (PIM)  iSLIP  Wavefront Arbiter (WFA)
1 CNPA B Nasser S. Abouzakhar Queuing Disciplines Week 8 – Lecture 2 16 th November, 2009.
Lecture 12. Emulating the Output Queue So far we have shown that it is possible to obtain the same throughput with input queueing as with output queueing.
Chen-Nien Tsai 2008/10/16 1 Wireless and Broadband Network Laboratory (WBNLAB) Dept. of CSIE, NTUT.
IP Telephony Project By: Liane Lewin Shahar Eytan Guided By: Ran Cohen - IBM Vitali Sokhin - Technion.
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 we will cover…  Distributed Coordination 1-1.
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.
Network based System on Chip Part A Performed by: Medvedev Alexey Supervisor: Walter Isaschar (Zigmond) Winter-Spring 2006.
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)
Cs238 CPU Scheduling Dr. Alan R. Davis. CPU Scheduling The objective of multiprogramming is to have some process running at all times, to maximize CPU.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
What we will cover…  CPU Scheduling  Basic Concepts  Scheduling Criteria  Scheduling Algorithms  Evaluations 1-1 Lecture 4.
CSIT560 By M. Hamdi 1 Packet Scheduling/Arbitration in Virtual Output Queues and Others.
ACN: Congestion Control1 Congestion Control and Resource Allocation.
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)
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.
Intro to OS CUCS Mossé Processes and Threads What is a process? What is a thread? What types? A program has one or more locus of execution. Each execution.
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.
Computer Networks Switching Professor Hui Zhang
Belgrade University Aleksandra Smiljanić: High-Capacity Switching Switches with Input Buffers (Cisco)
Enabling Class of Service for CIOQ Switches with Maximal Weighted Algorithms Thursday, October 08, 2015 Feng Wang Siu Hong Yuen.
+ Simulation Design. + Types event-advance and unit-time advance. Both these designs are event-based but utilize different ways of advancing the time.
The Router SC 504 Project Gardar Hauksson Allen Liu.
3.1 : Resource Management Part2 :Processor Management.
ISLIP Switch Scheduler Ali Mohammad Zareh Bidoki April 2002.
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.
Uniprocessor Scheduling
Stress Resistant Scheduling Algorithms for CIOQ Switches Prashanth Pappu Applied Research Laboratory Washington University in St Louis “Stress Resistant.
Chapter 5: Process Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Basic Concepts Maximum CPU utilization can be obtained.
CIS250 OPERATING SYSTEMS Chapter 6 - CPU Scheduling Basic Concepts The objective of multi-programming is have a program running at all times Maximize.
Program Design. The design process How do you go about writing a program? –It’s like many other things in life Understand the problem to be solved Develop.
Belgrade University Aleksandra Smiljanić: High-Capacity Switching Switches with Input Buffers (Cisco)
The Stable Marriage Problem
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.
Improving Matching algorithms for IQ switches Abhishek Das John J Kim.
Academic Year 2014 Spring Academic Year 2014 Spring.
Input buffered switches (1)
Scheduling Mechanisms Applied to Packets in a Network Flow CSC /15/03 By Chris Hare, Ricky Johnson, and Fulviu Borcan.
CPU Scheduling G.Anuradha Reference : Galvin. CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
Lecturer 5: Process Scheduling Process Scheduling  Criteria & Objectives Types of Scheduling  Long term  Medium term  Short term CPU Scheduling Algorithms.
scheduling for local-area networks”
Background on the need for Synchronization
Buffer Management and Arbiter in a Switch
Packet Forwarding.
Packet Switching (basics)
Chapter 6: CPU Scheduling
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
Chapter 5: CPU Scheduling
Packet Scheduling/Arbitration in Virtual Output Queues and Others
Outline Why Maximal and not Maximum
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Lecture 2 Part 3 CPU Scheduling
Uniprocessor scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Module 5: CPU Scheduling
Input-queued switches: queueing theory & algorithm design
Module 5: CPU Scheduling
Presentation transcript:

Crossbar Switch Project Submitting: Eli Cohen 032076515 Barak Pinhas 037584042 Hana Sender 034366666

Crossbar-based Switches In order to allow a router to receive several packets from different sources to different outputs, a simple design was suggested: Each input (source) will be able to connect to each output (destination). A control mechanism will decide which input will be connected to which output (according to the input’s request). Input Output

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

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

RRM – Round-Robin Matching 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. The pointer gi to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input. a1 a3 a4 g2 g4 g1 1 2 3 4

RRM – Round-Robin Matching 1. Request - Each unmatched input sends a request to every output for which it has a queued cell. The pointer gi 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. The pointer ai 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. a1 a3 a4 1 2 3 4 g2 g4 g1

RRM – Round-Robin Matching 1. Request - Each unmatched input sends a request to every output for which it has a queued cell. The pointer gi 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. 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 ai to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the accepted output. 1 2 3 4 a1 a3 a4 g2 g4 g1

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. a1 g1 1 2 3 1 2 3 a2 g2 First cycle 1 2 3 1 2 3 a3 g3 1 2 3 1 2 3

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. a1 1 2 3 1 2 3 a2 First cycle g1 1 2 3 1 2 3 a3 g2 1 2 3 1 2 3 g3

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. 1 2 3 1 2 3 a1 First cycle g1 1 2 3 a2 1 2 3 a3 g2 1 2 3 1 2 3 g3

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. 1 2 3 1 2 3 a1 First cycle g2 g1 1 2 3 a2 1 2 3 a3 1 2 3 1 2 3 g3

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. 1 2 3 1 2 3 a1 First cycle g2 g1 a2 1 2 3 1 2 3 a3 1 2 3 1 2 3 g3

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. 1 2 3 1 2 3 a1 Second cycle g2 g1 a2 1 2 3 1 2 3 a3 1 2 3 1 2 3 g3

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. 1 2 3 1 2 3 a1 Second cycle g1 a2 1 2 3 1 2 3 g2 a3 1 2 3 1 2 3 g3

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. a1 1 2 3 1 2 3 Second cycle g1 a2 1 2 3 1 2 3 g2 a3 1 2 3 1 2 3 g3 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.

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. The pointer gi 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. a1 a3 a4 g2 g4 g1 1 2 3 4

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. The pointer gi 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. 1 2 3 4 g2 g4 g1 a1 a3 a4

iSLIP – Iterative Serial-Line IP The iSlip algorithm prioritizes the requests by not advancing the grant pointer, unless the grant was accepted in the first iteration, thus preventing synchronization of the output arbiters. The outcome of this change is the prevention of the starvation presented before.

And now... The Real Thing!! Real The Thing!!

Conclusions

Latency Starvation Free The PIM is clearly the worst of the three when latency is discussed. The differences between the RRM and the iSlip are minor, although the standard deviation is in favor for the iSlip algorithm. Starvation Free The PIM is not starvation free, since both input and output controls select the matching randomly. The RRM is not completely starvation free, although the starvation is very rare. The iSlip is starvation free.

fast The fastness of the PIM depends upon the random function only. The RRM and the iSlip have queues to manage, which makes the matching a little slower although the difference is minor Implementation The PIM is allegedly the easiest to implement, but sometimes a good random function is hard to implement. The RRM and the iSlip are a little harder to implement, but the difference (once more) is minor.

The End