J. Parallel Distrib. Comput. 101 (2017) 69–78
Contents lists available at ScienceDirect
J. Parallel Distrib. Comput. journal homepage: www.elsevier.com/locate/jpdc
Fault-tolerant embedding of complete binary trees in locally twisted cubes✩ Zhao Liu a,b , Jianxi Fan a,b,∗ , Jingya Zhou a,b , Baolei Cheng a,b , Xiaohua Jia c a
School of Computer Science and Technology, Soochow University, Suzhou, China
b
Collaborative Innovation Center of Novel Software Technology and Industrialization, China
c
Department of Computer Science, City University of Hong Kong, Hong Kong
highlights • We prove that the complete binary tree can be embedded with dilation 2, congestion 1, expansion 1, and load 1 into Locally twisted cube. • We present three effective algorithms for fault-tolerant embedding of complete binary trees in locally twisted cubes with respect to one faulty node, two faulty node, and any faulty set F of 2 < |F | ≤ 2n−1 nodes, respectively.
article
info
Article history: Received 5 April 2016 Received in revised form 27 July 2016 Accepted 10 November 2016 Available online 22 November 2016 Keywords: Locally twisted cube Complete binary tree Fault-tolerance Embedding Dilation Congestion Interconnection architecture
abstract The complete binary tree is an important network structure for parallel and distributed computing, which has many nice properties and is often used to be embedded into other interconnection architectures. The locally twisted cube LTQn is an important variant of the hypercube Qn . It has many better properties than Qn with the same number of edges and vertices. The main results obtained in this paper are: (1) The complete binary tree CBTn rooted at an arbitrary vertex of LTQn can be embedded with dilation 2 and congestion 1 into LTQn . (2) When there exists only one faulty node in LTQn , both the dilation and congestion will become 2 after reconfiguring CBTn . (3) When there exist two faulty nodes in LTQn , then both the dilation and congestion will become 3 after reconfiguring CBTn . (4) For any faulty set F of LTQn with 2 < |F | ≤ 2n−1 , both the dilation and congestion will become 3 after reconfiguring CBTn under certain constraints. © 2016 Elsevier Inc. All rights reserved.
1. Introduction Interconnection architecture is an important component in parallel computing systems, which can generally be represented by a simple graph G = (V , E ), where V is the vertex set and E is the edge set. In this paper, we always refer to a graph as a simple graph. Given two graphs G = (VG , EG ) and H = (VH , EH ), an embedding from G to H is an injection f from VG to VH . We call G
✩ Some preliminary results were published at MSN 2015 (Liu et al., 2015). In this version, we enhance results that fault-tolerant embedding of complete binary trees are further considered the case when the number of faulty nodes is more than two and the corresponding algorithms are presented. ∗ Corresponding author at: School of Computer Science and Technology, Soochow University, Suzhou, China. E-mail addresses:
[email protected] (Z. Liu),
[email protected] (J. Fan),
[email protected] (J. Zhou),
[email protected] (B. Cheng),
[email protected] (X. Jia).
http://dx.doi.org/10.1016/j.jpdc.2016.11.005 0743-7315/© 2016 Elsevier Inc. All rights reserved.
the guest graph and H the host graph with respect to the embedding f . Many applications, such as architecture simulation, processor allocation, VLSI chip design can be modeled as a graph embedding problem [1,2,20,32,38]. The dilation and expansion are two important metrics to measure the performance of an embedding. The dilation of embedding f is defined as dil(G, H , f ) = max{dist (H , f (x), f (y))|(x, y) ∈ EG }, which measures the communication delay, where dist (H , f (x), f (y)) denotes the distance between the two vertices f (x) and f (y) in H. The congestion of embedding f is defined as C (G, H , f ) = max{C (e)|e ∈ EH }, which measures queuing delay of messages, where C (e) denotes the number of edges in G mapped to a path in H that includes e. It is possible that the dilation and congestion of an embedding impact each other. Hence, we have to consider the tradeoff between the dilation and congestion of an embedding. The hypercubes are one of the most popular interconnection architectures, because they have many advantageous properties such as comparably lower vertex degree and diameter, higher connec-
70
Z. Liu et al. / J. Parallel Distrib. Comput. 101 (2017) 69–78
tivity and symmetry. To achieve smaller diameter with the same number of vertices and edges as the hypercubes, many variants of the hypercubes have been proposed, such as crossed cubes [7], Maöbius cubes [6], twisted cubes [15], and parity cubes [35], etc. The n-dimensional locally twisted cube (denoted by LTQ n ), proposed by Yang et al. [37], is conceptually closer to hypercube than existing variants. It has many attractive features superior to those of the n-dimensional hypercube (denoted by Qn ), such as the diameter is only about half of that of Qn , which means the communication delay between any two vertices decrease by almost a half under the worst case. Recently, some important properties of locally twisted cubes, such as Hamiltonicity, pancyclicity, restricted connectivity, and embedding capabilities, have been deeply investigated in the literature [12,36,39,25,16,18,17]. Paths, cycles, meshes and trees are the common networks often used as guest graphs in many graph embeddings [9,24, 34,8,4]. Due to the desirable performance and wide applications of the complete binary tree, its embeddability into various interconnection architectures catches even more attention. So far, much work about the embeddings of the complete binary tree into meshes, star graphs, lines, grids, butterfly networks and hypercubes has been explored in the literature [10,33,23, 27,11,14]. However, embeddings of the complete binary tree into a few of all the existing hypercube variants have been studied. It has been proven that the complete binary tree can be embedded with dilation 1 and expansion 1 into folded cubes, enhanced cubes, crossed cubes, parity cubes, and Möbius cubes, respectively [5,22,28,29]. It has been proven that the complete binary tree cannot be embedded into a hypercube with dilation 1 and expansion 1, but it can be embedded into a hypercube with either expansion 2 and dilation 1 or with expansion 1 and dilation 2 [31]. As the size of interconnection networks increases continuously, dealing with networks with faulty elements becomes unavoidable. In order to maintain the reliability of networks, whenever a node is found to be faulty, it should be replaced by a fault-free node. Therefore, it is important to reconfigure a guest graph in a faulty host graph where all faulty nodes have been replaced. It means to find a fault-tolerant embedding of a guest graph into host graph. Much work about fault-tolerant embeddings of the complete binary tree into meshes, hypercubes, star graphs, complete transposition graphs and bubblesort graphs has been explored in the literature [10,3,26,19]. In this paper, we study the embedding of complete binary trees into locally twisted cubes. Firstly, we prove that the complete binary trees rooted at an arbitrary vertex of LTQ n can be embedded with dilation 2 and congestion 1 into LTQ n . Furthermore, we present three effective algorithms for fault-tolerant embedding of complete binary trees in locally twisted cubes. We prove that both the dilation and congestion will become 2 after reconfiguring CBT n when there exists only one faulty node in LTQ n , while both the dilation and congestion will become 3 after reconfiguring CBT n when there exist two faulty nodes in LTQ n . For any faulty set F of LTQ n with 2 < |F | ≤ 2n−1 , both the dilation and congestion will become 3 after reconfiguring CBT n under certain constraints. The rest of this paper is organized as follows: Section 2 provides the preliminaries. Section 3 proves that the complete binary tree CBT n can be embedded with dilation 2 and congestion 1 into ndimensional locally twisted cube. Section 4 proves that complete binary trees can be reconfigured dynamically in locally twisted cubes with low cost. Section 5 presents three effective algorithms for fault-tolerant embedding of complete binary trees in locally twisted cubes. The final section concludes this paper.
2. Preliminaries In this section, we will give some terminologies, definitions and basic lemmas used in this paper. Given two simple graphs G = (VG , EG ) and H = (VH , EH ), H is said to be a subgraph of G if VH ⊆ VG and EH ⊆ EG . The subgraph induced by V ′ in G is denoted by G[V ′ ], where V ′ ⊆ VG . For any integer n ≥ 1, a binary string x of length n is denoted by xn−1 . . . xi . . . x1 x0 (0 ≤ i ≤ n − 1), where xi ∈ {0, 1} is said to be the ith bit of x and xn−1 . . . xk (1 ≤ k ≤ n − 1) is called a prefix of x, and furthermore, x can be written as (xn−1 . . . xk )xk−1 . . . x1 x0 . The ith bit of x can also be denoted as bit (x, i). The complement of xi is denoted by xi = 1 − xi . The length of x is denoted by |x|. The n-dimensional locally twisted cube, denoted by LTQ n , is an n-regular graph of 2n vertices and 2n edges. Every vertex of LTQ n is identified by a unique binary string of length n. We adopt the recursive definition of locally twisted cube from [37]. Definition 1 ([37]). Let n ≥ 2. The n-dimensional locally twisted cube, LTQ n , is defined recursively as follows. (1) LTQ 2 is a graph consisting of four vertices labeled with 00, 01, 10, and 11, respectively, connected by four edges (00, 01), (00, 10), (01, 11), and (10, 11); (2) For n ≥ 3, LTQ n is built from two disjoint copies of LTQ n−1 according to the following steps. Let LTQ 0n−1 denote the graph obtained by prefixing the label of each vertex of one copy of LTQ n−1 with 0, let LTQ 1n−1 denote the graph obtained by prefixing the label of each vertex of the other copy of LTQ n−1 with 1. Connect each vertex x = 0xn−2 xn−3 . . . x0 of LTQ 0n−1 with the vertex 1(xn−2 + x0 )xn−3 . . . x0 of LTQ 1n−1 with an edge, where ’+’ represents the modulo 2 addition. Fig. 1(a) and (b) illustrate LTQ 3 and LTQ 4 , respectively. By Definition 1, we can easily check if a given pair of vertices are adjacent in LTQ n . When two adjacent vertices u and v have a leftmost differing bit at position i, we say that v is the i-neighbor of u, denoted by Ni (u), the edge (u, v) is an i-dimensional edge, or u and v are adjacent along dimension i. For example, letting u = 0101, then N0 (u) = 0100, N3 (u) = 1001. Yang et al. have found an isomorphic expression of LTQ n . For example, two graphs shown in Fig. 2(a) and (b) are other expressions of LTQ 3 and LTQ 4 , respectively. In general, they have proven the following result. Lemma 2 ([37]). Let Ql be the graph obtained from Qn−1 by suffixing the labels of all vertices with 0, Qr be the graph obtained from a graph isomorphic to Qn−1 by suffixing the labels of all vertices with 1. Then LTQ n is isomorphic to the graph obtained from Ql and Qr by adding a perfect matching M between them, denoted by LTQ n = Ql ⊕ Qr , where M is the set of edges by linking two vertices with difference only suffixes. The complete binary tree has many nice properties than other binary trees. The perfect binary tree may be seen as a complete binary tree with 2n − 1 nodes, where n is its height. It is regular and each internal vertex has exactly two children, and all leaves have the same level. It is more important that each binary tree is a subtree of the perfect binary tree with the same height. In this paper, we use perfect binary trees and complete binary trees interchangeably. The double-rooted complete binary tree of height n (or briefly a DT n ) is a graph consisting of two complete binary trees of height n − 1 whose roots are connected by a path of length 3. Clearly, a double-rooted complete binary tree of height n has exactly 2n vertices. Note that if we identify both roots of a double-rooted complete binary tree, we obtain a complete binary tree of the same height.
Z. Liu et al. / J. Parallel Distrib. Comput. 101 (2017) 69–78
71
Fig. 1. (a) LTQ 3 . (b) LTQ 4 .
Fig. 2. Another expression of LTQ 3 and LTQ 4 .
It was proved that a double-rooted complete binary tree of height n (n ≥ 2), DT n , is a subgraph of an n-dimensional hypercube Qn . Lemma 3 ([31]). For any integer n ≥ 2, DT n is the subgraph of Qn . According to Lemma 3, we have the following corollary. Corollary 4 ([31]). Let the edges (r1 , r2 ) and (r1 , s1 ) ∈ E (Qn ), where r2 ̸= s1 . There exists a vertex s2 such that a double-rooted complete binary tree DT n can be constructed with r1 and r2 as the roots, s1 and s2 as the second level vertices. 3. Embedding the complete binary trees into locally twisted cubes In this section, we will prove that the complete binary tree with (2n − 1) vertices can be embedded with dilation 2 and congestion 1 into LTQ n . First we show it is true for n < 5. Next, we prove that it holds for n ≥ 5. Liu et al. [25] proved that the n-dimensional locally twisted cube LTQ n satisfies the even–odd-vertex-transitive property. Based on this property, they first showed that there are only two equivalence classes similar to vertices 0 and 1 in LTQ n . Therefore, we will prove that conclusion holds true in LTQ n by constructing CBT n rooted at vertices 0 and 1, respectively. For LTQ 3 and LTQ 4 , we can easily verify the following two lemmas. Lemma 5. CBT 3 can be embedded with dilation 2 and congestion 1 into LTQ 3 . Proof. Fig. 3 shows two required embeddings. For 000 as the root of CBT 3 , see Fig. 3(a) and for 001 as the root of CBT 3 , see Fig. 3(b). They are one-to-one node embeddings, where the dilation of edges (001, 010) and (000, 011) is 2 and the dilation of the other edges is 1, and both of the congestion of two embeddings are 1. Lemma 6. CBT 4 can be embedded with dilation 2 and congestion 1 into LTQ 4 . Proof. Fig. 4 provides two required embeddings. For 0000 as the root of CBT 4 , see Fig. 4(a) and for 0001 as the root of CBT 4 , see Fig. 4(b). Similarly, they are one-to-one node embeddings, where the dilation of edges (0001, 0010) and (0000, 0011) is 2 and the dilation of the other edges is 1, and both of the congestion of two embeddings are 1.
Next, we will prove that CBT n rooted at an arbitrary vertex of LTQ n can be embedded with dilation 2 and congestion 1 into LTQ n for n ≥ 5. Before discussing the issue, we first introduce the following notation. We use CBT n to denote the complete binary tree with 2n vertices. There exists exactly one vertex in CBT n such that the edge with dilation 2 that passes through it. This vertex is called the extra vertex of CBT n . We always use r (CBT n ) and e(CBT n ) to denote the root and the extra vertex of CBT n , respectively. For example, Fig. 3(a) implies that r (CBT 3 ) = 000 and e(CBT 3 ) = 011. Theorem 7. CBT n rooted at an arbitrary vertex of LTQ n can be embedded with dilation 2 and congestion 1 into LTQ n . Proof. When n ≤ 2, it is trivial. With Lemmas 5 and 6, the theorem holds for n = 3 and 4. For n ≥ 5, we give an embedding f of CBT n into LTQ n as following. With Lemma 2, LTQ n consists of two disjoint copies of Qn−1 ’s which can be denoted by Qn0−1 and Qn1−1 . The first (n − 1)dimensional hypercube Qn0−1 consists all the vertices with a zero in their rightmost bit. The second (n − 1)-dimensional hypercube Qn1−1 consists all the vertices with a one in their rightmost bit. Since locally twisted cube LTQ n satisfies the even–odd-vertex-transitive property, we need to consider the following two cases. Case 1. The vertex in V (Qn0−1 ) is chosen as root of CBT n . Let r1 = xn−1 . . . x1 0 ∈ V (Qn0−1 ). There exist two neighbors r2 and s1 such that r2 = N2 (r1 ) = xn−1 . . . x2 x1 0 and s1 = N1 (r1 ) = xn−1 . . . x1 0. According to Corollary 4, there exists a vertex s2 such that a doublerooted complete binary tree DT 0n−1 can be constructed with r1 and r2 as the roots, s1 and s2 as the second level vertices (see Fig. 5(a)). Moreover, let r2′ = N0 (r1 ) = xn−1 . . . x1 1, r1′ = N0 (s1 ) = xn−1 . . . x1 1 and s′1 = N0 (r2 ) = xn−1 . . . x2 x1 1. Obviously, r2′ , r1′ and s′1 ∈ V (Qn1−1 ). By Definition 1, r1′ = N1 (r2′ ) and r1′ = N2 (s′1 ). Similarly, due to the regularity and symmetry properties of hypercube, there exists a vertex s′2 such that a double-rooted complete binary tree DT 1n−1 can be constructed with r1′ and r2′ as the roots, s′1 and s′2 as the second level vertices. By deleting the edges (r1 , s1 ), (r1′ , s′1 ), and adding the edges (r1 , r2′ ), (r2 , s′1 ), (s1 , r1′ ), we obtain an embedding of CBT n into LTQ n with r (CBT n ) = r1 and e(CBT n ) = r1′ (see Fig. 5(b)). Notice that the edge (r2′ , s1 ) whose dilation is 2 and the other edge whose dilation is 1, and the congestion of the embedding is 1. Case 2. The vertex in V (Qn1−1 ) is chosen as root of CBT n . Let r1 = xn−1 . . . x1 1 ∈ V (Qn1−1 ). There exist two neighbors r2 and s1 such that r2 = N2 (r1 ) = xn−1 . . . x2 x1 1 and s1 = N1 (r1 ) = xn−1 . . . x1 1.
72
Z. Liu et al. / J. Parallel Distrib. Comput. 101 (2017) 69–78
Fig. 3. Two embeddings of CBT 3 into LTQ 3 .
Fig. 4. Two embeddings of CBT 4 into LTQ 4 .
Fig. 5. Construction of CBT n from DT n−1 ’s in two Qn−1 ’s.
Similar to Case 1, there exists a vertex s2 such that a double-rooted complete binary tree DT 0n−1 can be constructed with r1 and r2 as the roots, s1 and s2 as the second level vertices. Moreover, let r2′ = N0 (r1 ) = xn−1 . . . x1 0, r1′ = N0 (s1 ) = xn−1 . . . x1 0 and s′1 = N0 (r2 ) = xn−1 . . . x2 x1 0. Obviously, r2′ , r1′ and s′1 ∈ V (Qn0−1 ). By Definition 1, r1′ = N1 (r2′ ) and r1′ = N2 (s′1 ). Similar to Case 1, there exists a vertex s′2 such that a double-rooted complete binary tree DT 1n−1 can be constructed with r1′ and r2′ as the roots, s′1 and s′2 as the second level vertices. By deleting the edges (r1 , s1 ), (r1′ , s′1 ), and adding the edges (r1 , r2′ ), (r2 , s′1 ), (s1 , r1′ ), we obtain an embedding of CBT n into LTQ n with r (CBT n ) = r1 and e(CBT n ) = r1′ . Notice that the edge (r2′ , s1 ) whose dilation is 2 and the other edge whose dilation is 1, and the congestion of the embedding is 1. 4. Reconfiguring the complete binary trees in faulty locally twisted cubes In this section, we will discuss how one can reconfigure CBT n in a faulty locally twisted cube. When arbitrary faulty nodes occur in LTQ n , we can reconfigure CBT n in LTQ n . To reduce the overhead of data communication after fault recovery, we present three dynamic algorithms that can be used to reconfigure CBT n in a faulty locally twisted cube. The faulty model of the locally twisted cube is defined as follows [13,21,30]. (1) The computational part of a faulty node is not utilized, while its links are fault-free. (2) A free node is not assigned initially; it can be used to recover faults but cannot be reused to recover any other faults later.
(3) The task of the faulty node is allowed to migrate to the free node. (4) The faulty diagnosis mechanisms are assumed to be fault-free. Theorem 8. CBT n can be reconfigured dynamically to embed into LTQ n with dilation 2 and congestion 2 when an arbitrary faulty node occurs in LTQ n . Proof. First, we construct CBT n on LTQ n . By Theorem 7, we give an embedding of CBT n into LTQ n with r1 as the root, r2′ and r2 as the second level vertices (see Fig. 5(b)). The dilation is 2, and the congestion is 1 for such a construction of CBT n . When an arbitrary node becomes faulty in CBT n , there are three cases that need to be discussed as follows. Case 1. The root of CBT n is the faulty node. We let the root of the left subtree r2′ become the root of CBT n , and let r2′ be re-embedded into its left child r1′ (see Fig. 6(a)). Hence, the dilation of the two edges (r2′ , r2 ) and (r1′ , s′2 ) will become 2, and those of others will become 1. The congestion of edge (r2′ , r1′ ) is 2, and those of others are 1. Case 2. The faulty node occurs in left subtree. We further consider the following four subcases. Case 2.1. r2′ is the faulty node. Let r2′ be re-embedded into its left child r1′ . The dilation of two edges (r1 , r1′ ) and (r1′ , s′2 ) are 2, and the congestion of edge (r2′ , r1′ ) is 2. Case 2.2. r1′ is the faulty node. It needs not to be re-embedded, and the dilation and congestion are not altered. Case 2.3. The faulty node occurs in the leaf nodes of left subtree. The path from the faulty node to root rl has to be modified; that is, let the nodes of the path be re-embedded into their parent nodes. For fault node occurs in left subtree of r2′ , see Fig. 6(c) and for fault
Z. Liu et al. / J. Parallel Distrib. Comput. 101 (2017) 69–78
73
Fig. 6. Illustration for proof of Theorem 8.
node occurs in right subtree of r2′ , see Fig. 6(d). Notice that each node of the path links its two sons using one edge whose dilation is 2 and the other edge whose dilation is 1. Case 2.4. The faulty node occurs in the internal nodes of left subtree. For fault node occurs in left subtree of r2′ , see Fig. 6(e) and for fault node occurs in right subtree of r2′ , see Fig. 6(f). Similar to Case 2.3, each node of the path links its two sons using one edge whose dilation is 2 and the other edge whose dilation is 1, while the parent node of the faulty node uses two edges whose dilation are 2 to link its two sons. Case 3. The faulty node occurs in right subtree. We further consider the following three subcases. Case 3.1. r2 is the faulty node. Let the root of the left subtree r2′ become the root of CBT n , and let r1 be re-embedded into r2 . The dilation of the edges (r1′ , s′2 ), (r1 , s2 ) and (r1 , s′1 ) are 2, and the congestion of two edges (r2′ , r1′ ) and (r1 , r2 ) are 2 (see Fig. 6(b)). Case 3.2. The faulty node occurs in the leaf nodes of right subtree. Similar to Case 2.3, each node of the path links its two sons using one edge whose dilation is 2 and the other edge whose dilation is 1 (see Fig. 6(g)). Case 3.3. The faulty node occurs in the internal nodes of right subtree. Similar to Case 2.4, each node of the path links its two sons using one edge whose dilation is 2 and the other edge whose dilation is 1, while the parent node of the faulty node uses two edges whose dilation are 2 to link its two sons (see Fig. 6(h)). The congestion of the edges of the path equals 2 in LTQ n when the faulty node occurs in the leaf nodes or the internal nodes of CBT n . Now we will consider LTQ n with two faulty nodes. To reconfigure CBT n in LTQ n , we adopt the following lemma.
Fig. 7. Linking leaf nodes to certain internal nodes of DT 3 . The dashed lines represent the links in Q3 .
Lemma 9 ([3]). DT n can be embedded into Qn as each leaf node of DT n is linked to a certain internal node of DT n via an edge in Qn . For instance, DT 3 can be embedded into Q3 as shown in Fig. 7. The figure shows the links between the leaf nodes and internal nodes in Q3 . Notice that leaf nodes 110, 011, 100 and 111 link to internal nodes 010, 001, 000 and 101, respectively. Theorem 10. CBT n can be reconfigured dynamically to embed into LTQ n with dilation 3 and congestion 3 when two arbitrary faulty nodes occur in LTQ n . Proof. Similarly, we can construct CBT n on LTQ n (see Fig. 5(b)). When two arbitrary faulty nodes u and v occur in LTQ n , there are two cases that need to be discussed separately. Case 1. Two faulty nodes u and v are not adjacent in LTQ n . Without loss of generality, we may assume that u is in level i and v is in level j, where i ≤ j. Faulty node u can be reconfigured as described in Theorem 8. To reduce the influence of the structure of CBT n , the other faulty node v has to be reconfigured and reembedded into a leaf node of CBT n . If v is a leaf node of CBT n , we
74
Z. Liu et al. / J. Parallel Distrib. Comput. 101 (2017) 69–78
Fig. 8. Illustration for proof of Theorem 10.
can complete the reconfiguration of CBT n . If v is an internal node of CBT n , then faulty node v has to be re-embedded into a leaf node of CBT n . Since internal node v of CBT n has an edge to link it with a certain leaf node, w , according to Lemma 9, faulty node v can be re-embedded into leaf node w . Therefore, the dilation of an edge which links the parent node of v and w is 2, and the dilation of edges which link w and two sons of v is 2. The congestion of edge (v , w ) is 3 (see Fig. 8(a)). Case 2. Two faulty nodes u and v are adjacent in LTQ n . Without loss of generality, we may assume that u is in level i and v is in level j, where i = j − 1. We further consider the following five subcases. Case 2.1. Faulty nodes u and v are r1 and r2′ , respectively. Let v be re-embedded into its left child r1′ . The other faulty node u has to be reconfigured and re-embedded into a leaf node of CBT n . Since faulty node u of CBT n has an edge to link it with a certain leaf node, w , according to Lemma 9, faulty node u can be re-embedded into leaf node w . Therefore, the dilation of an edge which links right child of v and r1′ is 2, and the leaf node w links two sons of u using one edge whose dilation is 3 and the other edge whose dilation is 2. The congestion of edge (u, w ) is 3 (see Fig. 8(b)). Case 2.2. Faulty nodes u and v are r1 and r2 , respectively. Let u be re-embedded into its left child r2′ , and r2′ be re-embedded into its left child r1′ . The other faulty node v has to be reconfigured and re-embedded into a leaf node of CBT n . Similarly, according to Lemma 9, faulty node v can be re-embedded into a certain leaf node w. Therefore, the dilation of an edge which link r2′ and v is 2, the dilation of an edge which links right child of r2′ and r1′ is 2, and the dilation of edges which link w and two sons of v is 2. The congestion of edge (v , w ) is 3 (see Fig. 8(c)). Case 2.3. Faulty nodes u and v are r2′ and r1′ , respectively. Since faulty node v is r1′ , it need not to be re-embedded. The other faulty node u has to be reconfigured and re-embedded into a leaf node of CBT n . Similarly, according to Lemma 9, faulty node u can be reembedded into a certain leaf node w . Therefore, the dilation of an edge which links the child node of v and u is 2, and the leaf node w links two sons of u using one edge whose dilation is 3 and the other edge whose dilation is 2. The congestion of edge (u, w ) is 3 (see Fig. 8(d)). Case 2.4. Faulty nodes u and v are r1′ and s1 , respectively. Since faulty node u is r1′ , it need not to be re-embedded. The other faulty node v has to be reconfigured and re-embedded into a leaf node of CBT n . Similarly, faulty node v can be re-embedded into a certain leaf node w . Therefore, the leaf node w links two sons of v is 2. The congestion of edge (v , w ) is 3 (see Fig. 8(e)).
Case 2.5. Faulty nodes u and v belong to all other cases. Faulty node u can be reconfigured as described in Theorem 8. The other faulty node v has to be reconfigured and re-embedded into a leaf node of CBT n . Similarly, faulty node v can be re-embedded into a certain leaf node w . Therefore, the leaf node w links two sons of v is 2. The congestion of edge (v , w ) is 3 (see Fig. 8(f)). When the number of faulty nodes is more than two in LTQ n , the following constraints will be imposed on the number and type of faulty nodes. Constraints: (1) When an internal node of the double-rooted complete binary tree in a hypercube is faulty, at least one child node has to be nonfaulty. (2) At least one of the leaf nodes, which has edges to link the faulty node and its children nodes, has to be nonfaulty. Theorem 11. With the above constraints, CBT n can be reconfigured dynamically and embedded into LTQ n with dilation 3 and congestion 3. Proof. Similarly, we can construct CBT n on LTQ n (see Fig. 5(b)). According to Lemma 9, each internal node is linked to a certain leaf node of CBT n via an edge. Without loss of generality, we may assume that there exists a node a is faulty in LTQ n . Let b and c be left child and right child of a. By Constraint (1), we may assume that b is nonfaulty. The node r is the parent node of a. There are three cases that need to be discussed separately. Case 1. The leaf node wa which has an edge to link the faulty node a is nonfaulty. In this case, the faulty node a can be reconfigured and re-embedded into the leaf node wa . Therefore, the dilation of both edge (wa , b) and edge (r, wa ) are 2, and the congestion of edge (wa , a) is 3 (see Fig. 9(a)). Case 2. The leaf node wa is faulty and the leaf node wb which has an edge to link the nonfaulty node b is nonfaulty. In this case, the faulty nodes a can be reconfigured and re-embedded into the nonfaulty child b, and the nonfaulty node b can be reconfigured and re-embedded into the leaf node wb . Therefore, the dilation of both edge (wb , d) and edge (r, b) are 2, where the nodes d is a child of nodes b and it is nonfaulty. The congestion of edge (b, a) and edge (wb , b) are 2 and 3, respectively (see Fig. 9(b)). Case 3. The leaf nodes wa and wb are faulty. By Constraint (2), the leaf node wc which has an edge to link the faulty node c should be nonfaulty. We further consider the following four subcases. Case 3.1. The node c is nonfaulty. The faulty nodes a can be reconfigured and re-embedded into the node c, and the node c can
Z. Liu et al. / J. Parallel Distrib. Comput. 101 (2017) 69–78
be reconfigured and re-embedded into the leaf node wc . Therefore, the dilation of both edge (r, c) and edge (c, b) are 2. The congestion of edge (c, a) and edge (wc , c) are 2 and 3, respectively (see Fig. 9(c)). Case 3.2. The node c is faulty and the leaf node wd which has an edge to link the nonfaulty node d is nonfaulty, where the node d is left child of b and it is nonfaulty. Similar to Case 2, the faulty node a and c can be reconfigured and re-embedded into the nonfaulty node b and the leaf node wc , respectively. The node b can be reconfigured and re-embedded into the nonfaulty node d, and the node d can be reconfigured and re-embedded into the leaf node wd . Therefore, the dilation of edges (r, b), (wd , g) and (wc , f ) are 2, and the dilation of edge (b, f ) is 3. The congestion of both edge (b, a) and edge (d, b) are 2, and the congestion of both edge (wd , d) and edge (wc , c) are 3 (see Fig. 9(d)). Case 3.3. The node c and leaf node wd are faulty, and the node e is nonfaulty, where the node e is right child of b. Similar to Case 3.2, the faulty node a and c can be reconfigured and re-embedded into the nonfaulty node b and the leaf node wc , respectively. The node b can be reconfigured and re-embedded into the nonfaulty node e. Therefore, the dilation of edges (r, b), (e, d) and (wc , f ) are 2, and the dilation of edge (b, f ) is 3. The congestion of both edge (b, a) and edge (e, b) are 2, and the congestion of edge (wc , c) is 3 (see Fig. 9(e)). Case 3.4. The node c, leaf node wd and the node e are faulty. By Constraint (2), the leaf node we which has an edge to link the faulty node e should be nonfaulty. Similar to Case 3.2, the faulty node a and c can be reconfigured and re-embedded into the nonfaulty node b and the leaf node wc , respectively. The node b can be reconfigured and re-embedded into the leaf node we . Therefore, the dilation of edges (r, b), (b, we ) and (wc , f ) are 2, and the dilation of both edge (b, f ) and edge (we , d) are 3. The congestion of both edge (b, a) and edge (b, e) are 2, and the congestion of edges (b, f ), (we , d) and (wc , c) are all 3 (see Fig. 9(f)). Hence, all faulty nodes of CBT n can be reconfigured with a dilation of at most 3 and a congestion of at most 3. According to the definition of the constraints, the number of internal nodes which are faulty is at most 1 (in level 1) + 20 (in level 2) + 21 (in level 3) + · · · + 2(n−3) (in level n − 1) + 1 (the node r1′ ) = 2(n−2) + 1. Hence, at least 2(n−2) + 1 leaf nodes for reconfiguring are nonfaulty. At most 2(n−1) nodes in CBT n are faulty. 5. The reconfiguration algorithm for embedded CBT n into faulty LTQ n In this section, three dynamic algorithms for reconfiguring the complete binary trees in faulty locally twisted cubes are presented first, then we analyze the time complexity of these algorithms. In these algorithms, we use functions LeftChild(x) and RightChild(x) to denote the left child node and the right child node of node x, respectively. Function Parent (x) can be used to denote the parent node of node x. We use functions LeftSubtree(x) and RightSubtree(x) to denote the left subtree and the right subtree of the tree rooted at x, respectively. If x is a leaf node of the tree T , the function IsLeafNode(T , x) will return true and false otherwise, and if x is a internal node of the tree T , the function IsInternalNode(T , x) will return true and false otherwise. We use x ← y to denote that the node x can be reconfigured and re-embedded into the node y. 5.1. Algorithm DRCBT1 Based on Theorem 8, we provide the algorithm DRCBT1. When an arbitrary faulty node occurs in LTQ n , the algorithm DRCBT1 returns a CBT n which has been reconfigured dynamically. It seems better to describe briefly the outline of the proposed algorithm.
75
Algorithm 1 DRCBT1 (CBTn , x) Input: a CBTn on LTQn and a faulty node x in LTQn Output: a new CBTn which have been reconfigured dynamically 1: Start 2: if x = R(CBTn ) then 3: R(CBTn ) ← LeftChild(R(CBTn )) 4: LeftChild(R(CBTn )) ← E (CBTn ) 5: else if x ∈ LeftSubtree(R(CBTn )) then 6: if x = R(LeftSubtree(R(CBTn ))) then 7: R(LeftSubtree(R(CBTn ))) ← E (CBTn ) 8: else if x = E (CBTn ) then 9: x need not to be re-embedded 10: else if IsLeafNode(LeftSubtree(R(CBTn )), x) or 11: IsInternalNode(LeftSubtree(R(CBTn )), x) then 12: while x! = E (CBTn ) and x! = LeftChild(R(CBTn )) do 13: x ← Parent (x) 14: x = Parent (x) 15: end while 16: if x = LeftChild(R(CBTn )) then 17: x ← E (CBTn ) 18: end if 19: end if 20: else if x ∈ RightSubtree(R(CBTn )) then 21: if x = R(RightSubtree(R(CBTn ))) then 22: R(RightSubtree(R(CBTn ))) ← R(CBTn ) 23: R(CBTn ) ← R(LeftSubtree(R(CBTn ))) 24: R(LeftSubtree(R(CBTn ))) ← E (CBTn ) 25: else if IsLeafNode(RightSubtree(R(CBTn )), x) or 26: IsInternalNode(RightSubtree(R(CBTn )), x) then 27: while x! = R(CBTn ) do 28: x ← Parent (x) 29: x = Parent (x) 30: end while 31: R(CBTn ) ← R(LeftSubtree(R(CBTn ))) 32: R(LeftSubtree(R(CBTn ))) ← E (CBTn ) 33: end if 34: end if 35: End 5.2. Algorithm DRCBT2 Based on Theorem 10, we provide the algorithm DRCBT2. When two arbitrary faulty nodes occur in LTQ n , the algorithm DRCBT2 returns a CBT n which has been reconfigured dynamically. Specifically, the algorithm DRCBT2 can be described as follows. Algorithm 2 DRCBT2 (CBTn , x, y) Input: a CBTn on LTQn and two faulty nodes x,y in LTQn Output: a new CBTn which have been reconfigured dynamically 1: Start 2: let wx be the leaf node which has an edge to link x 3: let wy be the leaf node which has an edge to link y 4: if x and y are not adjacent then 5: DRCBT 1(x) 6: if IsLeafNode(CBTn , y) then 7: y need not to be re-embedded 8: else if IsInternalNode(CBTn , y) then 9: y ← wy 10: end if 11: else if x and y are adjacent then 12: if x = R(CBTn ) and y = LeftChild(R(CBTn )) then 13: x ← wx 14: y ← E (CBTn ) 15: else if x = R(CBTn ) and y = RightChild(R(CBTn )) then
76
Z. Liu et al. / J. Parallel Distrib. Comput. 101 (2017) 69–78
Fig. 9. Illustration for proof of Theorem 11. 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
y ← wy x ← LeftChild(R(CBTn )) LeftChild(R(CBTn )) ← E (CBTn ) else if x = LeftChild(R(CBTn )) and y = E (CBTn ) then x ← wx else if x = E (CBTn )and y = LeftChild(x) then y ← wy else DRCBT 1(x) y ← wy end if end if End
14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
5.3. Algorithm DRCBTX Based on Theorem 11, we provide a distribution algorithm DRCBTX. Given an arbitrary faulty node in LTQ n , the algorithm DRCBTX returns a CBT n which has been reconfigured dynamically under constraints. Specifically, the algorithm DRCBTX can be described as follows.
28: 29: 30: 31: 32: 33: 34: 35:
x←z z ← wz else let u be left child of y and it is nonfaulty let v be right child of y let wu be the leaf node which has an edge to link u let wv be the leaf node which has an edge to link v z ← wz x←y if wu is nonfaulty then y←u u ← wu else if v is nonfaulty then y←v else y ← wv end if end if end if end if End
Algorithm 3 DRCBTX (CBTn , x) Input: a CBTn on LTQn and a faulty node x in LTQn Output: a new CBTn which have been reconfigured dynamically 1: Start 2: let wx be the leaf node which has an edge to link x 3: let y be left child of x and it is nonfaulty 4: let z be right child of x 5: let wy be the leaf node which has an edge to link y 6: let wz be the leaf node which has an edge to link z 7: if wx is nonfaulty then 8: x ← wx 9: else if wy is nonfaulty then 10: x←y 11: y ← wy 12: else if wz is nonfaulty then 13: if z is nonfaulty; then
5.4. Time complexity Based on algorithm DRCBT1, in the following, we analyze the time complexity of algorithm DRCBT1. Theorem 12. Algorithm DRCBT1 reconfigures CBT n on LTQ n in O(log N ) time, where N = 2n is the number of vertices in LTQ n . Proof. Let f (N ) denote the running time of algorithm DRCBT1. Algorithm DRCBT1 includes altogether three kinds of operations: If condition decision, Re-embedded ← and While loop, whose time complexities are analyzed as follows: 1. All If condition decision operations take time no more than O(1). 2. All Re-embedded operations take time no more than O(1).
Z. Liu et al. / J. Parallel Distrib. Comput. 101 (2017) 69–78
3. Line 12–15 in algorithm DRCBT1: Let h be the height of CBT n . Then h = ⌊log N ⌋ − 1 and While loop executed at most h − 1, where N = 2n is the number of vertices in LTQ n . Hence, these operations will take at most O(log N ) time. 4. Line 27–30 in algorithm DRCBT1: While loop executed at most h − 1 = ⌊log N ⌋ + 1. Hence, these operations will take at most O(log N ) time. By the above discussion, we can prove that f (N ) = O(log N ), where N = 2n is the number of vertices in LTQ n . Similarly, since algorithm DRCBT1 is called by algorithm DRCBT2, we easily obtain the time complexity of algorithm DRCBT2. Theorem 13. Algorithm DRCBT2 reconfigures CBT n on LTQ n in O(log N ) time, where N = 2n is the number of vertices in LTQ n . For each faulty node in LTQ n , we can call distribution algorithm DRCBTX to reconfigure CBT n . Based on algorithm DRCBTX, we easily calculate the time complexity of algorithm DRCBTX. Theorem 14. Algorithm DRCBTX reconfigures CBT n on LTQ n in O(1) time. 6. Conclusions This paper has proven that CBT n rooted at an arbitrary vertex of LTQ n can be embedded with dilation 2 and congestion 1 into LTQ n . Furthermore, we have presented three effective algorithms for reconfiguring dynamically complete binary trees in locally twisted cubes. Let F be any faulty set of LTQ n . It is proved that if |F | = 1, both the dilation and congestion will become 2 after reconfiguring CBT n , while if |F | = 2, both the dilation and congestion will become 3 after reconfiguring CBT n . When 2 < |F | ≤ 2n−1 , both the dilation and congestion will become 3 after reconfiguring CBT n under certain constraints. To the best of our knowledge, this is the first result focusing on this issue in locally twisted cubes. Acknowledgments This work is supported by National Natural Science Foundation of China (No. 61572337 and No. 61502328), Collaborative Innovation Center of Novel Software Technology and Industrialization, Natural Science Foundation of the Jiangsu Higher Education Institutions of China (No. 14KJB520034), the Jiangsu Planned Projects for Postdoctoral Research Funds (No. 1501089B), and China Postdoctoral Science Foundation Funded Project (No. 2015M581858). References [1] L. Auletta, A.A. Rescigno, V. Scarano, Embedding graphs onto the supercube, IEEE Trans. Comput. 44 (4) (1995) 593–597. [2] V. Chaudhary, J.K. Aggarwal, Generalized mapping of parallel algorithms onto parallel architectures, in: Proc. Intl Conf. Parallel Processing, Aug. 1990, pp. 137–141. [3] C. Chen, Dynamic reconfiguration of complete binary trees in faulty hypercubes, J. Inf. Sci. Eng. 21 (2005) 195–207. [4] B. Cheng, J. Fan, X. Jia, J. Wang, Dimension-adjacent trees and parallel construction of independent spanning trees on crossed cubes, J. Parallel Distrib. Comput. 73 (5) (2013) 641–652. [5] S.-A. Choudum, R. Usha nandini, Complete binary trees in folded and enhanced cube, Networks 43 (4) (2004) 266–272. [6] P. Cull, S.M. Larson, The möbius cubes, IEEE Trans. Comput. 44 (5) (1995) 647–659. [7] K. Efe, A variation on the hypercube with lower diameter, IEEE Trans. Comput. 40 (11) (1991) 1312–1316. [8] J. Fan, X. Jia, Embedding meshes into crossed cubes, Inform. Sci. 177 (15) (2007) 3151–3160. [9] J. Fan, X. Lin, Y. Pan, X. Jia, Optimal fault-tolerant embedding of paths in twisted cubes, J. Parallel Distrib. Comput. 67 (2) (2007) 205–214. [10] W.-C. Fang, C.-C. Hsu, C.-M. Wang, On the Fault-Tolerant embeddings of complete binary trees in the mesh interconnection networks, Inform. Sci. 151 (2003) 51–70.
77
[11] A.-K. Gupta, S.-E. Hambrusch, Embedding complete binary trees into butterfly networks, IEEE Trans. Comput. 40 (7) (1991) 853–863. [12] Y. Han, J. Fan, S. Zhang, J. Yang, P. Qian, Embedding meshes into locally twisted cubes, Inform. Sci. 180 (2010) 3794–3805. [13] J. Hastad, T. Leighton, M. Newman, Reconfiguring a hypercube in the presence of faults, in: Proc. 19th Annual ACM Symposium Theory of Computing, vol. 21, 1987, pp. 274–284. [14] V. Heun, E.W. Mayr, Optimal dynamic embeddings of complete binary trees into hypercubes, J. Parallel Distrib. Comput. 61 (8) (2001) 1110–1125. [15] P.A.J. Hilbers, M.R.J. Koopman, J.L.A. Van de Snepscheut, The twisted cube, in: J. deBakker, A. Numan, P. Trelearen (Eds.), PARLE: Parallel Architectures and Languages Europe, in: Parallel Architectures, vol. 1, Springer-Verlag, Berlin, 1987, pp. 152–158. [16] S.-Y. Hsieh, H.-W. Huang, C.-W. Lee, {2,3}-Restricted connectivity of locally twisted cubes, Theoret. Comput. Sci. 615 (2016) 78–90. [17] S.-Y. Hsieh, C.-J. Tu, Constructing edge-disjoint spanning trees in locally twisted cubes, Theoret. Comput. Sci. 410 (8–10) (2009) 926–932. [18] S.-Y. Hsieh, C.-Y. Wu, Edge-Fault-Tolerant hamiltonicity of locally twisted cubes under conditional edge faults, J. Comb. Optim. 19 (1) (2010) 16–30. [19] C.-C. Hsu, All-Fault-Tolerant embedding of a complete binary tree in a group of cayley graphs, IEE Proc.-Comput. Digit. Technol. 143 (2) (1996) 156–160. [20] H.-C. Hsu, T.-K. Li, J.J.M. Tan, L.-H. Hsu, Fault Hamiltonicity and fault Hamiltonian connectivity of the arrangement graphs, IEEE Trans. Comput. 53 (1) (2004) 39–53. [21] N. Krishnakumar, V. Hegde, S.S. Iyengar, Fault Tolerant based Embeddings of Quadtrees into Hypercubes, in: Proc. Intl Conf. Parallel Processing, vol 21, 1991, pp. 244–249. [22] P. Kulasinghe, S. Bettayeb, Embedding binary trees into crossed cubes, IEEE Trans. Comput. 44 (7) (1995) 923–929. [23] M. Kumamoto, E. Miyano, Optimal distortion embedding of complete binary trees into lines, Inform. Process. Lett. 112 (10) (2012) 365–370. [24] C.-N. Kuo, H.-H. Chou, N.-W. Chang, S.-Y. Hsieh, Fault-Tolerant path embedding in folded hypercubes with both node and edge faults, Theoret. Comput. Sci. 475 (2013) 82–91. [25] C.-J. Lai, J.-C. Chen, C.-H. Tsai, A systematic approach for embedding of Hamiltonian cycles through a prescribed edge in locally twisted cubes, Inform. Sci. 289 (2014) 1–7. [26] J.-C. Lin, Load-balance and fault-tolerance for embedding a complete binary tree in an IEH with N-expansion, WSEAS Trans. Comput. 7 (7) (2008) 919–928. [27] Y.-B. Lin, Z. Miller, M. Perkel, D. Pritikin, I.H. Sudborough, Expansion of layouts of complete binary trees into grids, Discrete Appl. Math. 131 (3) (2003) 611–642. [28] Z. Liu, J. Fan, X. Jia, Embedding complete binary trees into parity cubes, J. Supercomput. 71 (1) (2015) 1–27. [29] Z. Liu, J. Fan, X. Jia, Complete binary trees embeddings in möbius cubes, J. Comput. System Sci. 82 (2) (2016) 260–281. [30] Z. Liu, J. Fan, C.-K. Lin, B. Cheng, J. Zhou, Dynamic reconfiguration of complete binary trees in faulty locally twisted cubes, in: Proc. Intl Conf. Mobile Ad-hoc and Sensor Networks, Dec. 2015, pp. 243–249. [31] L. Nebesky, On cubes and dichotomic trees, Cas. Pest. Mat. 99 (2) (1974) 164–167. [32] A. Patel, A. Kusalik, C. McCrosky, Area-efficient VLSI layouts for binary hypercubes, IEEE Trans. Comput. 49 (2) (2000) 160–169. [33] Y.-C. Tseng, Y.-S. Chen, T.-Y. Juang, C.-J. Chang, Congestion-Free, dilation-2 embedding of complete binary trees into star graphs, Networks 33 (3) (1999) 221–231. [34] D. Wang, Embedding Hamiltonian cycles into folded hypercubes with faulty links, J. Parallel Distrib. Comput. 61 (4) (2001) 545–564. [35] D. Wang, L. Zhao, The twisted-cube connected networks, J. Comput. Sci. Technol. 14 (2) (1999) 181–187. [36] X. Xu, Y. Huang, P. Zhang, S. Zhang, Fault-Tolerant Vertex-Pancyclicity of locally twisted cubes ltqn , J. Parallel Distrib. Comput. 88 (2016) 57–62. [37] X. Yang, D.J. Evans, G.M. Megson, The locally twisted cubes, Int. J. Comput. Math. 82 (4) (2005) 401–413. [38] M.-C. Yang, J.J.M. Tan, L.-H. Hsu, Highly Fault-Tolerant cycle embeddings of hypercubes, J. Syst. Archit. 53 (2007) 227–232. [39] J. Zhang, X. Yang, X. Li, Wavelength assignment for locally twisted cube communication pattern on optical bus network-on-chip, Opt. Fiber Technol. 20 (3) (2014) 228–234.
Zhao Liu received the B.S. and M.S. degrees from Zhengzhou University of Light Industry and Soochow University in 2003 and 2006, respectively. He is currently a Ph.D. candidate in computer science at Soochow University. His research interests include parallel and distributed systems, algorithms, and interconnection architectures.
78
Z. Liu et al. / J. Parallel Distrib. Comput. 101 (2017) 69–78
Jianxi Fan received the B.S., M.S., and Ph.D. degrees in computer science from Shandong Normal University, Shandong University, and City University of Hong Kong, China, in 1988, 1991, and 2006, respectively. He is currently a professor of computer science in the School of Computer Science and Technology at Soochow University, China. He visited as a research fellow the Department of Computer Science at City University of Hong Kong, Hong Kong (October 2006–March 2007, June 2009–August 2009, June 2011–August 2011). His research interests include parallel and distributed systems, interconnection architectures, design and analysis of algorithms, and graph theory.
Jingya Zhou is currently a lecturer in the school of computer science and technology at Soochow University. He received the B.S. degree in computer science from Anhui Normal University in 2005, and the Ph.D. degree in computer science from Southeast University in 2013. His research interests include parallel and distributed systems, cloud computing and online social networks.
Baolei Cheng received the B.S., M.S., and Ph.D. degrees in computer science from Soochow University in 2001, 2004, and 2014, respectively. He is currently an Associate Professor of Computer Science with the School of Computer Science and Technology at Soochow University, China. His research interests include parallel and distributed systems, algorithms, interconnection architectures, and software testing.
Xiaohua Jia received his B.Sc. (1984) and M.Eng. (1987) from University of Science and Technology of China, and his D.Sc. (1991) in information science from University of Tokyo. He is currently the Chair Professor with the Department of Computer Science at the City University of Hong Kong. His research interests include cloud computing and distributed systems, computer networks, wireless sensor networks and mobile wireless networks. Prof. Jia is an editor of IEEE Trans. on Parallel and Distributed Systems (2006–2009), Wireless Networks, Journal of World Wide Web, Journal of Combinatorial Optimization, etc. He is the General Chair of ACM MobiHoc 2008, TPC Co-Chair of IEEE MASS 2009, Area-Chair of IEEE INFOCOM 2010, TPC Co-Chair of IEEE GlobeCom 2010—Ad Hoc and Sensor Networking Symp, and Panel Co-Chair of IEEE INFOCOM 2011. He is fellow of IEEE (Computer Society).