Switching, routing, and flow control in interconnection networks

Slides:



Advertisements
Similar presentations
Chabot College Chapter 2 Review Questions Semester IIIELEC Semester III ELEC
Advertisements

Jaringan Komputer Lanjut Packet Switching Network.
What is Flow Control ? Flow Control determines how a network resources, such as channel bandwidth, buffer capacity and control state are allocated to packet.
Wide Area Networks School of Business Eastern Illinois University © Abdou Illia, Spring 2007 (Week 11, Thursday 3/22/2007)
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
Chapter 10 Introduction to Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
1 Lecture 24: Interconnection Networks Topics: communication latency, centralized and decentralized switches (Sections 8.1 – 8.5)
Storage area network and System area network (SAN)
Connecting LANs, Backbone Networks, and Virtual LANs
Switching, routing, and flow control in interconnection networks.
1 The Turn Model for Adaptive Routing. 2 Summary Introduction to Direct Networks. Deadlocks in Wormhole Routing. System Model. Partially Adaptive Routing.
1 CS 4396 Computer Networks Lab LAN Switching and Bridges.
1 Lecture 7: Interconnection Network Part I: Basic Definitions Part II: Message Passing Multicomputers.
TELE202 Lecture 5 Packet switching in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lectures »C programming »Source: ¥This Lecture »Packet switching in Wide.
Multiplexing FDM & TDM. Multiplexing When two communicating nodes are connected through a media, it generally happens that bandwidth of media is several.
BZUPAGES.COM Presentation On SWITCHING TECHNIQUE Presented To; Sir Taimoor Presented By; Beenish Jahangir 07_04 Uzma Noreen 07_08 Tayyaba Jahangir 07_33.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
Interconnection network network interface and a case study.
Interconnect Networks Basics. Generic parallel/distributed system architecture On-chip interconnects (manycore processor) Off-chip interconnects (clusters.
Networks: Routing, Deadlock, Flow Control, Switch Design, Case Studies Alvin R. Lebeck CPS 220.
CCNA3 Module 4 Brierley Module 4. CCNA3 Module 4 Brierley Topics LAN congestion and its effect on network performance Advantages of LAN segmentation in.
1 Chapter 3: Packet Switching (Switched LANs) Dr. Rocky K. C. Chang 23 February 2004.
COMP8330/7330/7336 Advanced Parallel and Distributed Computing Communication Costs in Parallel Machines Dr. Xiao Qin Auburn University
1 Packet Switching Outline Switching and Forwarding Bridges and Extended LANs.
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
Network Models.
Chapter 3: Packet Switching (overview)
Youngstown State University Cisco Regional Academy
Interconnect Networks
Local Area Networks Honolulu Community College
Ch 13 WAN Technologies and Routing
Scaling the Network: The Internet Protocol
Lecture 23: Interconnection Networks
Packet Switching Datagram Approach Virtual Circuit Approach
3. Internetworking (part 2: switched LANs)
ISO/OSI Model and Collision Domain
Chapter 4 Data Link Layer Switching
Network Layer.
Chapter 3 Part 1 Switching and Bridging
Azeddien M. Sllame, Amani Hasan Abdelkader
Shuffle Exchange Point-to-point, Bus, Ring, Star, Mesh
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Interconnection Network Design Contd.
Switching, routing, and flow control in interconnection networks
EEC-484/584 Computer Networks
Introduction to Scalable Interconnection Networks
Storage area network and System area network (SAN)
Data Communication Networks
Congestion Control (from Chapter 05)
Dr. Rocky K. C. Chang 23 February 2004
PRESENTATION COMPUTER NETWORKS
Congestion Control (from Chapter 05)
Network Architecture for Cyberspace
Data Link Layer 2019/2/19.
Lecture: Interconnection Networks
Congestion Control (from Chapter 05)
Scaling the Network: The Internet Protocol
CS 6290 Many-core & Interconnect
Ch 17 - Binding Protocol Addresses
Packet Switching Outline Store-and-Forward Switches
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
COMPUTER NETWORKS CS610 Lecture-29 Hammad Khalid Khan.
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Topology What are the consequences of using fewer than n2 connections?
Virtual LAN (VLAN).
Multiprocessors and Multi-computers
Presentation transcript:

Switching, routing, and flow control in interconnection networks

Switching mechanism How a packet/message passes a switch Traditional switching mechanisms Packet switching Messages are chopped into packets, each packet is switched independently. E.g. Ethernet packet: 64-1500 bytes. The switching happens after the whole packet is in the input buffer of a switch. Store-and-forward Circuit switching The circuit is set up first (the connection between the input and output ports alone the whole path are set up). No routing delay Too much start-up overheads, no suitable for high performance communication. Packet switching for computer communications and circuit switching for telephone communications.

Switching mechanism Traditional packet switching Store-and-Forward A switch waits for the full packet to arrive before sending it to the next switch Application: LAN (Ethernet), WAN (Internet routers) Drawback: packet latency is proportional to the number of hops (links). Latency is not scalable with packet switching

Switching mechanism Switching for high performance communication: cut-through switching (routing) Packet is further cut into smaller unit: flits. Flit size is very small, e.g. 4 bytes, 8 bytes, etc. A packet will have one header flit, and many data flits. A switch examines the header (header flit) and forward the message before the whole packet arrives. Pipeline in the unit of flits. Usage: most high-end switches: InfiniBand and other switches in supercomputers

Store-and-forward vs. cut-through Time = h (n/b + D) Time = n/b + D h D is the overhead for preparing to send one flit – a very small value. The latency is almost independent of h with cut-through switching Crucial for latency scalability.

Cut-through routing variation Cut through routing: when the header of a message is blocked, the whole message will continue until it is buffered in the blocked router. Need to be able to buffer multiple packets High buffer requirement in routers Eventually, when all buffers are full, the sender will stop sending. Wormhole routing Cut through routing with buffer for only one flit for each channel Minimum buffer requirement Each channel has the flow control mechanism. when the header is blocked, the message stop moving (the message is buffed in a distributed manner, occupying buffers in multiple routers).

Contention and link level flow control Two messages try to use the same outgoing link One needs to either buffered or droped. Wormhole networks try to block in place: link-level flow control. A message may occupy multiple links. Cut through routing has the same effect when more data are in the network. This kind of networks are also called lossless networks. No packet is ever dropped by the network. Is the Internet lossless? Which one is better, lossy or lossless network?

Lossless network and tree saturation Lossless networks have very different congestion behavior from lossy networks such as the Internet In a lossy networks, congestion is limited to a small region. In a lossless network with cut-through or wormhole routing, congestion will spread to the whole network. Messages that do not use the congested link may also be blocked. This is known as tree saturation. The congested link is the root of the tree.

Tree saturation 001->000 111->000 blocked

Tree saturation 001->000 111->000 011->001 110->001 Not directly go through the congested link, but blocked.

Tree saturation Tree saturation can happen in any topology

Lossless network and deadlock Wormhole routing: hold on to the buffer when blocked. Hold and wait  this is the formula for deadlock. Solution?

Virtual channels A logical channel can be realized with one buffer and the related flow control mechanism. At one time, one message use the link. We can allow multiple messages to share the link by having multiple virtual channels: Each virtual channel has one buffer with the related flow control mechanism. The switch can use some scheduling algorithm to select flits in different buffer for forwarding. With virtual channel, the train slows down, but not stops when there is network contention. Virtual channels increase resource sharing and alleviate to the deadlock problem.

Routing Routing algorithms: determine the path from the source to the desintation Routing design objective: Minimize resource usage Balance the load across all links

Types of routing schemes Deterministic: routes are determined by source and destination pair, but other states (e.g. traffic) Adaptive: routes are influenced by traffic along the way. Minimal: only selects shortest path. Deadlock free: no traffic pattern can lead to a deadlock situation Single path routing/multi-path routing

Types of routing schemes Source routing: message include a list of intermediate nodes (or ports) toward the destination. Intermediate routers just lookup and forward. Hop-by-hop destination based routing: message only includes the destination address. Intermediate routers use the address to compute the output port (e.g. dest addr as an index to the forwarding table). Deterministic: always follow the same path Adaptive: pick different paths to avoid congestion Randomized: pick between several good paths.

Routing algorithms Regular topology Irregular topology Dimension order routing with k-ary n-cube Ring, mesh, torus, hypercube Resolve the address differences in each dimension one after another Tree routing (no routing issue) Fat-tree? Irregular topology Shortest path (like the Internet)

Routing on regular topology examples

Routing on hypercube Dimension order routing (from the lowest dimension to the highest dimension) –single path routing curr = src; path = {src}; for (i=0; i<n; i++) { if ((curr & 0x01<<i) != (dst & 0x01 << i)) { // i-th bit in curr not equal curr = curr^(0x01 << i); // to i-th bit in dst path = path || curr; } 6(00110)  28(11100) 6(00110)  4(00100)  12(01100)28(11100)

Routing on hypercube Random minimal routing: among all shortest paths, select a random one. Compute all shortest paths If there are X different bits in the source and destination, how many paths are there? Generate all permutations of 0, 1, 2, …, X-1. Produce each path for an enumeration. 6(00110)  28(11100) – 3 different bits 6(00110)  4(00100)  12(01100)28(11100) 6(00110)  4(00100)  20(10100)  28(11100) 6(00110)  14(01110) 12(01100) 28(11100) 6(00110)  14(01110)  30(11110)  28(11100) 6(00110)  22(10110)  20(10100)  28(11100) 6(00110)  22(10110)  30(11110)  28(11100)

Routing on hypercube Minimal adaptive routing Make a decision at every hop for the next hop with a possible minimal path At 6(00110)  28(11100) – 3 different bits, 3 potential next hop choices 4(00100) , 14(01110), 22(10110) At 22(10110)  28(11100) – 2 different bits, 2 potential next hop choices 30(11110) and 20(10100)

Irregular topology Mostly shortest path based. How to make sure there is no deadlock?

Deadlock free routing Make sure that the loop can never occur Put constraints on how paths can be used to route traffic. Use infinite virtual channels. Deadlock free routing example: Up/down routing Select a root node and build a spanning tree Links are classified as up links or down links Up links: from lower level to upper level Down links: from upper level to lower level Link between nodes in the same level: up/down based on node number Path: all up link, all down link, a sequence of up links followed by a sequence of down links No up link can follow a down link. Why deadlock free? Can we have disconnected nodes?

Deadlock free routing Is X-Y routing on mesh deadlock free? How about adaptive routing on mesh that always use the shortest paths?

Network interface design issue The network requirement for a typical high performance computing user In-order message delivery Reliable delivery Error control Flow control Deadlock free Typical network hardware features Arbitrary delivery order (adaptive/multipath routing) Finite buffering Limited fault handling Where should the user level functions be realized? Network hardware? Network systems? Or a hardware/systems/software approach?

Where should these functions be realized? How does the Internet realize these functions? No deadlock issue Reliability/flow control/in-order delivery are done at the TCP layer? The network layer (IP) provides best effort service. IP is done in the software as well. Drawbacks: Too many layers of software Users need to go through the OS to access the communication hardware (system calls can cause context switching).

Where should these functions be realized? High performance networking Most functionality below the network layer are done by the hardware (or almost hardware) This provide the APIs for network transactions If there is mis-match between what the network provides and what users want, a software messaging layer is created to bridge the gaps.

Messaging Layer Bridge between the hardware functionality and the user communication requirement Typical network hardware features Arbitrary delivery order (adaptive/multipath routing) Finite buffering Limited fault handling Typical user communication requirement In-order delivery End-to-end flow control Reliable transmission

Messaging Layer

Communication time Communication time = hardware time + software time Hardware message time: msize/bandwidth+latency Software time: Buffer management End-to-end flow control Running protocols Which one is dominating? Depends on how much the software has to do.

Network software/hardware interaction -- a case study A case study on the communication performance issues on CM5 V. Karamcheti and A. A. Chien, “Software Overhead in Messaging layers: Where does the time go?” ACM ASPLOS-VI, 1994.

What do we see in the study? The mis-match between the user requirement and network functionality can introduce significant software overheads (50%-70%). Implication? Should we focus on hardware or software or software/hardware co-design? Improving routing performance may increase software cost Adaptive routing introduces out of order packets Providing low level network feature to applications is problematic.

Summary In the design of the communication system, holistic understanding must be achieved: Focusing on network hardware may not be sufficient. Software overhead is much larger than routing time. It would be ideal for the network to directly provide high level services. This has become the standard in the communication systems for HPC applications – resulting in lossless network infrastructure.