Basic Internet (ICN) Functions and representation

Source: Internet
Author: User
For the design of an interconnected network, it is usually hoped that its structure should not be too complex to reduce costs. It can provide great flexibility for connection to meet the needs of algorithms and applications and improve its performance. At the same time, we also hope that this interconnection network can be combined by a series of basic components with a single regularity, or through multiple connections, or through multi-level connections to achieve complex interconnection and good controllability, it is easy to implement with large-scale integrated circuits.

  7.2.1 representation of interconnected Functions

To reflect the connection characteristics of different interconnected networks, each interconnected network can be defined by a set of interconnected functions. If you use the integers 0, 1 ,..., N-1 to represent, then the interconnection function is to represent the Interconnection Network of the outbound and inbound number of a one-to-one correspondence. If the interconnection function is F, its function is: For all 0 ≤ j ≤ N-1, there is a correspondence between the inbound J connected to the outbound F (j. When the interconnection function is used to transform data between processors, the interconnection function also reflects the arrangement or replacement relationship between the network input array and the output array. Interconnection functions can be expressed in three ways: Input/Output notation, loop notation, and function notation.

  1. Input/Output Representation

In this notation, the interconnection function is represented:
          
This means that 0 is transformed to F (0), 1 is transformed to F (1 ),..., N-1 is transformed into F (N-1), F is the interconnection function. For example, n = 8. This representation of the even shuffling function is:
          

  2. Cyclic notation

The interconnection function f (x) is expressed as (x0x1x2... XJ... Xk-1) where K ≤ n, the cycle indicates that there are the following corresponding functional relationships F (x0) = x1, F (X1) = x2 ,......, F (XJ) = XJ + 1 ,...... F (Xk-1) = x0
XI indicates the node number. Here, K indicates the cycle length.

  3. Function notation

Here, we use X to represent input variables and f (x) To represent interconnected functions. We often use binary encoding to represent input and output X and Output F (x). We can see the corresponding function relationship and scale, write an expression.
Such as X: {bn-1bn-2... Bi... B0} the interconnection function is represented as F (bn-1bn-2... Bi... B0 ).
For example, replace
      
It indicates the connection between the input end and the output end with different 0th bits in the binary address number.
The topology of the interconnection between the input and output nodes is drawn directly.

  7.2.2 several basic interconnection functions

The following describes common basic interconnection functions, their function expressions, and main features. In the following example, n is used to represent the number of nodes. When binary is used to represent these node numbers, n is used to represent the number of nodes, where n = log2n

  1. Constant-level replacement

The replacement implemented by one-to-one interconnection between input and output terminals of the same number is a constant replacement, and its expression is:
       
The Xn-1Xn-2 in the left bracket of the equation... X1x0 and the Xn-1Xn-2 on the right of the equation... X1x0 is the binary address number of the network input and output. Figure 7.2.1 shows the Transformation completed by this replacement. The left part of the image is the input end, and the right part is the output end.

  2. Exchange replacement

Exchange replacement is the connection between the input end and the output end with different 0th bits in the binary address number. The expression is:
      
The interconnection between the input and output ends is shown in Figure 7.2.2.

  3. cube replacement

Cube replacement is a connection between the input and output ends with different K-bit values in the binary address number. The expression is:
 
This is the general situation of the above-mentioned exchange replacement. It should have n cube replacements. For example, if n = 8, there are
Here is the implementation of binary 0th-bit Cube Transformation
Here is the implementation of binary 1st-bit Cube Transformation
Here is the implementation of binary 2nd-bit Cube Transformation
See Figure 7.2.3, in which C0 is an exchange replacement.

  4. Even shuffling and replacement

Even shuffling and replacement are two halves that divide the input end into equal numbers. the first half and the last half are connected to the output end from the beginning to the end one by one in sequence. This is like playing cards, the whole deck is divided into two equal stacks to wash, so as to achieve an ideal even situation separated by one card, so it is called even shuffling replacement, or for short, shuffling replacement, the function relationship can be expressed:
     
From this expression, we can see that shuffling is to move the binary address at the input end to the left to obtain the corresponding binary address at the output end.
Inverse even shuffling is the inverse function of even shuffling, as shown in Figure 7.2.4. The input and output ends of the two are in the same position. The function expression is as follows:
     
This indicates that the reverse shuffling function shifts the binary address numbers at the input end one by one to obtain the corresponding output address. Even shuffling and inverse even shuffling are two very useful interconnection functions. They represent links and switches represented by exchange replacement. They can be combined to form omega (Ω) network and inverse omega (Ω-1) network. σ functions are widely used in parallel operations such as polynomial evaluation, matrix transpose, FFT, and parallel sorting.

  5. Butterfly replacement

The name of butterfly replacement is derived from the shape of the image, such as the butterfly pattern, when the FFT transformation is implemented. It is defined:
      
This replacement is to swap the highest and lowest bits of the input binary address to obtain the corresponding output address. Similarly, the subbutterfly β (k) replacement and the super butterfly replacement β (k) are as follows:
 

β (k) Replacement calculates the output address based on the swap position between the K-bit and the lowest-bit binary addresses at the input end. While β (k) is to obtain the output address from the switch position of the n-k-1 and the highest position at the input end, fig 7.2.5 gives the butterfly β (2) and β (2) transformations of N = 8.

  6. Shift replacement

Shift replacement transfers the array at the input end to the output end cyclically. The function expression does not need to be written using binary numbers. It can be expressed as follows:
A (x) = (x + k) mod N, 0 ≤ x ≤ n
K is a constant, which refers to the moving position value. You can also divide the entire input array into several sub-arrays and replace them cyclically in the sub-array, the expression of this kind of cyclic Number movement can be written into two sub-statements as follows:
A (x) (r-1): 0 = (x) (r-1): 0 + k) mod 2R
A (x) (n-1): r = (x) (n-1): R
Subscript (n-1): R and (r-1): 0 respectively refer to from n-1 bit to r bit and from R-1 to 0 bit.
See Figure 7.2.6. This type of transformation is useful in parallel computing and image processing.

  7. addition and subtraction 2I (pm2i) Replacement

Addition or subtraction 2I replacement is actually a kind of shift replacement that contains 2n interconnected functions, and its expression is:
      
Figure 7.2.7 shows the transformed image of this function, which forms the basis of the data transformation network.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.