# What are the Data Routing Functions in Computer Architecture?

Data routing networks are used for inter PE data exchange. Data routing networks can be static or dynamic. In a multicomputer network, data routing is achieved by messages among multiple computer nodes.

Routing network reduces the time required for data exchange and thus system performance is enhanced. Commonly used data routing functions are shifting, rotation, permutations, broadcast, multicast, personalized communication, shuffle, etc.

There are various data routing functions which are as follows −

• Permutations − Let there are n objects, and then there are n permutations by which n objects can be recorded. The set of all permutations form a permutation group concerning composition operation. Generally, cycle notation is used to specify the permutation function. Cross can be used to implement the permutation. The multi-stage network can implement some of the permutations in one or multiple passes through the network.

Shifting and broadcast operations are also used to implement permutation operations. The permutation capability of a network is used to indicate the data routing capacity. Permutation speed dominates the performance of the data routing network when n is large.

• Hypercube routing function − Three-dimensional cube is shown below − Routing functions are defined by three bits in the node address. The bit order is C2C1C0. Data can be exchanged among adjacent nodes which differ in the least significant bit as shown below.

Similarly routing pattern by using bit is shown below −

common pattern informs that the n-dimensional, cube has n-routing functions, which are defined by each bit of the n-bit address. These data routing tasks are used in routing messages in a hypercube multi-workstation.

• Broadcast & Multicast − Broadcast is one to all mapping. This is achieved by SIMD computers using a broadcast bus extending from the array controller to all PEs. A mechanism is used to broadcast a message in message-passing multi-computer. Multicast means mapping from one subset to another.

There is a variation of the broadcast called personalized broadcast. Personalized broadcast sends messages to only selected receivers. Broadcast is a global operation in a multicomputer. The personalized broadcast may have to be implemented with a matching of destination codes in the network.