Anda di halaman 1dari 10

IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS,

VOL. 16,

NO. 9,

SEPTEMBER 2005

875

3D Hexagonal Network: Modeling, Topological Properties, Addressing Scheme, and Optimal Routing Algorithm
Catherine Decayeux and David Seme
AbstractThe 2D hexagonal mesh, based on triangle plane tessellation, is considered as a multiprocessor interconnection network. The 3D hexagonal mesh is presented as a natural extension of the hexagonal mesh. Although the topological properties of the 2D hexagonal mesh are well known, existing addressing schemes are not suitable to be extended to 3D hexagonal mesh. Then, we present, in this paper, a new addressing scheme and an optimal routing algorithm for 2D hexagonal network based on the distance formula and using shortest paths. We propose also a 3D hexagonal network that can be built with 2D hexagonal meshes as a natural generalization. We also present some topological properties, an efficient addressing scheme, and an optimal routing algorithm based on our 2D routing algorithm. Index TermsParallel architectures, interconnection networks, hexagonal mesh, routing, communication algorithms.

1 INTRODUCTION
are processors (also called nodes), and edges are links between them. The hexagonal torus was used in HARTS project [21] at the University of Michigan. Performances were studied in [8], [20], communication algorithms such as routing and broadcasting are developed for a hexagonal torus in [7]. Embeddings of tree in hexagonal array were studied in [11], while fault tolerant properties are investigated in [2]. A dictionary machine for hexagonal meshes was studied in [24]. There are often confusions between hexagonal and honeycomb meshes. In [12], [13], [20], hexagonal meshes are referred as honeycomb. Indeed, authors begin with hexagonal tessellation, but they consider each hexagon as a processor. In the same way, in wireless networks, hexagonal tessellation is used, but hexagons are considered as areas with six neighbors [3], [10]. As the hexagonal mesh is a suitable 2D interconnection network for cellular mobile computing, it is natural to propose a 3D generalization of that network for cellular mobile computing indoor environment. In this context, the third dimension (high) becomes as important as the two others. Thus, there exists two previous definitions of 3D hexagonal meshes presented in [5] and [15], [16]. The first one is not a good approach since the presented model is not feasible as we will show in Section 3. The second attempt of modeling 3D hexagonal mesh is based on the same concepts of hypercube networks and is not a natural generalization of 2D hexagonal mesh. In this paper, we define a new and more natural 3D hexagonal mesh close to this described in [5] and based on 2D hexagonal mesh. We present some topological properties, an efficient addressing scheme and an optimal routing algorithm. This 3D architecture is suitable for cellular mobile computing indoor environment. This paper is organized as follows: First, we present new results about adressing scheme, distance formula, and routing algorithm for 2D hexagonal mesh in Section 2. Then, Section 3 introduces new results about 3D hexagonal networks based on the 2D hexagonal mesh, and the results are presented in Section 3. In Section 4, we propose some concluding remarks.
Published by the IEEE Computer Society

N a massively parallel computer, processors (nodes) communicate by exchanging messages over a network of communication links. In current machines, the network is necessarily of low degree. Each processor can communicate directly with only a few other processors, and the remainder of the processors must be reached indirectly by routing messages along a sequence of links. A routing algorithm is optimal when the message sent by the source node goes through the minimum number of links (corresponding to the shortest path between the source and the destination) to reach the destination node. There are several important characteristics that aid in evaluating different network configurations. These are the degree of a node, which is defined as the number of incoming/outgoing links per node, the diameter of the network which is the maximum value of all shortest paths between any two nodes. Since a network that has a low diameter usually requires a higher node degree, its cost is defined as (diameter nodedegree). Several surveys of parallel computing architectures exist [1], [17], [19], [22]. The greater the size and complexity are, the more expensive the processor network is. So, it is desirable to have a constant node degree (the number of its adjacent neighbors) to minimize the cost of such networks. One of the most popular architecture is the mesh-connected processor network: Cray T3D (with torus topology), J-Machine (MIT), M-machine (MIT), Symult2010, Stanford Dash, Intel Paragon, Intel Touchstone Delta [18], etc. Hexagonal mesh multiprocessor belongs to the family of planar graphs. It uses a triangular plane tessellation. Vertices

de Mathe matiques et dInformatique, . The authors are with LaRIA, Faculte de Picardie-Jules Verne 33, rue Saint Leu, 80039 Amiens Cedex, Universite France. E-mail: {decayeux, seme}@laria.u-picardie.fr. Manuscript received 20 Feb. 2004; revised 6 Sept. 2004; accepted 20 Nov. 2004; published online 21 July 2004. For information on obtaining reprints of this article, please send e-mail to: tpds@computer.org, and reference IEEECS Log Number TPDS-0052-0204.
1045-9219/05/$20.00 2005 IEEE

876

IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS,

VOL. 16,

NO. 9,

SEPTEMBER 2005

Fig. 1. Addressing for hexagonal network.

Fig. 2. Coordinates system.

2D HEXAGONAL NETWORKS

2.1 Previous Works There exists three regular plane tessellations composed of the same kind of regular (equilateral) polygons: triangular, square, and hexagon corresponding to dividing a plane into regular squares, triangles, and hexagons, respectively. They were the basis for designing direct interconnection networks with highly competitive overall performance. Triangular plane tessellation is called hexagonal mesh, while hexagonal plane tessellation is called honeycomb mesh [6], [23]. A hexagonal mesh can be built by induction. A single node O is considered as a hexagonal mesh of size 1. A hexagonal mesh of size 2 is a regular hexagon of side 1 (centered at O) such as each vertex is connected to O. A hexagonal mesh of size t is obtained from hexagonal mesh of size t 1 by adding nodes such as each node of the hexagonal mesh of size t 1 is center of a hexagonal mesh of size 2. Below are some of well-known topological properties (Proof can be found in [7]):
Degree Number of nodes Number of links Diameter Bisection Cost : : : : : : 6 3t2 3t 1 n p 3n 8:66 n p 2 t 1 % 1:16 n p 2:31pn 6:93 n

hexagonal networks by Garcia et al. [9]. In this scheme, three axes X , Y , and Z , parallel to three edge directions, and a mutual angle of 120 between any two of them are introduced, as indicated in Fig. 1. Let i, j, and k be three unit vectors in these axes. These three vectors are, obviously, not independent. More precisely, they are related by i j k 0. But, as the authors wrote, this addressing scheme is, unfortunately, not unique. Then, they proposed two cumbersome ways to arrive at a unique node address. In the addressing scheme proposed in [14], we have three axes directions X, Y , and Z . A node A, at the intersection of three axes X u, Y v, and Z w, have the triplet (u; v; w) as coordinates. This addressing scheme is very simple and efficient since it assume unique coordinates for each node. Moreover, there exists, for this coordinate system, a formula for distance between two nodes. Definition 1. The distance between to nodes P1 and P2 is the number of links in a shortest path from P1 to P2 . In [14], the algorithm based on the distance of two nodes leads to an optimal routing. As the authors wrote in [14], a generalization for higher dimension is not very interesting using this addressing scheme. It seems more convenient to find an addressing scheme using a couple of coordinates.

A convenient way to describe nodes and edges of a hexagonal mesh is to introduce a coordinate system. In [7], an interesting addressing scheme is proposed. It is used to find a shortest path from one node to any other. Authors also develop a one-to-all broadcasting algorithm. But, this addressing scheme is only suitable in hexagonal torus and not in hexagonal mesh. So, their algorithms cannot be used on hexagonal meshes. In [5], a new addressing scheme for hexagonal mesh is based on two axes at 120 degrees. Each node has only two coordinates. In this addressing scheme, nodes have unique coordinates. But, there exists no formula for distance between two nodes. Then, the optimality of the proposed algorithm was not proved. Fig. 1 illustrates the coordinate system that was proposed for honeycomb network by Stojmenovic [23], and adopted for

2.2 New Results 2.2.1 Preliminaries Property 1.


1. 2. Nodes of a network of size t are on concentric hexagons of side 1, 2, . . . , t 1 (Fig. 2). All nodes in a such concentric hexagon of side i are at the same distance i of the central node.

2.2.2 Addressing Strategy Here, we propose a new addressing scheme such that each node has a unique couple of coordinates. This addressing system, based on two axes at 60 degrees, leads to a formula for distance between two nodes and a simple optimal routing algorithm. Let X and Y -axes start at the center O of the hexagonal mesh and being parallel to two directions as in Fig. 2. Each node of a hexagonal mesh is addressed as x; y where x and y are coordinates in that system. A

 : 3D HEXAGONAL NETWORK: MODELING, TOPOLOGICAL PROPERTIES, ADDRESSING SCHEME, AND OPTIMAL... DECAYEUX AND SEME

877

nonboundary node of coordinates x; y has six neighbors: x 1; y, x 1; y, x; y 1, x 1; y 1, x; y 1, and x 1; y 1. Denote Ai Bi Ci Di Ei Fi a hexagon centered at O as with Ai i; 0, Bi 0; i, Ci i; i, Di i; 0, Ei 0; i, and Fi i; i and i is a positive integer. The distance between O and Ai (respectively, Bi , Ci , Di , Ei , and Fi ) is equal to i.

2.2.3 Distance The distance defined in this addressing scheme is based on the Property 1.
Theorem 1. Let M xM ; yM and N xN ; yN be two nodes. The distance DistM; N between M and N is equal to the distance DistO; N 0 , where N 0 has dx xN xM and dy yN yM as coordinates. ! ! Proof. As NN 0 MO, N 0 is the translate of N by the vector ! translation MO. A translation is a linear transformation which preserves length. So, DistO; N 0 DistM; N . t u Theorem 2. Let M and N be two nodes of coordinates xM ; yM and xN ; yN . The distance DistM; N between M and N verifies the following formula: DistM; N maxjdxj; jdyj; jdx dyj with dx xN xM and dy yN yM . Proof. By Theorem 1, DistO; N 0 DistM; N i with N 0 dx; dy. By Property 1, N 0 belongs on an hexagon centered at O. DistO; N 0 DistO; Ai by Property 1, DistO; Ai i. So, DistO; N 0 i. Denote by Ai Bi Ci Di Ei Fi this hexagon where Ai i; 0, Bi 0; i, Ci i; i, Di i; 0, Ei 0; i, and Fi i; i. . If N 0 dx; dy is on the line segment Ai Bi , then: 0 dx i, 0 dy i, and dx dy i (this is an equation of the line Ai Bi ). In this case, i dx dy jdx dyj maxjdxj; jdyj; jdx dyj: . Hence, DistM; N maxjdxj; jdyj; jdx dyj. If N 0 dx; dy is on the line segment Di Ei , then: i dx 0, i dy 0, and i dx dy jdx dyj maxjdxj; jdyj; jdx dyj DistM; N : . If N 0 dx; dy is on Bi Ci (respectively, Ei Fi ), then i dx 0, dy i (respectively, 0 dx i, dy i). Hence, i jdyj maxjdxj; jdyj; jdx dyj DistM; N : . If N 0 dx; dy is on Ci Di (respectively, Ai Fi ), then 0 dy i, dx i (respectively, i dy 0, dx i). Hence, i jdxj maxjdxj; jdyj; jdx dyj DistM; N : Then, the distance between M and N verifies the following formula: DistM; N maxjdxj; jdyj; jdx dyj: t u

Fig. 3. Hexagon A4 B4 C4 D4 E4 F4 centered at M .

Corollary 1. Denote Ai Bi Ci Di Ei Fi the hexagon of side i DistM; N and centered at M (see Fig. 3). If DistM; N jdxj, then N 2 Ci Di [ Ai Fi . If DistM; N jdyj, then N 2 Bi Ci [ Ei Fi . If DistM; N jdx dyj, then N 2 Ai Bi [ Di Ei .

2.2.4 Routing Algorithm Our routing algorithm is based on Theorem 2 and Corollary 1. At first, the source node S computes dx, dy and calculates the distance i between S and the destination node D. By Property 1 and Corollary 1, D is on a side of Ai Bi Ci Di Ei the hexagon of side i centered at S . S compares the distance i to jdxj, jdyj, jdx dyj in order to locate the destination node D in a side of the hexagon centered at S. Then, it computes cptu, cptv, and cptw which are, respectively, the number of links we should go through in the ! {,! | and ! | ! { directions to go from S to D. With these data items, the source node S can compute the coordinates of its neighbor which can receive the message from S . Each intermediate node receiving the message decreases cptu, cptv, or cptw (if cptu, cptv, and cptw are greater than zero) or increases cptx, cptv, or cptw (if cptu, cptv, and cptw are smaller than zero). Then, cptu, cptv, and cptw are all equal to zero means that the message is at the node D. The sign of cptu, cptv, and cptw determines the direction in which we should send the message (i.e., which is the following node to reach).
ALGORITHM 2D_ROUTING Source node (S) dx xD x; dy yD y dist max jdxj; jdyj; jdx dyj if (dist jdx dyj) then cptu dx; cptv dy; cptw 0 else if (dist jdxj) then cptu dx dy; cptv 0; cptw dy else cptu 0; cptv dx dy; cptw dx endif if (cptu <> 0 or cptv <> 0 or cptw <> 0) Call ROUTING_PROTOCOLE_2D Send u0 ; v0 ; cptu; cptv; cptw; DAT A endif All other nodes Receive (cptu, cptv, cptw, DATA) if (cptu <> 0 or cptv <> 0 or cptw <> 0)

878

IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS,

VOL. 16,

NO. 9,

SEPTEMBER 2005

Call ROUTING_PROTOCOLE_2D Send u0 ; v0 ; cptu; cptv; cptw; DAT A endif PROCEDURE ROUTING_PROTOCOLE_2D if (cptu <> 0) then if (cptu > 0) then u0 u 1; v0 v; cptu cptu 1 else u0 u 1; v0 v; cptu cptu 1 else if (cptv <> 0) then if (cptv > 0) then u0 v; v0 v 1; cptv cptv 1 else u0 u; v0 v 1; cptv cptv 1 else if (cptw <> 0) then if (cptw > 0) then u0 u 1; v0 v 1; cptw cptw 1 else u0 u 1; v0 v 1; cptw cptw 1 endif endif endif Lemma 3. The algorithm 2D_ROUTING realizes the routing from a source node to a destination node. Proof. The proof is based on Corollary 1. Suppose that DistS; D jdxj. Denote Ai Bi Ci Di Ei Fi the hexagon of side i DistS; D and centered at S. By Corollary 1, D 2 Ci Di [ Ai Fi . In this case, the routing algorithm uses two directions: ! { and ! | ! { . Thus, initially, cptu, cptv, cptw are equal to dx dy, 0, and dy, respectively. So, we go through jdx dyj links in the ! { direction and jdyj links in the ! | ! { direction. Hence, the message is sent to the node D0 such that, ! ! { dy! | ! { dx! { dy! | SD. SD0 dx dy! u t So, the node D0 is, in fact, the destination D. Lemma 4. The routing algorithm 2D_ROUTING is optimal. Proof. We are going to prove that the message follows a shortest path of dist links between the source node S and the destination node D. If D 2 Ai Fi , then jdx dyj dx dy (because jdyj jdxj, dx ! 0, and dy 0.) Then, we go through dx dy links in the ! { direction and dy links in the ! | ! { direction. So, we go through dx dy dy dx DistS; D links. If D 2 Ci Di , then jdx dyj dx dy (because jdyj jdxj, dx 0, and dy ! 0). Then, we go through dx dy links in the ! { direction and dy links in the ! | ! { direction. So, we go through dx dy dy dx DistS; D links, which proves the optimality. Similar arguments are applied in other cases. u t Complexity: As our routing algorithm is based on the distance (shortest path) between two nodes, its complexity p (in the worst case) is O( n) (i.e., equal to the diameter of the hexagonal mesh).

Fig. 4. 3D hexagonal mesh of size 2.

network [5]. Unfortunately, this model, in which the links should be of same length, cannot be built. Indeed, the proposed 3D hexagonal mesh of size 2 should contain triangles which are both right and equilateral! In [15], the authors consider that the overall number of edges at each node should be linear in network dimension (as for higher dimensional meshes and honeycombs). Thus, the model that they propose is based on the similarity of hexagonal and mesh connected networks. Then, the degree of k-D hexagonal network is the same as degree of (k 1)-D mesh connected computer. In the following, our approach is close to this described in [5]. We consider that the 3D hexagonal network should be built with 2D hexagonal meshes.

3.2

New Results

3.2.1 Topological Properties In this section, we describe a new 3D hexagonal network. A single node O is considered as a hexagonal mesh of size 1. A 3D hexagonal mesh of size 2 is based on the union of three 2D hexagonal meshes of size 2 (ABEF GI , BCHGLK , ACDF LJ ) centered in O generated by the three sides of an equilateral triangle ABC as shown in Fig. 4.
Remark 5. 1. There exists a fourth 2D hexagonal mesh of size 2 in a 3D hexagonal mesh of size 2. Its hexagonal boundary is the hexagon DEKJIH . The convex hull of an 3D hexagonal mesh of size 2 is a cuboctahedron (of unit edge length) centered in O. A cuboctahedron has eight triangular faces and six square faces, 12 identical vertices, with two triangles and two squares meeting at each, and 24 identical edges, each separating a triangle from a square.

2.

3D HEXAGONAL NETWORKS

3.1 Previous Works There exists two previous definitions of 3D hexagonal meshes. The first one is a generalization of the 2D hexagonal

A 3D hexagonal mesh can be built by induction. A 3D hexagonal mesh of size 2 is a basic tile. A 3D hexagonal mesh of size t is obtained from 3D hexagonal mesh of size t 1 by

 : 3D HEXAGONAL NETWORK: MODELING, TOPOLOGICAL PROPERTIES, ADDRESSING SCHEME, AND OPTIMAL... DECAYEUX AND SEME

879

Fig. 7. Square faces.

For i ! 2: Ni1 Ni 12 24i 1 6i 12 81 2 . . . i 2:


i1 i As 1 2 . . . i 2 i2 2
2

3i2 . 2

Then,

Ni1 Ni 12 24i 24 6i2 12i 6 4i2 3i 2:


Fig. 5. 3D hexagonal mesh of size 3.

adding nodes and links such as each node of the 3D hexagonal mesh of size t 1 is center of the basic tile (3D hexagonal mesh of size 2). Now, we call 3 HMt a 3D hexagonal mesh of size t (Fig. 5). Property 2. 1. 2. The points of the convex hull are in the cuboctahedron C of t 1 unit edge length centered at O. There exists four kinds of points in the convex hull: a. b. c. Twelve vertices of C . 24 t 2 points on the 24 edges of C . 2 t 6 points 8 1 2 t 3 8 t 5 2 in the interior of the eight triangular faces of C making up equilateral triangles (Fig. 6). 6 t 22 points in the interior of the six square faces belonging in a grid (Fig. 7).

Thus, for i ! 2, Ni1 Ni 10i2 2. The sum these relations, for i 2 to i t 1, leads to: Pof P t1 it1 2 2 Nt N2 i i2 10i 2, Nt N2 10 i2 i 2i 2. 2i1 As 12 22 . . . i 12 ii1 , then: Nt N2 6 tt12t1 5 3 2 10 1 2 t 4 , N N t 2 6 3 2t 3t t 10 3 2 11 10 2t 4, Nt N2 3 t 5t 3 t 14. Finally, we 3 2 11 u t obtain: Nt 10 3 t 5t 3 t 1. For example, the number of nodes of a 3 HM3 (Fig. 5) is equal to N3 55. Theorem 7. The number of links in a 3 HMt is Lt 4t 15t2 7t 3, Proof. L1 0, L2 36. Since each edge is counted in two P N t degrees, it follows that 2Lt i i1 degi. Also, we determine the degree of each node of a 3 HMt . Each node in the interior of a 3 HMt is a center of a hexagonal mesh of size 2. So, the degree of a such node is 12. The nodes of the convex hull of an 3 HMt have different degrees. If the node is a vertex of the cuboctahedron, thus his degree is 5. If the node belongs on an edge of the cuboctahedron, his degree is 7. The degree of a node in the interior of square faces is 8. For a node in the interior of triangular faces, the degree is 9. By counting all the nodes of each case, we obtain the formula: 1 Lt 12 Nt1 5 12 7 24t 2 8 2 6t 22 9 81 2 t 3:
t2 t6 As 1 2 . . . t 3 t3 t 5 . Thus, 2 2   10 3 71 t 15t2 t 13 30 84t 2 Lt 6 3 3
2

d.

Theorem 6. The number of nodes in a 3 HMt is Nt 10 3 2 11 3 t 5t 3 t 1 nodes. Proof. Let Ni be the number of nodes in a 3 HMi . N1 1, N2 13. The convex hull of a 3 HM3 is a cuboctahedron of 2 units edge length. A 3 HM3 is obtained from a 3 HM2 by adding the 12 vertices of this cuboctahedron, the 24 midpoints of each edge, and one node in the interior of each square face (Property 2). N3 N2 12 24 6 55. Similarly, by Property 2:

24t2 4t 4 18t2 5t 6: Hence, Lt 20t3 48t2 40t 12 4t 15t2 7t 3.


Fig. 6. Triangular faces.

u t

For example, the number of links of a 3 HM3 (Fig. 5) is equal to L3 216.

880

IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS,

VOL. 16,

NO. 9,

SEPTEMBER 2005

Fig. 8. Vectors defining 3D hexagonal mesh.

3.2.2 Addressing Strategy We extend the adressing scheme of two dimensional ! ! ! hexagonal mesh (Fig. 2). Let ! { OA, ! | OB, and k ! OC be three unit vectors of 3D space such that O, A, B, and C are vertices of tetrahedrons (Fig. 8). X, Y , and Z -axes start at the center O of the 3D hexagonal mesh and being parallel to three directions (OA), and (OC) (with A1; 0; 0, p p p(OB), 3 3 6 1 B1 ; ; 0 , and C ; ; ) as shown in Fig. 9. This 3 2 2 2 6 addressing scheme uses a unique triplet of coordinates (x; y; z) for a node and leads to a formula for distance between two nodes and a simple optimal routing algorithm. In the following, the coordinates of nodes are given in this addressing scheme. The basic tile (3D hexagonal mesh of size 2) is composed of 13 nodes: O0; 0; 0 the origin and his 12 neighboring nodes A1; 0; 0, B0; 1; 0, C 0; 0; 1, D1; 0; 1, H 0; 1; 1, I 1; 1; 0 and their symmetrical n o d e s F 1; 0; 0, G0; 1; 0, L0; 0; 1, J 1; 0; 1, K 0; 1; 1; , and E 1; 1; 0. Note that links can be seen as vectors. Hence, a link is parallel to one of this following directions: OA, OB, OC , OD, OH , and OI , which ! means that a link is parallel of one of this vectors: ! {,! | , k, ! ! ! ! ! ! { k , | k , and { | . Consequently, two nodes M and N are connected if and only if o ! n ! ! ! MN 2 ! { ; ! | ; k ; ! { k ; ! | k ; ! { ! | :
Hence, 12 neighbors of a nonboundary node x; y; z are nodes x 1; y; z, x; y 1; z, x; y; z 1, x 1; y; z, x; y 1; z, x; y; z 1, x; y 1; z 1, x; y 1; z 1, x 1; y; z 1, x 1; y; z 1, x 1; y 1; z, and x 1; y 1; z. Let Ai i; 0; 0, Bi 0; i; 0, Ci 0; 0; i, Di i; i; i, Ei i; i; 0, Fi i; 0; 0, Gi 0; i; 0, Hi 0; i; i, I i; i; 0, Ji i; 0; i, Ki 0; i; i, and Li 0; 0; i (with i positive integer) be the 12 vertices of the cuboctahedron Ai Bi Ci Di Ei Fi Gi Hi Ii Ji Ki Li centered at O. Ai Bi Ci Di Ei Fi Gi Hi Ii Ji Ki Li is the boundary of the 3D hexagonal mesh of size i 1. Hence, a node N x; y; z of a 3 HMi1 verifies: i x; y; z i. Remark 8. A 3 HMt contains layers composed by part of 2 HMt in different sets of planes, respectively, parallel to planes OAB, OBC , OAC , and ABC (Fig. 9).

Fig. 9. Addressing scheme in 3D hexagonal mesh.

Without loss of generalities, in the following, we consider that these layers are complete 2 HMt , respectively, denoted by Hex0, Hex1, Hex2, and Hex3.

3.2.3 Distance Property 3.


1. 2. Nodes of a network of size t are on concentric cuboctahedron of side 1, 2, . . . , t 1. All nodes in a such concentric cuboctahedron of side i are at the same distance i of the central node.

The distance between O and all nodes on a face of the cuboctahedron Ai Bi Ci Di Ei Fi Gi Hi Ii Ji Ki Li is equal to i. Theorem 9. Let M and N be two nodes of coordinates xM ; yM ; zM and xN ; yN ; zN . The distance DistM; N between M and N verifies the following formula: DistM; N maxjdxj; jdyj; jdzj; jdx dyj; jdx dzj; jdy dzj; jdx dy dzj; with dx xN xM , dy yN yM , and dz zN zM . Proof. By Theorem 1, DistO; N 0 DistM; N i with N 0 dx; dy. By Property 3, N 0 belongs on the cuboctahedron Ai Bi Ci Di Ei Fi Gi Hi Ii Ji Ki Li centered at O. If N 0 dx; dy; dz is on the triangular face Ai Bi Ci , then: 0 dx i, 0 dy i, 0 dz i, and dx dy dz i (this is an equation of the plane Ai Bi Ci )). In this case, i dx dy dz maxjdxj; jdyj; jdzj; jdx dyj; jdx dzj; jdy dzj; jdx dy dzj: Hence, DistM; N maxjdxj; jdyj; jdzj; jdx dyj; jdx dzj; jdy dzj; jdx dy dzj: Similarly, N dx; dy; dz is on the triangular face (Fi Gi Li ) due to the symmetry of the cuboctahedron: i dx 0, i dy 0, i dz 0, and i dx dy dz.
0

 : 3D HEXAGONAL NETWORK: MODELING, TOPOLOGICAL PROPERTIES, ADDRESSING SCHEME, AND OPTIMAL... DECAYEUX AND SEME

881

So, i maxjdxj; jdyj; jdzj; jdx dyj; jdx dzj; jdy dzj; jdx dy dzj: Similar arguments can be applied in other cases. Then, the distance between M and N verifies the following formula: DistM; N maxjdxj; jdyj; jdzj; jdx dyj; jdx dzj; jdy dzj; jdx dy dzj: t u Corollary 2. Denote Ai Bi Ci Di Ei Fi Gi Hi Ii Ji Ki Li the cuboctahedron of side i DistM; N and centered at M (Fig. 9). If DistM; N jdxj, then N is on Di Ei Fi or Ai Ii Ji . If DistM; N jdyj, then N is on Gi Hi Ii or Bi Ei Ki . If DistM; N jdzj, then N is on Ci Di Hi or Ji Ki Li . If DistM; N jdx dy dzj, then N is on Ai Bi Ci or Fi Gi Li . If DistM; N jdx dyj, then N is on Di Fi Gi Hi or Ai Bi Ki Ji . If DistM; N jdx dzj, then N is on Ai Ci Hi Ii or Ei Fi Li Ki . If DistM; N jdy dzj, then N is on Bi Ci Di Ei or Gi Ii Ji Li . Theorem 10. p The diameter of a 3 HMt is Dt 2t 1 % 1:34 3 N t . Proof. The distance between nodes t 1; 0; 0 and t 1; 0; 0 is equal to maxjdxj; jdyj; jdzj; jdx dyj; jdx dzj; jdy dzj; jdx dy dzj 2t 1: We will prove by induction that the distance between any two nodes of 3 HMt is 2t 1. Clearly, any two nodes of 3 HM2 are at distance 2. Suppose that any two nodes of 3 HMt1 are at distance 2t 2. Each node on the convex hull of 3 HMt is at distance 1 of a node of 3 HMt1 . Let M and N be two nodes on the convex hull of 3 HMt . There exists two nodes M and N on the convex hull of 3 HMt1 such that DistM; M 0 1 and DistN; N 0 1. Then, DistM; N DistM; M 0 DistM 0 ; N 0 DistN 0 ; N : 1 2t 2 1 2t 1. u t

Fig. 10. Routing between S and D2; 1; 2.

following algorithm, x0 x, x1 y, and x2 z. Let a be an integer (a 2 f0; 1; 2g) used to refer to Hexa (respectively, equal to Hex0, Hex1, and Hex2). The source node S , first, computes dx, dy, dz and calculates the distance i between S and the destination node D. By Property 3 and Corollary 2, D is on a face of Ai Bi Ci Di Ei Fi Gi Hi Ii Ji Ki Li the cuboctahedron of side i centered at S . S compares the distance i to jdxj, jdyj, jdzj, jdx dyj, jdx dzj, jdy dzj, jdx dy dzj in order to locate the destination node D in a face of the cuboctahedron centered at S . Next, we apply twice the procedure ROUTING_PROTOCOLE_2D: in Hexa and then in Hexa 2. For example, suppose that DistS; D jdx dzj i. Without loss of generalities, we can suppose that S 0; 0; 0. Then, D is on the square faces Ai Ci Hi Ii or Ei Fi Li Ki (Corollary 2). We use the procedure ROUTING_PROTOCOLE_2D in 2 HMt named Hex2 (Fig. 10) until the intermediate node N receives the message. This node N 1; 0; 2 is on the layer containing D parallel to plane OAB. We apply now the procedure ROUTING_PROTOCOLE_2D from N to D in the 2 HMt named Hex0. ALGORITHM 3D_ROUTING Source node (S) dx0 xD 0 x0; dx1 xD 1 x1; dx2 xD 2 x2 dist maxjdx0j; jdx1j; jdx2j; jdx0 dx1j; jdx1 dx2j; jdx0 dx2j; jdx0 dx1 dx2j for (a 0 to 2) do b a 1 mod 3; c a 2 mod 3 if (dist jdxaj) then cptu 0; cptv 0; cptw dxb else if (dist jdxa dxb dxcj) then cptu 0; cptv dxb; cptw 0 else if (dist jdxa dxbj) then if (jdxcj jdxaj) then cptu 0; cptv dxa dxc; cptw dxc else cptu 0; cptv 0; cptw dxa a a 2 mod 3; b a 1 mod 3; c a 2 mod 3 endif

So, DistM; N

3.2.4 Routing Algorithm Our routing algorithm is based on Theorem 9, Corollary 2, and our 2D routing algorithm. We denote by Hex0 the 2 HMt of hexagonal boundary Ai Bi Ei Fi Gi Ii . Hex1 is the 2 HMt of hexagonal boundary Bi Ci Hi Gi Li Ki . And, the 2 HMt of hexagonal boundary Ai Ci Di Fi Li Ji is called Hex2. The links in Hex0 are parallel to the three following directions: ! {, ! | , and ! | ! { . The ! hexagon Hex1 (respectively, Hex2) is based on ! | , k , and ! ! ! ! k | directions (respectively, k , ! { , and ! { k ). In the

882

IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS,

VOL. 16,

NO. 9,

SEPTEMBER 2005

endif endif endfor if (cptu <> 0 or cptv <> 0 or cptw <> 0) then u xa; v xb Call ROUTING_PROTOCOLE_2D x0 a u0 ; x0 b v0 ; x0 c xc Send x0 0; x0 1; x0 2; xD 0; xD 1; xD 2; cptu; cptv; cptw; a; DAT A endif All other nodes Receive xD 0; xD 1; xD 2; cptu; cptv; cptw; a; DAT A b a 1 mod 3; c a 2 mod 3 if (cptu <> 0 or cptv <> 0 or cptw <> 0) then u xa; v xb Call ROUTING_PROTOCOLE_2D x0 a u0 ; x0 b v0 ; x0 c xc Send x0 0; x0 1; x0 2; xD 0; xD 1; xD 2; cptu; cptv; cptw; a; DAT A else if (x0 <> xD 0 or x1 <> xD 1 or x2 <> xD 2) then dxc xD c xc; dxa xD a xa dist max jdxcj; jdxaj; jdxc dxaj if (dist jdxcj) then cptu dxc dxa; cptv 0; cptw dxa else if (dist jdxaj) then cptu 0; cptv dxc dxa; cptw dxc else cptu dxc; cptv dxa; cptw 0 endif if (cptu <> 0 or cptv <> 0 or cptw <> 0) u xc; v xa Call ROUTING_PROTOCOLE_2D x0 a v0 ; x0 b xb; x0 c u0 Send x0 0; x0 1; x0 2; xD 0; xD 1; xD 2; cptu; cptv; cptw; a; DAT A endif endif endif Lemma 11. The algorithm 3D_ROUTING realizes the routing from a source node to a destination node. Proof. Suppose that dist jdx0j jdxj i (a 0). We are going to prove that our algorithm routes the message from S to D. ! { xD 1 xS 1! | xD 2 SD xD 0 xS 0! ! ! ! ! xS 2 k dx0 { dx1 | dx2 k ! dx! { dy! | dz k : By Corollary 2, D is on Di Ei Fi or Ai Ii Ji . Thus, initially, cptu, cptv, cptw are equal to 0, 0, and dx1 dy, respectively. So, u x0 and v x1. The ROUTING_ PROTOCOL_2D is applied in Hex0 and the message is reaching the intermediate node N . The message goes

through jdyj links in the ! | ! { direction. The node N is ! ! ! such that SN dy | { : We deduce from the previous ! ! equality: ND dx dy! { dz k . If the node N is not the destination node (i.e., if x0 0 <> xD 0 or x0 1 <> xD 1 or x0 2 <> xD 2, we apply again the ROUTING_PROTOCOL_2D. Now, dx2 dz and dx0 dx dy. The distance dist between N and D is equal to maxjdx0j; jdx2j; jdx0 dx2j. D is on the triangular face Ai Ii Ji (respectively, Di Ei Fi ), then i i 0 dz dy 0, i i, 0 dz dy dz i, 0 dy dz dy 0, 0, and dx i (respectively, i, and dx i) (in

the Proof of Theorem 9). Hence, if D is on the triangular face Ai Ii Ji , i dz dy dz 0 implies that dx dy dy dz i implies that 0, then jdx dyj ! jdzj. Similarly, if D is on the

triangular face Di Ei Fi , 0

jdx dyj ! jdzj. Besides, dx dy and dz have opposite signs. So, we deduce that jdx dyj ! jdx dy dzj. Then, the distance between N and D is equal to jdx0j. Thus, cptu, cptv, cptw are equal to 0, dx2 dx0 and dx2, respectively, and u x2, v x0. The message is sent to ! the node D0 such that: ND0 dx2 dx0! { dx2 ! ! ! ! ! 0 ! { k . Thus, ND dz dx dy { dz { k ! ! dx dy! { dz k ND. So, the node D0 is, in fact, the destination node D. Similar arguments are applied in other cases. u t

Lemma 12. The routing algorithm 3D_ROUTING is optimal. Proof. We are going to prove that the message follows a shortest path of dist links between the source node S and the destination node D. . Suppose that D is on the triangular face Ai Ii Ji . In this case (see the Proof of Theorem 9), 8 i dy 0 > > < i dz 0 1 i dy dz 0 > > : dist jdx0j dx: According to the proof of the previous theorem, the message goes through: jdyj links in the ! | ! { direction ! { direction jdz dx dyj links in the ! ! links in the { k direction: jdzj 2 We deduce from (1) and (2) that the message moves across dy dx dy dzdz dx distS; D links, which proves the optimality. Similar arguments can be applied in the case of D is on other triangular faces. Suppose that D is on the square face Ai Bi Ki Ji and jdx2j jdx0j (i.e., jdzj jdxj). In this case (see the Proof of Theorem 9),

 : 3D HEXAGONAL NETWORK: MODELING, TOPOLOGICAL PROPERTIES, ADDRESSING SCHEME, AND OPTIMAL... DECAYEUX AND SEME

883

8 i > > > > < 0 0 > > dz > > : dist

dz 0 dx i dy i dx jdx0 dx1j dx dy:

REFERENCES
3
[1] [2] [3] S.G. Akl, Parallel Computation: Models and Methods. Prentice Hall, 1997. H. Aykanat and T. Ozguner, A Fault Tolerant Hexagonal Systolic Array, Information Processing Letters, vol. 42, pp. 187-196, 1992. U. Black, Mobile and Wireless Networks. Upper Saddle River, N.J.: Prentice-Hall PTR, 1996. te s des re seaux dinterconnexion de J. Carle, Etude des proprie de Picardie Jules type nids dabeilles, PhD thesis, Universite de Mathe matiques et dInformatique, Amiens, Verne, Faculte France, 2000. J. Carle and J.F. Myoupo, Topological Properties and Optimal Routing Algorithms for Three Dimensional Hexagonal Networks, Proc. Intl Conf. High-Performance Computing in the AsiaPacific Region (HPC-Asia 2000), pp. 116-121, 2000. , All-to-All Broadcasting J. Carle, J.F. Myoupo, and D. Seme Algorithms on Honeycomb Networks and Applications, Parallel Processing Letters, vol. 9, no. 4, pp. 539-550, 1999. M.S. Chen, K.G. Shin, and D.D. Kandlur, Addressing, Routing and Broadcasting in Hexagonal Mesh Multiprocessors, IEEE Trans. Computers, vol. 39, no. 1, pp. 10-18, Jan. 1990. J.W. Dolter, P. Ramanathan, and K.G. Shin, Performance Analysis of Virtual Cut-through Switching in HARTS: A Hexagonal Mesh Multicomputer, IEEE Trans. Computers, vol. 40, no. 6, pp. 669-680, June 1991. F. Garcia, I. Stojmenovic, and J. Zhang, Addressing and Routing in Hexagonal Networks with Applications for Location Update and Connection Rerouting in Cellular Networks, technical report, manuscript, 2000. V.K. Garg and J.E. Wilkes, Wireless and Personal Communication Systems. Upper Saddle River, N.J.: Prentice-Hall PTR, 1996. D. Gordon, I. Koren, and G.M. Silberman, Embedding Tree Structures in VLSI Hexagonal Arrays, IEEE Trans. Computers, vol. 33, pp. 104-107, 1984. D. Milutinovic, V. Milutinovic, and B. Soucek, The Honeycomb Architecture, Computer, vol. 20, no. 4, pp. 81-83, Apr. 1987. V. Milutinovic, Mapping of Neural Network on the Honeycomb Architecture, Proc. IEEE, vol. 77, no. 12, pp. 1875-1878, 1989. , Hexagonal Mesh: A J.-F. Myoupo, H. NDamas, and D. Seme New Addressing Scheme and an Optimal Routing Algorithm, Proc. Intl Symp. Parallel and Distributed Computing and Networks, PDCN 02, 2002. lez, I. Stojmenovic, and M. F. Garcia Nocetti, J. Solano Gonza Stojmenovic, Addressing and Routing in Higher Dimensional Hexagonal Networks, Proc. Intl Conf. Parallel and Distributed Processing Techniques and Applications, PDPTA-01, pp. 1726-1732, 2001. lez, I. Stojmenovic, and M. F. Garcia Nocetti, J. Solano Gonza Stojmenovic, Higher Dimensional Hexagonal Networks, J. Parallel Distributed Computing, vol. 63, pp. 1164-1172, 2003. B. Parhami, Introduction to Parallel Processing: Algorithms and Architectures. Plenium, 1998. Y.R. Potlapalli, Trend in Interconnection Network Topologies: Hierarchical Networks, Proc. Intl Conf. Parallel Processing Workshop, 1995. M.J. Quinn, Parallel Computing, Theory and Practice. McGraw-Hill, 1994. B. Robic and J. Silc, High-Performance Computing on a Honeycomb Architecture, Proc. Second Intl ACPC, Parallel Computation Conf., 1993. K.G. Shin, HARTS: A Distributed Real-Time Architecture, Computer, vol. 24, no. 5, pp. 25-35, May 1991. I. Stojmenovic, Parallel and Distributed Computing Handbook, chapter direct interconnection networks, pp. 537-567, A.Y. Zomaya, ed., 1996. I. Stojmenovic, Honeycomb Networks: Topological Properties and Communication Algorithms, IEEE Trans. Parallel and Distributed Systems, vol. 8, no. 10, pp. 1036-1042, Oct. 1997. H.Y. Youn and J.Y. Lee, An Efficient Dictionary Machine Using Hexagonal Processor Array, IEEE Trans. Parallel and Distributed Systems, vol. 7, no. 3, pp. 266-273, Mar. 1996.

According to the proof of the previous theorem, the message goes through: jdx dzj links in the links in the jdzj links in the jdyj ! { direction ! ! { k direction ! | direction: 4

[4]

[5]

We deduce from (3) and (4) that the message moves across dx dz dz dy dx dy distS; D links, which proves the optimality. Suppose now that D is on the square face Ai Bi Ki Ji and jdx0j jdx2j (i.e., jdxj jdzj). In this case (see the Proof of Theorem 9), 8 i dz 0 > > > > dx i < 0 5 0 dy i > > dz > dx > : dist jdx0 dx1j dx dy: According to the proof of the previous theorem, the message goes through: jdxj jdx dy dzj jdx dzj links in the links in the links in the ! ! { k direction ! | direction ! ! k | direction: 6

[6] [7] [8]

[9]

[10] [11] [12] [13] [14]

We deduce from (5) and (6) that the message moves across dx dx dy dz dx dz dx dy distS; D links, which proves the optimality. Similar arguments can be applied in the case of D is on other square faces. u t Complexity: As our routing algorithm is based on the distance (shortest path) between two nodes, its complexity p (in the worst case) is O(3 N t ) (i.e., equal to the diameter of the 3D hexagonal mesh).

[15]

[16] [17] [18] [19] [20] [21] [22] [23] [24]

CONCLUSION

In this paper, we presented a new addressing scheme and an optimal routing algorithm for 2D hexagonal network based on the distance formula in order to use shortest paths from the source to the destination node. Then, we proposed a 3D hexagonal network that can be built with 2D hexagonal meshes as a natural generalization. We presented some topological properties, an efficient addressing scheme and an optimal routing algorithm based on our 2D routing algorithm. We should work now on the description of one-to-all and all-to-all broadcasting algorithms in the 3D hexagonal network. Thus, the one-to-all broadcasting algorithm presented in [4] for the 2D hexagonal network may be used as a basis for the 3D hexagonal network. It is very easy to describe an all-to-all broadcasting since the 3D hexagonal mesh contains an Hamiltonian cycle. Then, we would like to develop fault-tolerant algorithms for routing and one-to-all broadcasting in 3D hexagonal mesh.

884

IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS,

VOL. 16,

NO. 9,

SEPTEMBER 2005

Catherine Decayeux received the DEA (Di me dEtudes Approfondies) in computer plo de Picardie Jules science from the Universite Verne in 2002. Currently, she is a PhD student in computer science at the University of Picardie Jules Verne, France. She has also been a high school professor of mathematics since 1991 and she received the agregation (highest teaching diploma in France) of mathematics in 2000. Her research interest areas are interconnection networks and mobile computing.

received the DEA (Diplo me David Seme dEtudes Approfondies) in computer science de Picardie Jules Verne in from the Universite 1995. He received the PhD degree in computer science from the University of Picardie in 1999. Currently, he is an associate professor of computer science with the faculty of mathematics and computer science at the University of Picardie-Jules Verne and a member of the Computer Science Laboratory LaRIA. Dr. Seme has served as member of program committee of the International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, Madrid, Spain (SNPD 02), International Conference on Computer and Information Science, Seoul, Korea (ICIS 02), and the Sixth International Conference on Communications in Computing, CIC2005, Las Vegas (2005). His research interest areas are parallel algorithms and architectures, VLSI design, high performance computing, neural networks, interconnection networks and mobile computing.

. For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib.

Anda mungkin juga menyukai