Lecture 18: Communication Models and Architectures: Interconnection Networks

Similar documents
Lecture 12: Interconnection Networks. Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix E)

Lecture: Interconnection Networks

OASIS NoC Architecture Design in Verilog HDL Technical Report: TR OASIS

Lecture 13: Interconnection Networks. Topics: lots of background, recent innovations for power and performance

Flow Control can be viewed as a problem of

4. Networks. in parallel computers. Advances in Computer Architecture

Interconnection Networks

Networks: Routing, Deadlock, Flow Control, Switch Design, Case Studies. Admin

Lecture 24: Interconnection Networks. Topics: topologies, routing, deadlocks, flow control

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik

A Dynamic NOC Arbitration Technique using Combination of VCT and XY Routing

Routing Algorithm. How do I know where a packet should go? Topology does NOT determine routing (e.g., many paths through torus)

Interconnection Network

Fault Tolerant and Secure Architectures for On Chip Networks With Emerging Interconnect Technologies. Mohsin Y Ahmed Conlan Wesson

CS575 Parallel Processing

A VERIOG-HDL IMPLEMENTATION OF VIRTUAL CHANNELS IN A NETWORK-ON-CHIP ROUTER. A Thesis SUNGHO PARK

FCUDA-NoC: A Scalable and Efficient Network-on-Chip Implementation for the CUDA-to-FPGA Flow

Module 17: "Interconnection Networks" Lecture 37: "Introduction to Routers" Interconnection Networks. Fundamentals. Latency and bandwidth

[ ] In earlier lectures, we have seen that switches in an interconnection network connect inputs to outputs, usually with some kind buffering.

SoC Design Lecture 13: NoC (Network-on-Chip) Department of Computer Engineering Sharif University of Technology

Lecture: Interconnection Networks. Topics: TM wrap-up, routing, deadlock, flow control, virtual channels

Lecture 16: On-Chip Networks. Topics: Cache networks, NoC basics

Lecture 23: Router Design

FPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC)

Lecture 3: Flow-Control

Lecture 25: Interconnection Networks, Disks. Topics: flow control, router microarchitecture, RAID

Basic Switch Organization

TDT Appendix E Interconnection Networks

Lecture 22: Router Design

Interconnection Networks

Lecture 12: Interconnection Networks. Topics: dimension/arity, routing, deadlock, flow control

Deadlock-free XY-YX router for on-chip interconnection network

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

CHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP

OpenSMART: An Opensource Singlecycle Multi-hop NoC Generator

SONA: An On-Chip Network for Scalable Interconnection of AMBA-Based IPs*

Lecture: Transactional Memory, Networks. Topics: TM implementations, on-chip networks

Lecture 3: Topology - II

Deadlock and Router Micro-Architecture

A NEW ROUTER ARCHITECTURE FOR DIFFERENT NETWORK- ON-CHIP TOPOLOGIES

Design of Reconfigurable Router for NOC Applications Using Buffer Resizing Techniques

Design and Implementation of Low Complexity Router for 2D Mesh Topology using FPGA

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

A MULTIPROCESSOR SYSTEM. Mariam A. Salih

Phastlane: A Rapid Transit Optical Routing Network

Design of Router Architecture Based on Wormhole Switching Mode for NoC

Interconnection Networks

NOC: Networks on Chip SoC Interconnection Structures

Lecture 2 Parallel Programming Platforms

Routing Algorithms. Review

VLSI D E S. Siddhardha Pottepalem

Network on Chip Architecture: An Overview

OpenSMART: Single-cycle Multi-hop NoC Generator in BSV and Chisel

OASIS Network-on-Chip Prototyping on FPGA

JUNCTION BASED ROUTING: A NOVEL TECHNIQUE FOR LARGE NETWORK ON CHIP PLATFORMS

Lecture 15: PCM, Networks. Today: PCM wrap-up, projects discussion, on-chip networks background

Lecture 7: Flow Control - I

Deadlock and Livelock. Maurizio Palesi

Topologies. Maurizio Palesi. Maurizio Palesi 1

Architecture and Design of Efficient 3D Network-on-Chip for Custom Multi-Core SoC

NOC Deadlock and Livelock

LS Example 5 3 C 5 A 1 D

CONGESTION AWARE ADAPTIVE ROUTING FOR NETWORK-ON-CHIP COMMUNICATION. Stephen Chui Bachelor of Engineering Ryerson University, 2012.

Lecture 15: NoC Innovations. Today: power and performance innovations for NoCs

Lecture 3. The Network Layer (cont d) Network Layer 1-1

BlueGene/L. Computer Science, University of Warwick. Source: IBM

Design and Analysis of On-Chip Router for Network On Chip

Network-on-chip (NOC) Topologies

Design and Simulation of Router Using WWF Arbiter and Crossbar

The Network Layer and Routers

Advanced Computer Networks. Flow Control

Design of Synchronous NoC Router for System-on-Chip Communication and Implement in FPGA using VHDL

Communication has significant impact on application performance. Interconnection networks therefore have a vital role in cluster systems.

ECE 4750 Computer Architecture, Fall 2017 T06 Fundamental Network Concepts

Demand Based Routing in Network-on-Chip(NoC)

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

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (3 rd Week)

Packet Switch Architecture

Packet Switch Architecture

Extended Junction Based Source Routing Technique for Large Mesh Topology Network on Chip Platforms

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

INTERCONNECTION NETWORKS LECTURE 4

Design and Implementation of a Packet Switched Dynamic Buffer Resize Router on FPGA Vivek Raj.K 1 Prasad Kumar 2 Shashi Raj.K 3

Interconnect Technology and Computational Speed

Multicomputer distributed system LECTURE 8

DESIGN A APPLICATION OF NETWORK-ON-CHIP USING 8-PORT ROUTER

Chapter 9 Multiprocessors

A Modified NoC Router Architecture with Fixed Priority Arbiter

Pseudo-Circuit: Accelerating Communication for On-Chip Interconnection Networks

Three parallel-programming models

EC 513 Computer Architecture

Advanced Computer Networks. Flow Control

Chapter 1. Introduction

Lecture 26: Interconnects. James C. Hoe Department of ECE Carnegie Mellon University

Embedded Systems: Hardware Components (part II) Todor Stefanov

International Journal of Research and Innovation in Applied Science (IJRIAS) Volume I, Issue IX, December 2016 ISSN

EE/CSCI 451: Parallel and Distributed Computation

William Stallings Computer Organization and Architecture 10 th Edition Pearson Education, Inc., Hoboken, NJ. All rights reserved.

Power and Performance Efficient Partial Circuits in Packet-Switched Networks-on-Chip

Brief Background in Fiber Optics

Transcription:

Design & Co-design of Embedded Systems Lecture 18: Communication Models and Architectures: Interconnection Networks Sharif University of Technology Computer Engineering g Dept. Winter-Spring 2008 Mehdi Modarressi

Fully Connected Network The shortest delay But: Not scalable ½ (N (N-1)) links Impossible for large networks

Crossbar Reducing the complexity of fullyconnected networks while all the modules are connected Low latency Number of switching elements (cost): O(P 2 ) Not scalable (cost) Non-blocking: No connections block any connections between other processors and memory units;

Interconnection Networks Today buses are the dominating technology for small systems We saw that buses have severe limitations that become evident, if the number of components in a system is large The bus is a communication bottleneck, bandwidth is limited Buses are only scalable to a certain extent Interconnection networks Overcome the limitation of buses Provide a much larger amount of communication resources and are scalable

Interconnection Networks Information in the form of packets is routed via channels and switches from one terminal node to another A terminal node can be any kind of component like Processor Memory Hardware component Bus-based system with several components, e.g. Processor and Memory

Interconnection Networks OSI Provides a 7-layer network protocol standard way to classify network components and operations Interconnection networks use a similar protocol stack corresponding to the 4 lowest layers of the OSI protocol

Interconnection Networks Message: is a continuous group of bits that is delivered from source terminal to destination terminal. A message consists of packets. A packet is the basic unit for routing and sequencing. Packets maybe divided into flits. A flit (flow control digit) often is the unit that is transferred across a channel in a single clock cycle. Flits do not have any routing or sequence information and have to follow the route for the whole packet.

Interconnection Networks Interconnection characteristics Topology Routing switching

Topology The network topology refers to the static arrangement of channels and nodes in the network Some well-known network topologies: Mesh Torus Tree

Routing Choose which paths a message takes through network Example X-Y routing algorithm in mesh and torus First direct the message in x dimension until reaches the column of the destination Then direct the message in y dimension

Routing Deterministic: a unique path is determined based on a predefined algorithm, e.g. X-Y Adaptive: Current state of the network is also used to determine the route Deterministic (X-Y) Adaptive

Switching The way data traverse the route Two well-known methods: Store-and-Forward and Wormhole Store-and-forward Packets passes from node to node Each node stores the entire packet After examining the packet header, the node forwards it on the appropriate link Wormhole Packets are passed as a train of flits through a series of nodes less buffer space Pipelining the transmission

Switching

Router Components Input ports FIFO buffer Control logic Perform the route computation Determine output port for each incoming packet Arbitrate among inputs directed at same output Crossbar Connects each input to any output Output ports

Router Architecture

Router Crossbar Each buffer can connect an input to an output An input is connected to an output t based on the routing and arbitration

Router Architecture The buffers are implemented as FIFOs The routing logic reads the flit at the head of the fifo The flit in the head cab be 1. The header flit of a packet which contains routing information i.e. the packet destination 2. A body flit 3 A tail flit which is the last flit 3. A tail flit which is the last flit of a packet

Router Architecture- Control Function At each cycle, router checks the lit in the head of the fifio buffer of every input port If the head of the buffer contains a header flit: Read the destination address from the flit and pass it to the routing logic Routing logic determines the output port based on the destination address and the routing algorithm More than one output ports may be determined in case of adaptive routing Each port may have a separate routing logic

Router Architecture- Control Function If the head of the buffer contains a header flit (continued ): The arbiter does not send grant to the requesting ports if the requested port is busy If the requested port is free, selects one of the requesters according to the arbitration policy and send it grant Set the output port status as busy In the requesting input port Upon receiving grant, the header flit is directed to the selected output port Each output port has a separate arbiter

Router Architecture- Control Function

Router Architecture- Control Function If the head of the buffer contains a body flit A path is already set by the header flit Routing is carried out Abi Arbitration i is accomplished and grant is received The crossbar is set appropriately Simply pydirect it toward the destination output port

Router Architecture- Control Function This connection is set until the entire packet is transmitted

Router Architecture- Control Function If the head of the buffer contains a body flit Direct it to output port as other flits Free the output port used by this port, i.e. set its status as free

Flow Control Link-level flow-control To prevent overflow in a buffer