InterconNetworks - Interconnection Networks Interconnection by dfsdf224s


									                                  Interconnection Networks
                           ► Interconnection       networks are used
Interconnection Networks         Supercomputers – connecting the processors
                                 Routers – connecting the ports – can consider
                                 a router as a parallel machine with the
                                 ports/linecards as the processors!
                                 Clusters of machines
                                 Internet (loosely coupled network)

                                Interconnection Networks…
                           ►   Pins of a processor form --processor bus
                           ►   Bus connecting the processor and memory
                               modules is called the local bus, or memory bus
                           ►   System bus (also called I/O bus)
                                 provides slots to connect I/O devices such as disk
                                 drives, tapes, network interface cards (e.g., PCI)
                                 connected to the local bus through an I/O bridge
                                 circuit -- this is often built on a motherboard, a

Interconnection Networks…                    Crossbar
                            ► Crossbar  is the simplest and most flexible
                              switch architecture
                            ► It can be used to establish n connections
                              between n inputs and n outputs
                            ► Each crosspoint can be switched on or off
                              under program control
                            ► Number n is often called the degree of the

  Network Components          Static Vs Dynamic Networks
                            ► Basedon connectivity and control
                             networks can be divided into two classes
                                Static networks – that don’t change
                                dynamically (e.g., trees, rings, meshes (not
                                Dynamic networks – that change
                                interconnectivity dynamically

           Dynamic Networks                             Network Characteristics
► Implemented   with switched channels          ► Shared-media    networks can be converted
    dynamically configured to meet the            to switched design at increased cost
    communication needs of user programs        ► Switched networks are often designed with
    E.g: system buses, crossbar switches,         two options: circuit switching and packet
    multistage networks                           switching
                                                ► Circuit switched networks -- the entire path
                                                  from the source to the destination is
                                                  reserved for the entire period of

         Network Characteristics                    Network Performance Metrics
► Cell switched networks -- long message        ►   Communication latency
  (variable length packets) broken into a             software overhead: overhead associated with sending
                                                      and receiving messages at end stations
  sequence of small packets (fixed length)
                                                      channel delay: caused by the channel occupancy
► A cell contains the routing information and         routing delay: time spent in the successive switches
  segment of data payload                             in making a sequence of routing decisions along the
                                                      routing path
► Cells from the same message can be
                                                      contention delay: caused by traffic contentions in the
  routed separately on different paths                network

    Network Performance Metrics                           Network Performance Metrics
►   Per-port bandwidth: maximum number of bits           ► Forexample, for 512-port HPS with
    that can be transmitted per second from any port      40MB/s per-port bandwidth, the
    to any other port
      For symmetric network, per-port bandwidth is
                                                          aggregate bandwidth = (40x512)/2 =
      independent of port location                        10.24GB/s
      For asymmetric network, depends on port location
►   Aggregate bandwidth: defined as the maximum
    number of bits that can be transmitted from one
    half of the nodes to another half of the nodes per

        Network Topologies and
                                                                   Routing Schemes
► Node degree: number of edges incident on               ► Twoways of routing packets in switched
  a node is called the node degree                        networks:
► Network diameter: diameter D of a                          Store-and-forward
  network is the maximum path length                         Cut-through or wormhole routing
  between any two nodes -- the path length               Store-and-Forward
  is measured in terms of links traversed                ► Entire packet is stored in a node before it
                                                           is forwarded to an outgoing link
                                                         ► Successive packets are transmitted
                                                           sequentially without overlapping in time

                                                           Routing Schemes
                                                Cut-through Routing
                                                ► Each node uses a flit-buffer to hold a flit
                                                  (one cell)
                                                ► A flit is automatically forwarded to an
                                                  outgoing link, once the header is decoded
                                                ► All data flits in the same packet follow the
                                                  same path that the header traverses

          Routing Schemes                           Static Network Topologies
► Using  the cut-through it takes only 7 time   Meshes and Rings:
  units for node 4 to receive the entire        ► Simplest connection topology is the one-
                                                  dimensional mesh, or linear array
                                                ► In a linear array, the interior nodes have two
► The same message took 16 time units in          connections and boundary nodes have one
  the store-and-forward scheme                  ► If we connect the two boundaries, we get a ring
                                                  with all nodes of degree 2
                                                ► A higher dimensional mesh is constructed
                                                  similarly with k dimensions, interior nodes have
                                                  degree 2k

     Static Network Topologies                                 Static Network Topologies
► Common mesh topology is the 2-D mesh                   Trees:
► Some 2-D meshes have wrap-around
                                                         ► Common tree topology is the binary-tree
  connections along the edges
Routing:                                                 ► Binary trees are well matched for VLSI and other

► Assume interior nodes – routing performed over           planar layouts
  one dimension at a time
► On a 3-D mesh, minimal path from a node (a, b,
  c) to (x, y, z) is constructed by moving along 1st
  dimension to (x, b, c) then to (x, y, c) and finally
  to (x, y, z)
► This is known as the XY-routing

     Static Network Topologies                                 Static Network Topologies
Routing in trees                                         ►   Lowest common ancestor of A (source) and B
► Idea: travel up the tree from A until you reach an         (destination) is the node numbered P, the
  ancestor of B and then travel down                         longest common prefix of A and B
► To implement number the root as 1 and left and
  right children as of x as 2x and 2x+1,                 ►   From this it is easy to see how many levels we
  respectively                                               should go up to reach B from A
► If the root is at level 1
► Then the nodes at level i have a label that is i
                                                              What is this tree called?

  bits long and the left and right children of a node
  have 0 or 1 appended to their parent’s number,

      Static Network Topologies                                 Static Network Topologies
Hybercubes:                                                 ► Properties   of hypercube network
► Multidimensional mesh of processors with
                                                                two processors are connected by a direct link
  exactly two processors in each dimension
                                                                if and only if the binary representation of their
► D-dimensional hypercube has p = 2
                                    D                           labels differ at exactly one bit position
►   Recursively constructed as follows:                         in a d-dimensional hypercube, each processor
      a single processor is 0-dim hypercube                     is directly connected to d other processors
      1-dim hypercube is constructed by connecting two 0-       a d-dimensional hypercube can be partitioned
      dim hypercubes
                                                                into two (d-1)-dimensional sub-hypercubes
      (d+1)-dim hypercube is constructed by connecting
      corresponding processors of two d-dim hypercubes          total number of bit positions at which these
                                                                two labels differ is called the hamming

      Static Network Topologies                                 Static Network Topologies
Routing: E-Cube routing                                     ► Processor  i computes (i XOR d) and
► Let s and d be the labels of the source and                forwards the message along the
  destination nodes respectively                             dimension corresponding to the least
► Minimum distance between the processors
                                                             significant nonzero bit
  is given by x = (s XOR d)
► Processor s sends the message along dim
  k, where k is the position of the least
  significant non-zero bit in (s XOR d)

  Dynamic Network Topologies                         Multistage Cube Network
► Examples:                                   ►   For a NxN network, we have m = log2N stages
    Buses, Crossbars, and Multistage          ►   Each stage has N/2 two-input/two-output
    interconnection networks                      interchange boxes
► Supercomputers,    high performance IP      ►   The connection pattern among the boxes is
                                                  different for the different multistage
  routers, ATM switches use these networks
                                                  interconnection networks (MINs)
  (e.g., IBM DeepBlue)
                                                          P              P
► Several aliases - omega, flip, butterfly,
  baseline, delta, generalized cube,
                                                     cubei(P)             cubei(P)
  multistage shuffle-exchange

       Multistage Cube Network                                              Multistage Cube Network
► cubei(P)      is the cube interconnection                            Routing in multistage cube networks:
    function                                                           ► Circuit-switching – all switches in a stage

► Let  P = pm-1...pi...p1p0                                              set the same way
                                                                       ► Packet switching – each packet has
► cubei(P) = pm-1...pi...p1p0
                                                                         routing tag in its header and the routing
► Each box can be controlled by routing tags
                                                                         can be performed in a distributed fashion
  -- in one of the following four states
                                                                       ► Less overhead for circuit switching –
                                                                         almost like a direct wire connection

       Multistage Cube Network                                              Multistage Cube Network
►   Unicast routing: routing between a sender and
    a receiver
      XOR routing tags
      Let source be S and destination be D
      tag T = S XOR D
      If circuit switching is used, stage i is set straight if bit i
      of T is 0 otherwise stage i is set exchange
      If packet switching is used, each box is set
      independently by the header (tag is sent in the
      header) of the packet

       Multistage Cube Network                           Multistage Cube Network
Destination Routing Tag
► Let S be the source and D be the destination

► Tag = D

► This is used in distributed fashion -- each
  network input device determines its own action
► Tag is sent in the header for the message

►   Stage i box examines di
      di = 0 use upper box output
      di = 1 use lower box output

       Multistage Cube Network                           Multistage Cube Network
► Trade-offs  between the two routing              Broadcast routing:
                                                   ► One port to 2 ports -- note this is a restriction --
    schemes for MINs
                                                     this is not a multicast where you can have an
      XOR tag can be used for return message and     arbitrary set of receivers
      source information
                                                   ► The receivers can have at most j bits different
      T = S XOR D = D XOR S; S = D XOR T             between any pair of destination addresses
      destination tag can be used to check the     ► port S -> ports { D , D , ...
                                                                         1 2       D2 }
      correct destination                          ► unicast routing tag R = S XOR D
                                                   ► broadcast tag B = D XOR D (must differ in at
                                                                           i        k
                                                     least j positions)

     Multistage Cube Network                             Multistage Cube Network
► Stage   i looks at the i-th bit of routing tag R   Example
  (ri) and broadcast tag B (bi)                          Source S = 2 = 010
► If b = 0, use r 1 exchange, 0 straight                 Destinations = {100, 101, 110, 111}
       i          i
► If b = 1, broadcast (ignore r )                        Vary at most 2 bits
       i                           i
                                                         R = S XOR 100 = 110
                                                         B = 100 XOR 111 = 011

     Multistage Cube Network                           Multistage Cube Partitioning
                                                     ► these  networks can form independent or
                                                       communicating subnetworks
                                                     ► each subnetwork has properties of
                                                       multistage cube
                                                     ► each partition size is power of two

                                                     ► partition sizes can vary

                                                     ► routing tags can still be used

                               Summary of Dynamic
      Omega Network

Summary of Static Topologies


To top