行政院國家科學委員會補助專題研究計畫成果報告
※※※※※※※※※※※※※※※※※※※※※※※※※
※ ※
※ 旋轉圖的分散式廣播及尋找平行路徑之研究 ※
※ ※
※※※※※※※※※※※※※※※※※※※※※※※※※
計畫類別:□個別型計畫 □整合型計畫 計畫編號:NSC 89-2213-E-011-153
執行期間:89 年 8 月 1 日至 90 年 7 月 31 日
計畫主持人:徐俊傑 共同主持人:
本成果報告包括以下應繳交之附件:
□赴國外出差或研習心得報告一份
□赴大陸地區出差或研習心得報告一份
□出席國際學術會議心得報告及發表之論文各一份
□國際合作研究計畫國外研究報告書一份
執行單位:國立臺灣科技大學
中 華 民 國 90 年 7 月 31 日
行政院國家科學委員會專題研究計畫成果報告
旋轉圖的分散式廣播及尋找平行路徑之研究 計畫編號:NSC89-2213-E-011-153
執行期限:89 年 8 月 1 日至 90 年 7 月 31 日 主持人:徐俊傑 國立臺灣科技大學資管系
一、中文摘要
本 計 劃 主 要 研 究 的 圖 形 是旋轉 圖,它是一種有方向性的排列圖,也是 Cayley 圖形家族的一員。在此計劃中,我 們將提出二種關於旋轉圖的演算法,其一 是廣播演算法,另一則是尋找節點不重覆 的平行繞徑演算法。在我們提出的廣播演 算法中,所有圖形上的節點都不需要存放 廣域資訊,取而代之的是,每個節點可以 根據自己的區域訊息決定出下一步的廣播 步驟,進而完成所有節點的廣播工作,我 們稱此種廣播方式為「分散式廣播」。在 此廣播演算法中,我們將同時考慮單埠 (one-port) 及 多 埠 (all-port) 的 網 路 傳 播 模 式。另外,我們也將提出在旋轉圖上尋找 節點不重覆的平行繞徑演算法。平行繞徑 的找出有助於資料傳輸的容錯,並且在不 考慮節點故障的情況之下,多條平行路徑 也可以產生傳輸加速的效果。在節點規模 為 n!的旋轉圖中,我們將找出 n-1 條節點 不重覆的平行繞徑,並將保證所有的繞徑 長度不超過 n+1。
關鍵詞:旋轉圖、排列圖、Cayley 圖形、分散式廣
播、節點不重覆的平行繞徑、廣度優先衍生樹、單 埠、多埠、容錯
Abstract
In this project, we develop algorithms for rotator graphs. A rotator graph is a directed permutation graph and it is also a family of Cayley graphs. We are going to provide two kinds of algorithms in this project. One is for broadcasting, and the other is for finding node disjoint parallel paths. In our broadcasting algorithm, nodes in the rotator graphs do not need to know the global information in advance, instead, whenever nodes receive packet in the broadcasting processing, the receiver decide which of the neighbor nodes need to be forwarded only by local information to
complete the broadcasting. We call this kind of broadcasts “distributed broadcasting”.
We consider both one port and all port transmission models in our algorithm. Beside, we also provide an algorithm for finding node disjoint parallel paths in rotator graphs.
Parallel paths are useful for fault tolerant transmission, even if we do not consider the problem of nodes fault, parallel paths are also useful for speeding up transmissions. In a rotator graph with n! nodes, we are going to find n-1 node disjoint parallel paths, we also guarantee that the length of all paths are less than or equal to
n+1.
Keywords: rotator graphs, permutation graphs, Cayley
graphs, distributed broadcasting, node disjoint parallel routing, breadth first spanning tree, one port, all port, fault tolerant
二、緣由與目的
The interconnection networks modeled by Cayley graphs have been proposed as an attractive alternative to the n-cube because this kind of graphs have many superior characteristics such as lower degrees, lower diameters and smaller average distances for similar number of nodes. Star graphs, pancake graphs and rotator graphs are families of Cayley graphs. In recent years, Cayley graphs have been studied as efficient parallel processing by many authors[1-14], however, practical applications have also been studied, for example, fault tolerance[15-19], parallel algorithms[20-23], task allocation[28-30] and embedding[24-27]. Most of these presented papers develop algorithms for star graphs, however, our project develop algorithms for rotator graphs. Since the rotator graphs have some good properties that star graphs do not have, e.g., the rotator graphs have lower diameter than star graphs and the shortest path between two nodes in a rotator graph is unique.
Those properties will be used in our algorithms.
For interconnection networks, communication is always the most important issue, therefore, our project develop a broadcasting algorithm for rotator graphs.
As we know, the breadth first spanning trees are often
useful for broadcasting. However, the storage for the
spanning trees of each nodes are space costing,
moreover, when the size of the network changes, each
nodes have to changes the structure of the spanning
tree accordingly. On the contrary, our broadcasting algorithm does not need the global information such as the spanning tree of the whole interconnection networks, but the node number of the source node is enough to complete the broadcasting.
The second purpose of the project is finding the parallel paths between two nodes. Node disjoint parallel paths are useful for fault tolerance, in addition, they also useful for transmission speed up. In a rotator graph of node size n!, our algorithm can found n-1 node disjoint parallel path between any to distinct nodes, moreover, we will show that the lengths of these paths are less than or equal to n+1.
三、Distr ibuted Br oadcasting and Par allel Routing
A rotator graph G (V, E) has a node set V and an edge set E . Each node in an n- rotator graph has a unique permutation of n distinct symbols. In an n- rotator graph, V = n !. The generation function g
iof R
nis of the form ( s
1s
2.. s
n) →
(i)( s
2s
3.. s
is
1s
i+ 1.. s
n), where 1 < i ≤ n . Nodes adjacent to one node which can be obtained by applying the generator g
i, where 1
< i ≤ n . In the beginning of this section, we introduce a new kind of broadcasting algorithm for rotator graphs called “distributed broadcasting”. Our algorithms consider two broadcasting models, one-port and all-port transmission models. We first introduce to lemma used:
Definition 1. Let
S be a node in an n- rotator graph and S = s
1s
2... s
n. We divide the permutation of node S into two parts; rotating sequence and ascending sequence . The rotating sequence is the series s
1s
2...
s
i, where s
i> s
i+ 1and s
i+ 1< s
i+ 2< ... < s
n. The ascending sequence is the sequence of s
i+ 1s
i+ 2... s
n, where s
j< s
j+ 1for i +1 ≤ j < n .
Lemma 1. The minimum path length from one node
to the identity node is equal to the number of symbols in the rotating sequence of the source node.
Lemma 2. The breadth first spanning tree of a
rotator graph is unique if the root of the breadth first spanning tree is specified.
We denote pos(i) as the position of symbol i of one node’s permutation. If symbol i is the first position of the permutation then pos ( i ) = 1.
Lemma 3. All nodes in level
l of the breadth first spanning tree have the permutation that pos(l+ 1 ) <
pos(l) .
Cor ollar y. If the permutation of node
k have the property that pos(l+ 1 ) < pos(l) and pos(i) < pos(i+ 1 ) where l < i < n , then the shortest distance from identity node to node k is l .
Algor ithm 1. Inputting the permutations of nodes
S and D . This algorithm will output the permutation of
node N where the shortest path routing steps from node S to node D is equal to the shortest path routing steps from node N to the identity node.
Step 1. Input the permutation of node S and node D , where D = s
1s
2s
3… s
nStep 2. Let the permutation of node N = the permutation of node S
Step 3. For i = 1 to n
(1) Let k to be the value of the i th symbol of the permutation of node N.
(2) Change the value of i th symbol of the permutation of node N to value j where s
j= k .
Next i
Applying Algorithm 1 , an algorithm is given to compute the shortest distance from one node to another node in a rotator graph. The algorithm is as below.
Algor ithm 2. Giving the permutations of the source
node and the destination node. This algorithm computes the shortest path length from the source node to the destination node.
Step1 . Input the permutations of the source node and the destination node.
Step2 . We obtain node N by using Algorithm 2-1 . Step3 . The shortest distance from the source node to the destination node is equal to the number of symbols in the rotating sequence of node N.
In our all-port broadcasting algorithm, the breadth first spanning tree is not necessary and the algorithm will be finished in O( n ) time.
Algor ithm 3. All-port model broadcasting algorithm
of a rotator graph.
Step 1. The source node sends messages to all its neighbors.
Step 2. After one node receives the messages, it computes the shortest path length from the source node to itself, say i . It also computes the shortest path length from the source node to each of it’s neighbors, say j . (This step can be executed by using Algorithm 2 ) Step 3. A node sends messages to their neighbors only for j= i +1. If there does not exist such a neighbor, it stops sending messages.
Algor ithm 4. One-port broadcasting algorithm
Step 1. The source node sends messages to its neighbors from the rightmost neighbor to the leftmost neighbor.
Step 2. After one node receives the messages, it
computes the shortest path length from the source
node to itself, say i . It also computes the shortest path
length from the source node to each of it’s neighbors,
say j . (This step can be executed by using Algorithm 2 )
Step 3. A Node sends messages to its neighbors with the value j= i+ 1 from the rightmost to the leftmost neighbor.
Next in this section, we introduce the parallel path routing algorithms. We define α( S ) and β( S ) in the follows: Let S = s
1s
2s
3... s
n, thenα( S ) = s
1s
2s
3... s
iand β( S ) = s
i+ 1s
i+ 2s
i+ 3... s
i+ nwhere s
i+ 1< s
i+ 2< s
i+ 3< … <
s
nand s
i> s
i+ 1. For a node S , let γ( S ) be the last (rightmost) digit of α( S ),
Lemma 4. In an n -rotator graph, suppose node S = s
1s
2s
3... s
n, we define S
(i)= s
2s
3.s
is
1s
i+ 1.. s
n, 2 ≤ i ≤ n . The nodes adjacent to node S are S
(2), S
(3), … , S
(n). Letγ( S ) = k , ifγ( S
(i)) =γ( S
(j)) where i ≠ j , then γ ( S
(i)) is either k or s
1.
Algorithm 4. (Distributed Broadcasting Algorithm) Step 1:The source node S send message to the n -1 nodes adjacent to S , and they are S
(2), S
(3), … , S
(n). Step 2:
a. During the Safe-Routing-Step, all Type I nodes route their message to the nodes S’
1, S’
2, … , S’
k, such that {γ( S’
1), γ( S’
2), … , γ( S’
k)} = Table I + { s
i} b. During the Safe-Routing-Step, all Type II nodes route their message to the nodes S’’
1, S’’
2, … , S’’
m, such that {γ( S’’
1), γ( S’’
2), … , γ( S’’
m)} = Table II + { s
1}
step 3: Each node route to the identity node by using the shortest path routing algorithm.
In the algorithm, step 1 cost one time, step 2 and step 3 cost n times. Therefore, the total time of the algorithm takes n +1 times.
四、結論
As we mentioned, the broadcasting and parallel paths routing are often useful for interconnection networks. Though the time complexity of our one-port model distributed broadcasting is not optimal, our all-port model is proved to be optimal. We list a table for compare the time complexity for our algorithms and presented algorithm:
If we use the recursive broadcasting algorithm presented by [21], and we add the breadth first spanning tree to the algorithm, then the number of steps needed in the recursive broadcasting algorithm will be reduced to n(n- 1 ) /2 for a n -rotator graph. . In fact, many interesting topological properties of rotator graphs are presented. Many new methods for constructing cycles, disjoint paths and embedding rings and meshes on rotator graphs are also presented.
In the thesis, we discuss the broadcasting algorithms on rotator graphs. A good broadcasting algorithm can achieve a better performance under heavy network traffic. Our broadcasting algorithms need minimal propagating steps in all-port model networks. It means the destination nodes can receive the messages as soon as possible. Since both of our one-port and
all-port broadcasting algorithms do not need the global information, in case of the scale of the rotator graphs changed, we do not need to modify our broadcasting algorithms
Steps needed R
nAlgorithms In R
4In R
5In R
6In R
7All-port model broadcasting
3 4 5 6
One-port model broadcasting
6 10 15 21
Recursive
broadcasting 10 15 21 28
Table 1. The comparisons of the number of steps needed among all-port, one-port model and recursive broadcasting
We also show the average number of steps needed in our all-port and one-port model broadcasting in Table 2 .
Average Steps needed R
nAlgorithms In R
4In R
5In R
6In R
7All-port model
broadcasting 2.29 3.28 4.28 5.28
One-port model
broadcasting 3.92 6.6 9.81 13.53
Table 2. Average steps needed for one-port and all-port models.
五、參考文獻