IV. PACKET SWITCH ARCHITECTURES

Similar documents
BROADBAND AND HIGH SPEED NETWORKS

Introduction to ATM Technology

Switching. An Engineering Approach to Computer Networking

The Network Layer and Routers

Space-division switch fabrics. Copyright 2003, Tim Moors

Introduction. Introduction. Router Architectures. Introduction. Recent advances in routing architecture including

ECE 697J Advanced Topics in Computer Networks

CSE 3214: Computer Network Protocols and Applications Network Layer

Switching Hardware. Spring 2015 CS 438 Staff, University of Illinois 1

Packet Switch Architectures Part 2

ATM Switches. Switching Technology S ATM switches

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 11

Chapter 4 Network Layer

Cell Switching (ATM) Commonly transmitted over SONET other physical layers possible. Variable vs Fixed-Length Packets

Introduction. Router Architectures. Introduction. Introduction. Recent advances in routing architecture including

Router Construction. Workstation-Based. Switching Hardware Design Goals throughput (depends on traffic model) scalability (a function of n) Outline

Lecture 16: Router Design

Cell Format. Housekeeping. Segmentation and Reassembly AAL 3/4

DESIGN OF MULTICAST SWITCHES FOR SANS

Architecture and Performance Analysis of the Multicast Balanced Gamma Switch for Broadband Communications 1

Router Architectures

Topic 4a Router Operation and Scheduling. Ch4: Network Layer: The Data Plane. Computer Networking: A Top Down Approach

Routers: Forwarding EECS 122: Lecture 13

Computer Networks. Instructor: Niklas Carlsson

Chapter 4. Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, sl April 2009.

Routers: Forwarding EECS 122: Lecture 13

Crossbar - example. Crossbar. Crossbar. Combination: Time-space switching. Simple space-division switch Crosspoints can be turned on or off

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

HWP2 Application level query routing HWP1 Each peer knows about every other beacon B1 B3

CS 552 Computer Networks

Switching CHAPTER 8. Figure 8.1

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

CSC 4900 Computer Networks: Network Layer

Designing Efficient Benes and Banyan Based Input-Buffered ATM Switches

Interconnection Networks: Topology. Prof. Natalie Enright Jerger

Multicast ATM Switches: Survey and Performance Evaluation. Ming-Huang Guo and Ruay-Shiung Chang

CMSC 332 Computer Networks Network Layer

CHAPTER 3 EFFECTIVE ADMISSION CONTROL MECHANISM IN WIRELESS MESH NETWORKS

LS Example 5 3 C 5 A 1 D

Key Network-Layer Functions

Lecture 17: Router Design

A Survey of ATM Switching Techniques

BROADBAND AND HIGH SPEED NETWORKS

Chapter 4 Network Layer: The Data Plane

BROADBAND PACKET SWITCHING TECHNOLOGIES

CONGESTION CONTROL BY USING A BUFFERED OMEGA NETWORK

A High Performance ATM Switch Architecture

CSE398: Network Systems Design

TOC: Switching & Forwarding

CSC 401 Data and Computer Communications Networks

A Proposal for a High Speed Multicast Switch Fabric Design

Quality of Service (QoS)

Comparative Study of blocking mechanisms for Packet Switched Omega Networks

TCOM 370 NOTES 99-1 NETWORKING AND COMMUNICATIONS

Optical Packet Switching

Router Architecture Overview

Chapter 8 Switching 8.1

Packet Switching. Hongwei Zhang Nature seems to reach her ends by long circuitous routes.

A closer look at network structure:

Chapter 4 ATM VP-Based Ring Network

Topics for Today. Network Layer. Readings. Introduction Addressing Address Resolution. Sections 5.1,

Network Superhighway CSCD 330. Network Programming Winter Lecture 13 Network Layer. Reading: Chapter 4

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview

An Enhanced Dynamic Packet Buffer Management

Routers Technologies & Evolution for High-Speed Networks

The Arbitration Problem

TOC: Switching & Forwarding

Network Layer: outline

Congestion Control and Resource Allocation

CSE 123A Computer Networks

Internetworking Part 1

Quality of Service in the Internet

Design of Optical Burst Switches based on Dual Shuffle-exchange Network and Deflection Routing

Switch Fabrics. Switching Technology S Recursive factoring of a strict-sense non-blocking network

Network Layer: Router Architecture, IP Addressing

Switching CHAPTER 8. Figure 8.1

FIRM: A Class of Distributed Scheduling Algorithms for High-speed ATM Switches with Multiple Input Queues

Scalable Schedulers for High-Performance Switches

Introduction to Communications Part One: Physical Layer Switching

Last time. BGP policy. Broadcast / multicast routing. Link virtualization. Spanning trees. Reverse path forwarding, pruning Tunneling

Resource allocation in networks. Resource Allocation in Networks. Resource allocation

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

High-Speed Cell-Level Path Allocation in a Three-Stage ATM Switch.

Bridging and Switching Basics

Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai

ATM SWITCH: As an Application of VLSI in Telecommunication System

CS 457 Networking and the Internet. Network Overview (cont d) 8/29/16. Circuit Switching (e.g., Phone Network) Fall 2016 Indrajit Ray

QUALITY of SERVICE. Introduction

SELECTION OF METRICS (CONT) Gaia Maselli

I. INTRODUCTION. each station (i.e., computer, telephone, etc.) directly connected to all other stations

PERFORMANCE OF A THREE-STAGE BANYAN-BASED ARCHITECTURE WITH INPUT AND OUTPUT BUFFERS FOR LARGE FAST PACKET SWITCHES

Switch Fabrics. Switching Technology S P. Raatikainen Switching Technology / 2006.

Routing, Routers, Switching Fabrics

Lecture 17: Router Design

Quality of Service in the Internet

The War Between Mice and Elephants

Implementation of a leaky bucket module for simulations in NS-3

CS-534 Packet Switch Architecture

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Switch Fabric. Switch Fabric Overview

Transcription:

IV. PACKET SWITCH ARCHITECTURES (a) General Concept - as packet arrives at switch, destination (and possibly source) field in packet header is used as index into routing tables specifying next switch in path, i.e., which outgoing link from switch - packet can then be switched from incoming port/link to appropriate outgoing port/link General diagram of packet switch: SWITCHING 1

- port mapper used to read destination address or virtual circuit identifier and uses routing table to determine output - typically packets can be switched either synchronously or asynchronously: - synchronous switching uses fixed size packets packets at all inputs switched at same time - asynchronous switching can use variable size packets packets switched from an input not synchronized with other input ports (b) Generations of Packet Switches 1st Generation - Shared Memory - CPU stores received packets in input queues in main memory SWITCHING 2

- packets routed to output queue by CPU according to packet header - packets can be switched synchronously or asynchronously - low cost but slow because of bottlenecks such as processor and memory access speeds - typical for low cost Internet routers 2nd Generation - Shared Medium - processors contend for shared medium bottleneck - line cards responsible for routing packets from input queue to appropriate output queue on outgoing line card SWITCHING 3

- central processor updates routing tables in front end processor (FEP) as appropriate if route not found by FEP, packet can be forwarded to central processor which can make decision on routing tables and subsequently updating routing table of FEP - packets can be switched synchronously and asynchronously - typical for high end routers and low end ATM switches 3rd Generation - Switch Fabrics SWITCHING 4

- control processor can contain (1) functionality to establish connection through switch fabric (2) arbiter which is used to determine if packet can access required path in switch fabric and specified output port - when packets at input port, destination port ID (sometimes called "routing tag") added to header by IPC - typically at IPC packets queued until it is possible to switch it to OPC - switch fabric routes packet to correct output port where it is typically buffered in output queue until link is available - must have queues at IPC or IPC or both - OPC would typically contain a scheduler in order to provide scheduling for different classes of service (eg. guaranteed or best-effort) - bottlenecks can occur if packets not buffered quickly enough at output queue or if packets not dequeued rapidly enough from input queue by arbiter SWITCHING 5

- typical for ATM switches with fixed size packets and high end IP core routers typically synchronous switching (c) Blocking in Packet Switches - in circuit switching (eg. telephone network), if blocking occurs such that path from input to output is not available at call setup, call is rejected - in packet switching, if a path cannot be found for packet, it is buffered or dropped but session remains active - "switching cycle" time required to switch packets from input to output 3 types of blocking: (1) Internal Blocking - two packets contend for same link at same time inside the switch fabric (2) Output Blocking - two packets contend for same output of switch at same time to overcome packets can be queued at output or queued at input with arbiter used to ensure no packets headed for same output in same switching cycle SWITCHING 6

(3) Head-of-Line (HOL) Blocking - assume no output queuing: when 2 input queues have HOL packets contending for same output, packets in blocked packet queue are delayed hinders switch throughput - also occurs if switch has output queues but potential internal blocking keeps a packet queued at input or when output queue full and packet kept at input queue - which form of blocking might occur depends on nature of buffering and switching architecture SWITCHING 7

(d) Switch Fabrics (i) Crossbar - conceptual matrix of wires - connections established under control of contral processor - very complex task for control processor to control switching schedule (i.e., when connections are made) since this is changing on a per packet basis - switch is internally non-blocking but if packets destined to same outputs, output blocking will occur (even if there are output queues) could avoid by running switch N times faster than input rate or by using buffers at crosspoints SWITCHING 8

- arbiter for each output controls which packets are served crossbar is expensive, does not scale well, complex to control (ii) Broadcast SWITCHING 9

- incoming packet tagged for desired output and broadcast to all outputs - each output port looks for address match and places matched packets in output queue - drawbacks: cost in address matching logic at output controller must do comparison at a rate of N times input eg. for ATM link rate of 155 Mbps one 53 byte cell every 2.73 s comparison every 27.3 ns for 100x100 switch large switches require a lot of lines resulting in routing problems in hardware design Notes: no input queues required for switch can be used as building blocks (eg. 8 8) to build larger switches good for multicast connections (i.e., one input to many outputs) SWITCHING 10

(iii) Self-Routing Multistage Interconnection Networks - many switch fabric designs use k k "switching element" as a building block in MIN eg. 2x2 switch element - switch element examines header of incoming packet and switches packet to either output port based on some rule eg. address bit = 0 upper output address bit = 1 lower output - if 2 packets arrive simultaneously and are to be switched to same output packet buffered (in buffered SE) or dropped (in unbuffered SE) SWITCHING 11

- aside: can use k k crossbars or k k broadcast switches as k k switching elements - self-routing packet header labelled so that bits are used to make decisions at SE (compare to all connections being established by control processor as in crossbar) - for N N MIN switch composed of k k SEs, switch has k N N / k SEs per stage log stages with Banyan Switch Fabric 8 8 Banyan SF SWITCHING 12

- each packet tagged with binary representation of output - SE routes packet as 0 upper, 1 lower - first stage routing bit is most significant bit, last stage is least significant bit - Banyan SF with N = 2 n inputs/outputs n stages, 2 n-1 SEs in each stage total # SEs = n 2 n-1 = 1 2 N log 2 N - Banyan is internally blocking eg. 000 011 and 101 010 collide in top SE of 2nd stage - to eliminate or mitigate internal blocking: (1) could add buffers inside SEs but expensive and still possible to have buffer overflows (2) could use 3-phase approach: (A) send request to output (some lost due to blocking) (B) output informs inputs which can be sent (C) packets sent SWITCHING 13

(3) parallel switches blocked packets get labelled as misrouted and sent to parallel switch which attempts to route expensive since multiple SFs (4) can reorder packets at input if packets are sorted by output address, duplicates removed, and passed through shuffle-exchange connection, then Banyan will be internally non-blocking Shuffle Exchange: SWITCHING 14

Example: How to sort? - consider a list: 3, 4, 6, 3, 7, 6, 4, 6 can recursively divide into 2 lists which are sorted and then merge 2 sorted lists SWITCHING 15

- only sorting required is comparison of 2 elements but how to merge? in a network? 2 2 comparator (bitonic sorter): SWITCHING 16

4 4 Batcher merging network 8 8 Batcher merging network SWITCHING 17

Batcher Sorting Network: # bitonic sorters for N N sorting network = Batcher-Banyan Network internally non-blocking SWITCHING 18

- trapped packets can be recirculated to input of sorter causing 1/2 of inputs devoted to recirculation or can send trapped packets to alternate Banyan plane See figure of 8 8 Batcher-Banyan network Complexity of Switch Fabrics Network # crosspoints single-stage crossbar 2 O ( N ) Banyan routing O ( N log 2 N) Batcher sorting 2 O ( N(log ) ) Batcher-Banyan SF O( N log 2 O( N(log 2 N N N(log 2 N) 2 ) 2 N) 2 ) (e) Buffering in Packet Switches - can have any combination of input queuing, output queuing, internal queuing, or common input/output buffer (i) Input Queuing Only - in switch with only input queue, arbiter is used to determine whether a packet has access to SF and output SWITCHING 19

- arbiter must run fast enough to make decision on all N inputs in one switching cycle but internal links need only run at input rate - HOL blocking means that input-queued switch with FCFS input queues can only achieve about 60% utilization (with uniform, random traffic) - one approach to improve HOL blocking and increase utilization is to allocate N queues (one for each output) for each input port "Virtual Output Queuing" arbiter must select from all queues so that no 2 packets destined for same output desirable to send as many packets in one switching cycle as possible SWITCHING 20

- one algorithm for determining which packets should be sent is "parallel iterated matching" 1st phase: 2nd phase: 3rd phase: - inputs request to send to destinations of queued packets - several matching rounds to determine which packets should go for each output randomly select input which has packet destined to that output and repeat several more times (should be sufficient to find best match, i.e., most packets should go) - send selected packets - fairness not guaranteed but randomness ensures it is unlikely that some inputs favoured Example SWITCHING 21

(ii) Output Queuing Only - no HOL blocking as with input queues but it is possible with some architectures (eg. broadcast) that N packets arrive at one output in one switching cycle must store at N times rate of input or packets might be lost more expensive that input queuing - can compromise by allowing S < N packets to be stored at an output per cycle probability of lost packets very small since traffic usually distributed among outputs "knockout" principle (iii) Shared Memory - packets stored in common memory as they arrive, packet header extracted and routed to output - output port scheduler extracts packet from memory when it is to be transmitted on link SWITCHING 22

- N N switch must read and write N packets in one packet time eg. 53-byte ATM cell arrives at 155 Mbps to 64x64 switch What is memory access time required if memory accessed as 4-byte words? - to read/write 64 cells in 2.735 s as 4-byte words one word read/written every 3.2 ns (f) Performance of Networks - generally very difficult to develop analytical models to represent network performance in response to various traffic patterns instead, typically network performance is examined by simulation - typical performance metrics (considered under different traffic loads and patterns) (1) cell loss ratio - 10-9 good (2) cell delay - 100 sec for entire network (3) throughput - # cells delivered per unit time SWITCHING 23

- traffic patterns considered often include: permutation traffic - all requested output in a timeslot are distinct (not at all realistic) uniform random traffic - each output has equal probability of being requested by a cell at input port (not very realistic) hotspot traffic - one or more outputs receive larger fraction of incoming cells, remaining cells uniformly distributed community of interest - fraction of cells at certain inputs go to certain outputs, remaining cells at other inputs are uniformly distributed bursty traffic - inputs alternate between active and idle periods of random length, cells from one input during active period are destined to same output traffic mixes - eg. URT + bursty (most realistic) SWITCHING 24