9. Mapping Techniques
Mapping Techniques for Graphs
When mapping a graph �(�,�)G(V,E) onto another graph �0(�0,�0)G0(V0,E0), several metrics are essential to consider:
Congestion: The maximum number of edges from �E mapped onto any edge in �0E0. It indicates the level of traffic concentration on specific links.
Dilation: The maximum number of links in �0E0 that any edge from �E is mapped onto. It measures the stretching or expansion of paths in the mapping process.
Expansion: The ratio of the number of nodes in set �0V0 to that in set �V. It reflects how much the new graph has expanded compared to the original graph.
Embedding a Linear Array into a Hypercube
To embed a linear array (or ring) composed of 2�2d nodes into a �d-dimensional hypercube, we use a mapping function �(�,�)G(i,d). The function �(�,�)G(i,x) is defined recursively as follows:
�(0,1)=0G(0,1)=0
�(1,1)=1G(1,1)=1
�(�,�+1)={�(�,�)if �<2�2�+�(2�+1−1−�,�)if �≥2�G(i,x+1)={G(i,x)2x+G(2x+1−1−i,x)if i<2xif i≥2x
This function is known as the binary reflected Gray code (RGC). It ensures that adjacent entries in the linear array differ by only one bit position, which corresponds to mapping processors to neighboring nodes in the hypercube.
Since adjacent entries in the linear array are mapped to neighboring nodes in the hypercube, the congestion, dilation, and expansion of the mapping are all equal to 1. This indicates an efficient and congestion-free embedding of the linear array into the hypercube.
…