virtual path layout design via network clustering - CiteSeerX

5 downloads 0 Views 79KB Size Report
the maximum difference among cluster size. In the second algorithm clusterization relies on cluster ray, which is the maximum depth of a spanning tree of the ...
VIRTUAL PATH LAYOUT DESIGN VIA NETWORK CLUSTERING MASSIMO ANCONA1 WALTER CAZZOLA2 PAOLO RAFFO3 IOAN BOGDAN VASIAN4

Area of interest: Telecommunication Networks Management

Abstract In this paper two algorithms for graph clustering and preliminary results are presented. The main goal of these algorithms is to design an optimal virtual path layout for a given physical network. The paper outlines the preliminary results of a research project called “Communication Network Optimization (CNO)” developed in collaboration among Marconi Communications S.p.A., DCI of Romania and DISI of Genova (Italy). In particular, two algorithms are presented and the relative merits by means of preliminary experimental results are discussed. Both algorithms rely upon the representation of the network by a spanning tree of minimum width; in the first one the number of graph centers is found “a priori” and their positions are computed before finding the set of nodes of each cluster. The second one uses a top-down approach which computes the center of the graph, creates the relative cluster, and iterates the last step by spreading towards the leaves of the graph. Both algorithms are sufficiently fast to be used in an interactive program.

1. 2. 3. 4.

Department of Computer Science, University of Genoa Department of Computer Science, University of Genoa Department of Computer Science, University of Genoa Ministry of Defense, Romania

[email protected] [email protected] [email protected] [email protected]

1. Introduction This research is developed within a project relative to network optimization, involving the collaboration of Marconi Comms (Italy), the Department of Communication and Informatica of Romania, and the Department of Computer Science of the University of Genova (Italy). The concept of Virtual Path (VP) gained considerable attention with the advent of optical fiber and the effective deployment of ATM networks, which are thoroughly described in literature [2]. A virtual path connection is defined as a path between two nodes of the network termed virtual path terminators, with reserved capacity and a pre-arranged physical route through which signals are transmitted. Given a physical network, a logical network is a network whose nodes are VP terminators and links are VP connections. A network may be viewed as a collection of VP routes called the VP layout. Each connection between two network switches may be viewed as a concatenation of VPs. The number of VPs used by a connection (termed VP hop count) directly affects the efficiency of its configuration, because signals are needed to be processed only into VP terminators, while processing costs at transit nodes can be neglected. Hence, it is convenient to keep the number of VP hops as low as possible. The VP topology design can be performed in two steps: first, an adequate set of VP terminators is determined, then a set of physical routes for each pair of them and relative capacity is determined. In the second step, the best route between the terminators of each VP is selected for obtaining an optimal topology. 2. Network clustering In order to manage the complexity of large networks an abstract graph is often constructed, where each node represents a sub-graph of the original graph and edges represent relationship among these sets of nodes. There are no universally accepted criteria to define what is a cluster, but only some intuitive understandings: the intuitive idea behind clustering consists of “condensing” a subgraph into a single node, where the choice of the cluster is application dependent. In the proposed algorithms two graph clustering technique, based upon the spatial distance between a vertex and the actual center of the cluster are employed. In the first algorithm the key factor to characterize a good global clusterization is

the maximum difference among cluster size. In the second algorithm clusterization relies on cluster ray, which is the maximum depth of a spanning tree of the cluster. 3. Problem formulation The considered problem consists in finding a set of paths, called the Virtual Path Layout, in a network, so that each pair of nodes may connect with a route using a small number of virtual paths and traversing a small number of network links (VPPLm − m ) . The problem is proved to be NP-complete [3], so our efforts are focused on a simpler problem consisting in connecting all nodes with a single switch (VPPL1− m ) . A communication network, consisting of switching and capacitated links is modeled by a connected undirected weighted graph G = (V , E , c) is given, where: • V is the set of vertices, • E is the set of edges (e ∈ E ≡ (u, v) ∈ V × V ) , • c : E → N associates a capacity to each edge of G Definition 1 Let ℘(G ) the set of all paths in G . A virtual path layout is a couple (G ’, I ), where G ’= (V , E ’) , with E ’= E  {(u, v) : (u, v) ∉ E}, is a virtual graph and I : E ’→ ℘(G ’) is a function mapping a virtual edge to its corresponding route in G . The definition is extended to paths p ∈ ℘(G ’) , p = ( p1 , p2 ,..., pn ), pi ∈ E ’, ∀i = 1,..., n : I ( p ) =  ni=1 I ( pi ) obtained by concatenating the induced paths I ( pi ) . Definition 2. Let µ ∈ ℜ be a real number called the stretch factor. The hop count H : V ×V → ℜ for a pair of vertices (u, v) is the minimum k such that: • ∃ p = ( p1 , p 2 ,..., p n ) ∈℘(G ’), s.t. pi ∈ E , ∀i = 1,..., n • ∃x, y ∈ V , s.t. p1 = (u, x), p n = ( y, v), and • I ( p) is at most µ times longer than the shortest path between u and v in G. If no such path p exists, define H (u, v) = ∞ In order to solve this problem several sub-problems have to be resolved. A short introduction is given; for a deep understanding references can be consulted: • Graph clusterization [5]: find a proper partitioning of the set of vertices V in n

subsets V1 ,...,Vn , called clusters of G, such that

V

ki

= V , Vk  V j = ∅ for i ≠ j .

ki =1

d : ℘(G ) xVxV → N

d ( P, u , v ) =

{xi ∈ V : P = (u, xi ,, xn ), xn

is a distance function between two vertices.

= v}

(1)

The minimum diameter spanning tree for a graph G [6]: is a spanning tree T such that the maximum path length between each pair of vertices in T is minimal. Definition A diameter D of a connected graph G is the maximum length of the shortest paths connecting two arbitrary vertices u, v ∈ V . • Finding a set of medians of a graph G [1]: Definition a median of a graph is a vertex such that the sum of its distances from all other vertices is minimized; a K -set of medians W , is a set of K vertices of G such that the sum of distances between all other vertices and W is the minimum among all the possible sets of K vertices of G .

4. Description of the algorithms I.

Median-based algorithm

The algorithm described below is semi-interactive, because the user can decide if provided results are satisfactory and if necessary can modify the input values. Given a graph G, the algorithm constructs a clusterization based upon medians of G and the distance (1) between all vertices to the set of medians. A clusterization is satisfactory if the difference between the size of the larger and the smaller cluster is minimal. First the spanning tree of G of minimum diameter, rooted at the center of the graph, is created; then the requested number of medians are located in the graph. Each vertex is then assigned to the closer median; if a vertex can be assigned to two or more medians, it is labeled as ambiguous and not assigned during this step; the ambiguous vertices are then assigned to the smaller cluster among the candidates found in the previous step. Then the center of each cluster is connected with the center of the graph with a virtual edge; if the number of hops from a vertex to the center is greater than the input value, the vertex is connected to an upper level vertex in its cluster via a virtual edge. INPUT:

OUTPUT:

G: The graph h: Maximum number of hops to join each vertex with the center L: Maximum physical length of a virtual edge G’ ⊇ G The logical graph

Find the minimum diameter spanning tree T of G; Center of the graph C := Root of T; Compute the requested number of medians; STEP 1: Clusterize the graph; STEP 2: Assign ambiguous vertexs to one cluster; If clusterization is not good enough Select case: Change number of medians; Insert manually new medians; Change number of medians and insert them manually; GOTO STEP 1;

STEP 3: STEP 4:

II.

Recompute the center of clusters whose sizes is changed during STEP 2; Connect medians in pairs and medians with C; for each vertex v if hops number(v) > h connect v to an upper level vertex inside its cluster

Top-down algorithm

The following algorithm provides a clusterization based upon the ray of clusters, which is the maximum distance (1) from each vertex to the center of its cluster. A value is given to fix a lower bound to cluster sizes. The algorithm iterates from the center towards the leaves of G selecting vertices whose distance from the starting point is under a fixed threshold. First a minimum spanning tree T of G is created and its center is found. During the first iteration the distance threshold is equal to the ray input value; in the successive iterations the threshold is doubled because the starting vertices are expected to become leaves of their clusters. If a vertex can be assigned to two or more clusters, it is labeled as ambiguous and assigned later to the cluster, among the candidates, whose size is the smallest. If a cluster size is too small, the cluster is deleted and vertices assigned to nearest clusters, then the center of each cluster is found. When every vertex of G is assigned, the center of each cluster is connected with the center of the graph with a virtual edge; if the ray of a cluster is greater than the input value, vertices violating the constraint are connected with a upper level vertex in its cluster via a virtual edge. INPUT:

OUTPUT:

G: The graph R: Ray of each cluster D: Minimum size of a cluster G’ ⊇ G The logical graph

Find a minimum spanning tree T of G; ray := R; Center of the graph: C := Root of T; STEP 1: For each vertex v not yet assigned If distance(v, C) R then optimize connections inside K

5. Examples In Figures 1, 2, 3 are reported: • A realistic network of 81 vertices and 93 edges (Figure 1); • Clusters and virtual paths computed by the median-based algorithm, with h = 5, L = 4, µ = 1 (Figure 2); • Clusters and virtual paths computed by the top-down algorithm, with R = 2, D = 5, h = 5, L = 4, µ = 1 (Figure 3). In figures 2 and 3 the centers of clusters are represented by triangles while the center of the network is drawn as a rhombus. There are three types of edges in figures 2 and 3: • logical edges corresponding to physical edges in the original network are represented with a double line; • logical edges not existing in the original network are represented by a dotted line; • edges of the original network not employed for logical connections are represented by a bold line. The presence of these latter edges in the logical network represents a first step in connection redundancy: they can be utilized to create an alternative path in case of some links failure. Until now few experiments have been performed, even if tenths of realistic and relatively large networks have been successfully processed with execution times adequate for practical use. For example, in the network of Figure 2 the execution times on a Pentium 100 are 3s and on a Pentium III 667 are 2s, while the computation times with Figure 3 (topdown algorithm) are 2s and 1.5s respectively. Such execution times make the methods usable also within an interactive tool whose development is planned for the next year. Clusters computed by the first algorithm are often well formed and balanced, but their number has to be pre-determined by the user (4 in Figure 2). The second algorithm automatically determines the number of clusters (8 in Figure 3), but their relative sizes could be unbalanced, depending on the cluster ray value selected. In the computed logical graph some vertices could be penalized in their communication path because the path connecting two vertices belonging to different clusters is forced to pass through the cluster centers, while a direct connection in most cases could be more effective, this drawback can be overcome with some post processing of the algorithm.

6. Conclusions and future works Preliminary results of a research project dedicated to virtual path optimization has been presented. Two algorithms have been designed and relative merits discussed. A third approach derived from [3,4] which is under development, seems to provide new interesting results. The methods build a static layout of VP for a network, in such a way that there is an efficient route, with low VP hop count, between any pair of switches. The algorithm iterates several steps in which the original problem is partitioned into a chain of sub-problems. The first step consists in finding the optimal (VPPL1− m ) for a network tree with m vertices, under a load constraint on vertices and with the lowest hop count number as possible. A greedy iterative algorithm is proposed. The solution of this problem is the starting point for the successive step: the search for an optimal (VPPLm − m ) for a network tree with m vertices under the same constraints of the first step. 7. Bibliography [1] J. Cheriyan, R. Ravi, Approximation algorithms for network problems, Sep. 1998. [2] M. De Pricker, Asynchronous Transfer Mode, Solutions for Broadband ISDN, Prentice Hall, Aug. 1995, 3rd edition. [3] O. Gerstel, I. Cidon, S. Zaks, Optimal Virtual Path in ATM networks with shared routing table switches, Chicago J. Theoretical Computer Science, Oct. 1996 [4] O. Gerstel, S. Zaks, The Virtual Path layout problem in fast networks, In the 13th ACM Symp. on Principles of Distributed Computing, 235-243, L.A., Aug. 1994 [5] B. Stein, O. Niggemann, On the Nature of Structure and Its Identification, LNCS 1665, 122-134, 1999 [6] S. Tricot, A polinomial time algorithm for the Minimum Diameter Spanning Tree problem, Institute Blaise Pascal, MASI laboratory, Université Paris VI, 1994

28

19

20

8 7

36 13

14

20

66

18

27

35 51 19

28

43 26 5

50

65

73 36

42

58 27

35

51

18

6

12 57 33

43

79

26

34 49

80

50

81

74

66

65

73

8 14

71 64

29 6

78

37

44

7

52

59

58

41 13

55

45

60

21

17

72

25

5

12

63 40

22

30 38

17

48

69 47 54

53

34

42

67

25

Figure 1

Figure 2

56

46 39

31

4

9

33 15 32 23

1

2

75

11 41 16

24

4

49

11

3

62

76

70

10 40

48

32

3 10

16

24

55

57

56

63

47 61

1

23

2

61

68 72

29 9

54

15

76 64

75 31

74

60

V2.1

44 52

59

46

53

45 38 39

67

71

62 V2.1

30

daVinci

22 21

78

37 77

daVinci

68

79

69

70

77

80

81

29

37 44 21

22

52

30

59

45

31

38 46

53

39

67

26 27

74 75 60

6

7

13

61 64 68 14

18

28 72

5

12

8

80

19 56 25

63

20 71

17 79

76

Figure 3

4 70 11

16

32

77

62

78

24 3

81 69 10

1

15

23

47

54

2 9

57 73

65 40

48

55

41

49 58

33 34

42

50

daVinci

V2.1

51 43 35 36

66