Thursday 13 February 2014

Crossbar Switch Network

CROSSBAR SWITCH NETWORK

A crossbar is an assembly of switches between multiple inputs and multiple outputs arranged in the form of a matrix. If a crossbar has ‘m’ inputs and ‘n’ outputs, then it has a matrix with m*n crosspoints. At each crosspoint is a switch, which when closed, it connects one of the ‘n’ inputs to one of ‘m’ outputs. Note that the crossbar is a network that allows multiple connections to be achieved simultaneously. It is an example of a dynamic switch based interconnection network.


Deductions from the figure:-

-> The number of switching elements required are n*m.

-> The message delay to traverse from input to output is constant, regardless of which i/o are communicating.


For a general n*m crossbar,

1. The network complexity (or switching complexity) is measured in terms of switching points i.e O(n*m). Due to this, they are expensive to build. However, the crossbar has highest bandwidth and routing capability. Therefore, for small networks, it is a desired choice.

2. The time complexity is measured in terms of input to output delay is O(1).

3. The number of wires required are O((n+m)*w).

where, w is the width of buses.

For example, consider an 8*8 crossbar connecting 8 processors to 8 memory modules.



The bandwidth will depend on

1. Material of the wire (optical fibres are preferred).

2. Width of the bus. By increasing the width of the bus the bandwidth increases.


Let “BW” be the bandwidth per channel.

Also, let us assume that n = m [the smaller value between  ‘n’ and ‘m’ is considered]

Then, maximum bandwidth utilized = n*BW

Minimum bandwidth utilized = BW

=> Range of utilization of communication channel = BW  to  n*BW


Some factors to be considered with regards to a Crossbar:

  1. Scalability: This refers to the change in performance by increasing or decreasing the number of memory modules.

  2. Reliability: This refers to the impact on the system when a switch, wire, or any other part of the network breaks down.

  3. Latency: It refers to the time required by the processor to access memory.


Advantages of Crossbar Networks:

1. It is a Non Blocking Network that allows multiple i/o connections to be achieved simultaneously.

2. It provides full connectivity, i.e., any permutation can be implemented using a crossbar.

3. It is highly useful in a multiprocessor system, as all processors can send memory requests independently and asynchronously.

4. It gives maximum utilization of bandwidth as compared to other networks like bus system, multistage networks, etc.


by Rishabh Jain and Rudra Pratap Singh Nirvan


34 comments:

  1. is there any DisAdvantages of Crossbar Networks ?

    ReplyDelete
  2. i think factors discussed above like scalability and reliability are itself disadvantages, because if we look at scalability then on adding a single memory module or a processor will also lead to a need of large no. of resources like switches and wires and if we talk about reliability then a single faulty switch can block access to a single or many other memory modules depending on its position in the crossbar

    ReplyDelete
  3. Disadvantages are :
    1.The crossbar switch is singled-layered switch.
    2.At each point,there is a switch when closed,connects one of the inputs to one of the outputs.
    Vishal 370/co/11

    ReplyDelete
  4. yr 2nd disadvantage kuch samajh me nhi aayi,
    is it really a disadvantage??

    ReplyDelete
  5. 2nd wala samajh nahi aaya.....pls koi samjhayega

    ReplyDelete
  6. One of the many application of Crossbar Switching lies in the keypad of our mobile phones, where the rows represents Low Freq. and columns represents High freq. and the keys acts as the switches for the superimposition of the two tones, hence, it is called Dual-tone multi-frequency signaling (DTMF)
    Also See : http://course.sdu.edu.cn/G2S/eWebEditor/uploadfile/20121213131446189.pdf

    ReplyDelete
  7. the number of processors and memory modules increase, the number of switches required also increase. This leads to a rise in the cost of material required which in turn increases the cost of the crossbar circuit.

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
  8. mujhey bhi mr. kanojia ka 2nd disadavtage samajh nahi aaya .

    ReplyDelete
  9. i have a doubt suppose in the above diagram of crossbar network if processor no.111 has to access memory module 000 then all switches in first line of the crossbar will be closed(connected) this also means all other processors will also be able to access memory module 000, will this situation lead to datasharing, is this a hazard or disadvantage to this type of network

    ReplyDelete
    Replies
    1. I agree with you. What if one processor tries to write while another processor tries to read data, at the same time? It seems to be a case of concurrent read/write. What protocol is followed in such situations?
      We faced a similar situation in cases of shared memory type model.

      Delete
  10. buddy i already dicussed that point in my earlier comment of scalability, it isn't anywhere close to ur 2nd disadvantage..!!!

    ReplyDelete
  11. Cross bar switches have poor fault tolerance.The following link shows some methods for improving the fault tolerance of crossbar networks
    http://pds.cis.nctu.edu.tw/Kwang/paper/A6_Design%20and%20Implementation%20of%20Fault%20Tolerant%20and%20Cost-Effective%20Crossbar%20Switches%20for%20Multiprocessor%20Systems.pdf

    ReplyDelete
    Replies
    1. matlab khud se kuch nhi krna!!! yr thodi mehnat krle

      Delete
    2. yr main points samjha de, pdf boring h aur samajh me nhi aa rhi

      Delete
  12. LATENCY-------------------------------
    1) In a network, latency, a synonym for delay, is an expression of how much time it takes for a packet of data to get from one designated point to another. In some usages (for example, AT&T), latency is measured by sending a packet that is returned to the sender and the round-trip time is considered the latency.
    The latency assumption seems to be that data should be transmitted instantly between one point and another (that is, with no delay at all). The contributors to network latency include:
    Propagation: This is simply the time it takes for a packet to travel between one place and another at the speed of light.
    Transmission: The medium itself (whether optical fiber, wireless or some other) introduces some delay. The size of the packet introduces delay in a round trip since a larger packet will take longer to receive and return than a short one.
    Router and other processing: Each gateway node takes time to examine and possibly change the header in a packet (for example, changing the hop count in the time-to-live field).
    Other computer and storage delays: Within networks at each end of the journey, a packet may be subject to storage and hard disk access delays at intermediate devices such as switches and bridges. (In backbone statistics, however, this kind of latency is probably not considered.)
    2) In a computer system, latency is often used to mean any delay or waiting that increases real or perceived response time beyond the response time desired. Specific contributors to computer latency include mismatches in data speed between the microprocessor and input/output devices and inadequate data buffres
    Within a computer, latency can be removed or "hidden" by such techniques as prefetching (anticipating the need for data input requests) and multithreading, or using parallelism across multiple execution threads.
    3) In 3D simulation, in describing a helmet that provides stereoscopic vision and head tracking, latency is the time between the computer detecting head motion to the time it displays the appropriate image

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. mr. sunil thoda short me samjha sakte hai.

      Delete
    3. whoa whoa a little short might not harm,
      waise kaha se tepa?? hehehe

      Delete
  13. This comment has been removed by the author.

    ReplyDelete
  14. Scalability is an important factor regarding a crossbar. Because even on adding a single memory module or processor, the number of switches increase by 'n' or 'm'.
    Adding both, a processor and a memory module, increases the number of switches by "n+m+1".
    Also, the number of wires increase.

    ReplyDelete
  15. All the processors in a crossbar network have dedicated buses
    directly connected to all memory blocks. This is a non-blocking network, as a connection
    of a processor to a memory block does not block the connection of any other processor to
    any other memory block. In spite of high speed, their use is normally limited to those
    systems containing 32 or fewer processors, due to non-linear (n x m) complexity and
    cost. They are applied mostly in multiprocessor vector computers and in multiprocessor
    systems with multilevel interconnections.

    ReplyDelete
  16. Crossbar switches are most famously used in information processing applications such as telephony and circuit switching, but they are also used in applications such as mechanical sorting machines.

    ReplyDelete
    Replies
    1. The matrix layout of a crossbar switch is also used in some semiconductor memory devices. Here the "bars" are extremely thin metal "wires", and the "switches" are fusible links. The fuses are blown or opened using high voltage and read using low voltage. Such devices are called programmable read-only memory (PROM)

      Delete
  17. Thin-film-transistor LCDs have a transistor at each crosspoint, so they could be considered to include a crossbar switch as part of their structure

    ReplyDelete
  18. The bandwidth will depend on -
    Width of the *Data* bus specifically.

    ReplyDelete
  19. Not able to understand the architecture of crossbar switch network..

    ReplyDelete
  20. in simple way ,latency is basically time to access....and
    scalability is the increasing in performance per unit increase in computing resources....and yes,increasing in latency will be harmful..

    ReplyDelete
  21. Vikas, look at latency this way - it is the minimum time between two successive data transfers through a network.

    Crossbars are implemented in different ways (u can discuss with me). But all of them allow all possible 1:1 mapping between processors and memory modules. Thus all n! permutations are possible.

    ReplyDelete