mentor paper

Upload: ed-armenta

Post on 06-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Mentor Paper

    1/11

    IEEE TRANSACTIONS ON COMMUNICATIONS,VOL. 9,NO . 4, APRIL 1991 503

    MENTOR: An Algorithm for Mesh NetworkTopological Optimization and RoutingAaron Kershenbaum, Fellow, EEE, P a r v i z Kermani, Member, IEEE, and George A. Grover

    Abst~ct-We consider the problem of obtaining a minimum costtopology for a mesh network given matrices spe c im the cost of linksbetween dl pairs of nodes and the internode requhments. We presenta heuristic algorithm which WO* in terms of general network designprinciples and usea utilization as a of merit. Thus, the procedureis applicable to a wide variety of networks, especially to the problemof OMaining starling topologies for other network design procedures.The algorithm's computational complexity is shown o be of orderN', asignillcant mprovement overcurrentlyusedalgorithms. Indeed, it is fastenough to be embedded in the inner loop of other more generalM iproecdures, e.g., node selection pracedures. We present computationalexperiencewhich shows hat althoogb th is procedure is fast and simple,it neverthelessyields solutions of a quality competitive with other muchslower prooedurrs.

    I. INTRODUCI-IONHE problem of obtaining an optimal topology for a meshT etwork arises in many forms with different constraints andobjectives among them the design of distributed voice and datanetworks where in general any node may be directly connected toany other. Here, we examine a general version of this problemwith relatively few constraints. We explore some of the basiccharacteristics of specific problems in this class and how theyrelate to characteristics of good solutions.It is not our intention here to obtain an exact solution to anysingle network design problem taking all of its peculiarities intoaccount. Rather, we seek methods which are broadly applicableand which can be used to obtain starting solutions for other moredetailed design procedures. Specifically,we present an algorithmwhose computational complexity is of order N 2 here N s thenumber of nodes in the network. Thus, the procedure is fastenough to use in comparing many alternative architectures andeven fast enough to embed within a design loop where broadertopological issues, e.g., node selection, are considered.There are many optimization procedures available for thesolution of specific problems [l], [2], [5]-[7], [9]-[ll ], [14].Most of these are incremental, i.e., they take a start ing solutionas input and perturb it to obtain a local minimum. If they aregiven a poor s tarting solution, there is a danger that the minimumthey converge to will be far from the global optimum. In themost extreme cases, they may even converge to a network ofan entirely wrong type, e.g., a dense network of 56Kbps linksinstead of a sparse network of Tl links. One of our objectiveshere is to help shed light on what the right type of network is ina given situation and to develop algorithms which will reliablyfind it.

    Paper approved by the Editor for LocalArea Networks of the IEEE Com-munications Society. Manuscript received June 29, 1989; revised November17, 1989.A. Kershenbaum is with the Department of Electrical Engineering andComputer Science, Polytechnic University, Brooklyn,NY 11201.P. Kermani and G. A. Grover are with IBM Research, Thomas . WatsonResearch Center, Yorktown Heights,NY 10598.IEEELog Number 9143108.

    There have also been a few global heuristics proposed [4],[8] but little has been said about their performance in practice.Another goal of this paper is to compare the procedures devel-oped here with established algorithms and, when possible, withprovable lower bounds.In describing he problem below, we make several assumptionswhich are realistic in practice for many types of networks.The optimization techniques we present work well when theseassumptions hold. Since we are only attempting to find startingsolutions, however, we note that these assumptions can berelaxed to conform with other realistic situations and reasonablesolutions may still be obtained. Of course, it is also possibleto construct cases where these assumptions are grossly violatedthereby invalidating he optimization techniques. The discussionwhich follows attempts to clarify when it is reasonable to usethese techniques and when it is not.We are given a set of N nodes which are sources and destina-tions of traffic. A matrixR specifies he amount of traffic requiredbetween each pair of nodes. We assume initially that traffic isbidirectional, i.e., a requirement between i and j occupies a linkbetween i and j in both directions.This s a realistic assumptionfor some types of traffic (e.g., voice) and is not realistic for othertypes of traffic (e.g., packet switched data). With this assumption,R can be made upper triangular without loss of generality. Thealgorithms we develop can be extended to the case of directedrequirements as weU. For the sake of clarity, however, we willfirst present the algorithm for the undirected case and describeits extension to directed requirements later in the paper.We are also given the cost of connecting any pair of nodes inthe network with links of various capacities. In the simplest case,there is only one capacity link available and a two dimensionalcost matrix C gives the cost of a l ink between each pair ofnodes. In the more general case, there are several given capacitylinks available and C becomes three dimensional, with the thirddimension ranging over the capacities. We begin by describingthe algori thm for the case of a single link speed.We consider a variety of cost functions, but make the followingassumptions, which are at least approximately true in practice.

    1) Cost is an increasing function of distance. Usually, thereis a fixed cost (which is often a significant percentage ofthe total cost) and a cost per mile which may decreaseas the length increases. Thus, cost is a concave functionof distance. Often, a piecewise linear function is a goodapproximation to this cost function. Likewise, we assumethat cost is an increasing function of capacity and that thisfunction also has a concave envelope. Note that capacityis only available in specific quantities and thus that costis not a continuous function of capacity. The amount ofconcavity both as a function of distance and capacity iscritically important to the shape of the network; we willfocus on this in what follows.

    00906778/91/~0503$01.000 1991 IEEE

  • 8/3/2019 Mentor Paper

    2/11

    50 4

    2)

    3)

    4)

    While we focus exclusivelyon link cost optimization, wenote that it is often possible to model all or part of the costof nodes as fixed link costs; this is in keeping with the formof our model. Thus, modem costs, line card costs and evenan amortization of node chassis cost may be added to thecost of links incident on a node. This is most accurate, ofcourse, for costs which are truly dependent on the numberand speed of the links as opposed to fixed costs per node.The link cost function obeys the triangle inequality. Thus,the cost of a direct link between two nodes is assumed to beno greater than the cost of tandem linksvia any other node.This assumption is similar to the concavity assumptionabove, but it also implies that capacity is available betweenall pairs of nodes. In the case where this is not initiallytrue, it is usually possible to enforce this assumption bysetting the cost of an ( i , ] connection to the sum of costsof tandem links in the shortest (cheapest) path between iand j ; shortest paths are easily obtained using well-knownalgorithms [3].The cost function is symmetric. This is consistent withthe assumption that link capacity is bidirectional. It isactually possible to apply the algorithm described below tonetworks with unidirectional links and asymmetric costs,but we will not discuss this extension here.We have assumed that each link has a capacity and that all of

    this capacity is available to carry traffic. In practice, of course,this is not so.There is overhead which consumes some of the linkcapacity. Constraints on queueing delay and blocking preventfull utilization of the link. Given the total capacity of a link,however, it is possible to determine a usable capacity for thatlink. Overhead can be subtracted and a reasonable ink utilizationcan be determined with respect to performance (delay and loss)constraints.Thus, we optimize over the topology, assuming that each linkis moderately utilized. This is a reasonable assumption n practiceas performance deteriorates drastically when link utilizationincreases past a reasonable level. By making this assumption,we relieve ourselves of the burden of doing analysis during theoptimization, greatly speeding up the optimization process. Thisalso allows us to apply the same optimization procedures to awider variety of problems than would otherwise be possible byincluding analysis procedures within the design loop. Likewise,for the moment, we ignore reliability constraints.The decision to preset a limit on the utilization and hencethe capacity of each link before the start of the optimizationis a significant one. It greatly improves both the efficiency andthe applicability of the design algorithm as well as simplifyingits implementation. It also leads to networks which are morerobust. Consider, for example, a network which was optimizedto meet a constrainton the average end-to-end delay. It is possiblethat such an average constraint could be met by a networkwith a large number of requirements at low delay and a smallnumber of requirements at high delay. While, strictly speaking,such a network satisfies the constraint, most designers agreethat it is preferable to create a more balanced design as wouldbe obtained by limiting the utilization of each link separately.Also, the more balanced design is better able to withstandvariations in requirement level and distribution. Finally, it hasbeen our experience in practice that the cost of the solutionobtained does not rise significantly in most cases if we limitindividual ink utilizations ather than meeting a global constraint.Indeed, an example of this is observed and discussed below inSectionVII.

    EEE TRANSACTIONS ON COMMUNIGVIONS, VOL. 39, NO . 4, APRlL 1991

    Given the cost and requirement matrices as inputs, we wishto find a minimum cost network which satisfies the requirementswithout exceeding the link capacities. Even with all the sim-plifying assumptions we have made, the problem is still verydifficult. Many even simpler versions of this problem have beenproven NP-hard or NP-complete. Worse yet, no one even knowswhat a good network looks like in many realistic situations. Insome cases there are reasonable lower bounds on network cost.In others no reasonably tight bounds are known. One of ourfirst goals is to shed light on what a reasonably cost effectivenetwork looks like in most situations.

    11. DESIGNmmmIdeally, a good design will have the following characteristics.1) Requirementswill follow a nearly direct path rather than acircuitous one. The notion of directness is in terms of cost,but to the extent that cost is related to distance, the pathwill be direct in terms of distance as well. Note that to theextent that the fixed component of link cost is significant,this also implies paths with a small number of links.2) Links will have a high utilization. Recall that we havealready derated the link capacity to take overhead andperformance degradation into account. Thus, the capacities

    we deal with are the capacities we wish to use. Anyreduction in link utilization below this level thus representswasted capacity and increased cost.3) We will take advantage of economies of scale. Given theconcavity of cost as a function of distance and capacity,this means we will use long, high capacity links wheneverpossible.Thus, the ideal network will be one where all traffic is routedover direct links between the source and destination. These linkswill be of the highest possible capacity and will be fully utilized.Such a network is unrealistic, however. It implies requirementswhich are large in comparison to the link capacities. In reality,

    if such requirements were present, we should look towards usingeven higher capacity links and taking advantage of an evengreater economy of scale.In more realistic situations, we seek to obtain these desirablefeatures to the extent possible. We note that often these threegoals are contradictory. If we send traffic over direct paths, wedo not detour to common places where traffic can be aggregatedonto higher capacity links taking more advantage of economyof scale with respect to capacity. If we use high capacity links,it is less likely that they will be highly utilized as capacity isnow only available in larger increments. Nevertheless, we try todesign networks with these properties and to the extent that wesucceed, we say the network is good. These three principles leadus to the following design procedure.

    111. OVERVIEWF THE DESIGNLGORITHMThe overall plan is to send traffic over a direct route betweenthe source and destination whenever the magnitude of the re-quirement is sufficiently large and to send it via a path within atree in all other cases. In the former case, we are satisfying all

    three of our goals-we are using a direct path of high utilizationand high capacity. In the latter case we are satisfying at leastthe last two objectives as we are aggregating traffic as much aspossible. To the extent that the paths in the tree are direct, we aresatisfying the first objective as well. Thus, this simple approach

  • 8/3/2019 Mentor Paper

    3/11

    KERSHENBAUM et UL : MESH NETWORK TOPOuWjICAL. OPTIMIZATIONAND ROUTING 505

    a- Minimal spanning tree

    b- Shortest path spanning tree

    xU Uc- Hybrid spanning tree

    Fig. 1. Spanning tree alternatives.

    goes a long way towards satisfying these three objectives whichwill give rise to low cost networks.It should be noted that this idea is not entirely new. Thenational telephone network, for example, was designed alongthese general lines. The network contains high usage routeswhich are relatively direct and final routes which are less directbut handle a large amount of traffic which overflows fromother routes.The first part of the algorithm is to find an appropriate spanningtree which can be used for catching all traffic not handled bydirect routes. One candidate for this tree is a minimal spanningtree (MST). If we believe that only a small amount of traffic willoverflow onto this tree, then an MST is the best we can do sincethe sum of the link lengths is minimized and there are no multiplelinks. Thus cost is minimized. If however, as is more likely thecase, enough traffic overflows to warrant parallel links (i.e., moretraffic is present than can be handled by a single link), then wemay prefer a tree with more direct paths between sources anddestinations.An illustration of this si tuation is given in Fig. l(a). In thiscase, the MST, which is formed by using short links, may formpaths with a large number of links in tandem and relativelycircuitous paths between some nodes. This is illustrated inFig. l(a). The total length of the links in this tree is 80, butthe total length of all internode paths is 1200.On the other hand, a t ree which simply minimizes path lengthsmay have much longer links in it, as is shown in Fig. l(b). The

    I PFig. 2. Tree finding heuristic.

    total length of this tree is 110 while the total path length is 880.Thus the tree length has gone up by 37% while the path lengthhas gone down by 27%. This would be disadvantageous in thecase where the link utilizations in the tree are low and hencecapacity is being wasted. In this case, we would be better offwasting capacity on short links. As will be seen below, we donot expect these tree links to be very highly utilized as if a greatdeal of traffic were present, it would be sent over direct pathsrather than through the tree. Another problem with using sucha tree is that there is no known algorithm for efficiently findingsuch a tree.A third possibility is to find a tree which is a hybrid of the

    above two approaches, i.e., a tree whose total link length is notmuch longer than that of an MST but whose total path length(sum of lengths of paths between all pairs of nodes, possiblyweighted by requirement magnitudes) s not much worse than theoptimum. This is illustrated in Fig. l(c). Here the tree length is82, only 2.5% longer than the MST,while the path length is 908,only 3.5% longer than the shortest possible. Thus, a significantimprovement in path length can be obtained at the expense of asmall increase in tree length.Unfortunately, there is no known algorithm for obtaining anoptimal solution o this problem either, but the following heuristichas done very well in practice. We have tried this heuristic outon small problems where we were able to find the optimum byenumeration and have found that it does indeed find trees withthe desired property in those cases.A . Tree-Finding Heuristic

    The following heuristic is a modification of Prims MSTalgorithm [12] and Dijkstras shortest path algorithm [3]. Likethese algorithms, it has a complexity of order N squared.Given a node C which is the center (defined below) of thenetwork, we start with C in the tree and all other nodes outsidethe tree. For all links ( i , j ) with i in the tree and j outside thetree, we define L( i , j ) , a modified length for ( i , ] ) , as the originallength of link ( i , j ) plus a times the distance from i to C (throughthe part of tree already defined). This is illustrated in Fig. 2. ais a parameter whose value is between 0 and 1.In the example in Fig. 2, suppose a s 0.5. Nodes x and yjoin the tree and we are now considering node z. An unmodifiedversion of Prims algorithm would choose to connect z to y, itsnearest neighbor. The modified algorithm, however, would givethe ( z , y ) link a length of 16.5, as compared to a length of 13 forlink (z,x). Thus, the latter would be chosen, significantly reducingpath length while only slightly increasing tree length.For a qual 0, we ignore the second consideration and simplyfind an MST; this is Prims algorithm exactly. As a ncreases, wegive more consideration to using links which help create a pathdirectly towardsC and thereby reduce the total path length in the

  • 8/3/2019 Mentor Paper

    4/11

    50 6 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 39, NO. 4, APRIL 1991

    A E

    Fig. 3. Minimum path length tree. Fig. 4. Considering a direct link.

    This situation is i llustrated in Fig. 4.Consider the requirementbetween nodes A and H . If we can justify a direct link for thistraffic, we pu t one in. If not, we home the traffic to node in thetree. Thus, the A- H requirement to exist. It joins the A-Gand G -H requirements, increasing their magnitudes and makingit more likely to justify direct links. Thus, we do not actuallyhome the traffic through the tree; we simply make a decision not

    tree. When a s greater than 1, a star around C will result. Ourexperiments to date indicate that moderate values of a ypicallybetween 0.2 and 0.5, yield trees with the desired characteristics.We now turn to the problem of finding an appropriate centerto start off the algorithm. The following heuristic is simple andworks well in practice.B. Center-Findin g Heuristic

    The center node C is found by computing a figure of meritfor each node i as the sum over all nodes of the distance fromi to j times the total traffic to and from j , i.e., C minimizes theE,w, ,j where w, s Ek k , + T j k . We refer to the total trafficto and from a node as its weight. The node with the smallestfigure of merit is then chosen as center. This node is knownas the network median. Note that this node has the virtue ofbeing the node which would serve as the center of a star network i d n g the total path length over all star networks; this isoften a reasonable approximation to the optimal path-minimizingtree.Note that even for P equal 1we do not necessarily minimizetotal path length. It is possible, as is illustrated in Fig. 3, that atree comprised of several connected stars may in fact be betterthan a star. In this case, the star (at node D, which is best) has atotal path length of 230 while a tree based on stars at B and Dhas a total path length of 190. Our tree-finding algorithm has thecapability of finding such multiple star-based rees and often doesso, although we cannot guarantee it will. Note especially that itmay be desirable to form a tree by picking up nodes along theway to the center rather than to run near-parallel links directly tothe center. Our algorithm will tend to this as well. The larger thefixed component of link cost is, the greater the tendency to forma star will be as the algorithm will prefer not to form tandempaths. We thus have a simple and efficient means of producing agood tree to use as a skeleton for our overall design.The next step is to identify direct links which can be justifiedby the magnitude of the requirements between their endpoints.We are given a parameterU which defines the minimum accept-able link utilization for direct links. Thus, if a link has capacityC and we have accumulated a requirement greater than or equalto UC between its endpoints, we can justify a direct link. In themost general case, we might make U function of the locationofthe link and the alternatives available to the traffic. At this point,however, we simply make U a single parameter for the entirenetwork. In most cases, U will be close to 1, typically between0.8 and 0.9. We discuss the considerations in sett ing U elow.We thus consider each requirement in turn and check thisthreshold. If sufficient traffic exists to justlfy a direct link, thelink is added to the network and the traffic is routed directlyover this link. If not, the traffic is homed into the tree.

    to send it directly butinstead to detour it io some extent via thepath defined by the tree.In the above example, it may eventually turn out that a directA -G link may be justified and the A -H requirement will follow anA- G- H path. Alternatively, it may turn out that further detouringwill take place and, in the worst case, the entire A-B-C-E-G-Hpath through the tree will be followed. When the initial decisionnot to include a direct A -H link is made, we do not know whatwill actually happen. This is why we tried to form a tree withboth short links and small path lengths.There are many alternatives as to how to detour via the tree.The first, which we have used, is to detour via one of the nodesadjacent to an endpoint of the requirement. The choice betweenwhich endpoint to use is made by the principle of minimumdeviation, i.e., we choose the home which causes the traffic todetour as little as possible. Thus, in the example above, if thelength (cost) of the A - G link plus the G -H link is less than thecost of the A -B link plus the B- H link, we choose (as we did) todetour via G rather than B .A more general alternativewould be to also consider detouringthrough other nodes, e.g., A- E- H. This might lead to a smallerdetour, but even if it did, it is not clear that it would leadto a better design, as will be seen below. Also,once the treeis identified, the identity of the predecessor of each node isimmediately available and the algorithm is thus very easy toimplement and very fast. We therefore adopt the strategy ofdetouring through a neighbor of a requirement endpoint andpicking the neighbor which leads to the minimum detour.The next issue is how to order the requirements for consid-eration. Clearly, we wish to consider all requirements whichmay join up with a given requirement (and thereby help justlfya direct link between its endpoints) before considering thatrequirement. Thus, in the above example, we should considerthe A-H requirement before considering either the A - G or G-Hrequirements. Subject to this restriction, any ordering will dosince if we adhere to this restriction, all possible contributors toa link will be present at the time creating that link is considered.Thus, the decision on how to home traffic completely determinesthe ordering of the requirements.This leads to an outside-in ordering, i.e., a nested order. Itis easy to implement this in practice. We begin by identlfyingthe requirements with no dependencies, specifically, those be-tween leaves in the spanning tree we have formed. We then

  • 8/3/2019 Mentor Paper

    5/11

    KERSHENBAUM et aL: MESH NETWORK TOPOLOGICAL OFTMUATION AND ROUTING 507

    consider each of these requirements, in any order. As theserequirements are considered, dependencies are removed fromother requirements nested inside them. Thus, for example inthe network in Fig. 4, we would be free to consider the A-Grequirement once the A-H equirement was considered. TheB-G equirement, however, might have to wait for the A-G ndB-H equirements. Note that it is only actually necessary to deferconsidering a requirement until all requirementswhich can homeinto it are considered. For example, if we have decided that theA-H equirement will home via G, we need not defer considera-tion of the B-H equirement until afterA-H s considered. In thecase where we are using the simple rule of minimum deviation, aswe currently do, this does not matter; such requirements couldbe considered in either order and the same design will result.In the more general case, where information derived from onedecision is used in making others, such a choice of orderingsmight make a difference.When a requirement is considered, it may turn out that morethan one link can be justified. This will happen if the totalrequirement,original plus homed, exceeds the capacity of a singlelink. In this case, as many links as can be filled are added to thedesign and enough traffic to fill them is sent via these links. Thethreshold test is then applied to the remaining traffic and this finalpiece of traffic is either homed or sent via a direct link. Suppose,for example, that we have accumulated a requirement of 51, thelink capacity is 24 and the threshold for creating a direct linkis 22. We would create a direct link and load 24 units of trafficonto it, leaving 27 units of traffic. We would then create anotherdirect link and load 24 units of traffic onto it, leaving 3 units oftraffic. This final 3 units of traffic would be homed.The rule for loading traffic onto a link is a function of therouting capabilities of the network at hand. In the case of packetswitched networks with dynamic routing, we can assume thatany amount of traffic can be sent over any path. In this case,we accumulate traffic as a single number and break off pieces ofexactly the right size, filling up links as we form them. This iswhat was assumed in the preceding paragraph.It may be the case, however, with multiplexers, that the routingis more restricted and that a requirement has to be kept as a singleentity. In this case, we accumulate traffic as a list of individualindivisible requirements and run a bin packing algorithm to fillthe links. In one of our implementations,we have actually donethis using a best fit decreasing [13] bin packing algorithm. It iseven possible to consider overflow strategies as in the design oftelephone networks, but thus far we have not investigated this.

    Iv. IMPLEMENTATIONAND C OM PL FX I Y ANALYSISWe assume we are given cost and traffic matrices as input. Anoutline of the algorithm and its complexity follows.Step I (Find the Center): This involves computing the figuresof merit for all nodes and then choosing the minimum. Sincethis requires looking at each element in the cost matrix once,this step is of order N squared.Step 2 (Find the Tree): We start with only the center in thetree and compute the revised length for all links connecting outof tree nodes to it. Then we select the link with the minimumrevised length, bringing the node at the other end of this link

    into the tree. Since we assume that capacity is available betweenall nodes, no sparse matrix structures are justified and this is alldone in a straight forward way and has a complexity of orderN.After the new node is added to the tree, the revised linklengths for all links connecting this node to out-of-tree nodes

    are computed. For each out-of-tree node, we retain the minimum(revised) length link which can be used to connect it into the tree.This involves comparing a newly computed link length to thepreviously retained one for the given node. Again, the nearestout-of-tree node is brought into the tree. Again, this is done inthe straight forward way and the complexity is of orderN. incethis is done for each node, the overall complexity of this step isof order N squared.Step 3 (Sequence the Requirements): This algorithm is essen-tially a topological sorting algorithm on the directed tree rootedat the center. First, a dependency matrix is built. This matrixrecords the number of requirements which must be consideredbefore a given requirement can be processed. It is initialized toall zeros. This is of order N squared.Next, we consider each node pair ( i , ] ] in turn (in any order,e.g., in order of node number) and decide where to home it (e.g.,via node k). We then add 1 o the number of dependencies or the( i ,k) and (k , ) node pairs. This is also of order at worstN quared.Then, we look through the dependency matrix and form a listof all node pairs without dependencies. This too is of order Nsquared.Finally, we consider each node pair ( i , j ) in the list of pairswithout dependencies. Suppose that we have decided to home( i , ) requirements via node k. Thus, we have made the ( i ,k) and(k,]] requirements dependent upon the ( i , ) requirement. We now

    decrement the number of dependencies for the ( i , k ) and ( k , j )requirements by 1. Thus, we are undoing what we did abovewhen we built the dependency matrix.As we continue to do this,the number of dependencies for other node pairs will decrease.As that number becomes zero for a node pair, we add that nodepair to the end of the list of node pairs without dependencies.The list of node pairs so formed is an acceptable requirementsequence. Again, since each (of at most N squared requirements)is considered once, the complexity s of order at worstN squared.Step 4 (Select Direct Links): Each requirement is consideredin turn in the sequence produced in Step 3. In the case whererequirements are added together, a constant amount of effort isexpended per requirement as we are simply comparing a numberwith a threshold and, possibly, posting the requirement onto twoothers. Thus, once again, the complexity is of order N squared.In the case where requirements are indivisible, a bin packingalgorithm must be run. A simple best fit decreasing algorithmseems to suffice in this case. The complexity of such a procedureis of order at worst K squared where K is the number ofrequirements, even if the algorithm is implemented in a straightforward way without sophisticated data structures. The overallcomplexity is now of order N squared times K squared. In mostcases of interest, K is small. If it were not, we could mergetogether requirements and consider the merged requirement to beindivisible. This would hold down the complexity at the expenseof possibly degrading the solution quality. In practice, however,if the number of requirements were large enough to make usconsider this approach, it would be possible to merge themdown to a reasonable number without significantlydegrading thesolution. In particular, the only time a bin packing ever results inanything other than nearly full bins is when we are dealing witha small number of large requirements. If we started with a largenumber of requirements, and hence were considering mergingthem, there are only two possibilities. One is that they are smallrequirements and we do not mind merging them. The other isthat they are large requirements and we really should be lookingat higher speed links. Thus, in practice this step is likely to beof order N squared even when the requirements are indivisible.

  • 8/3/2019 Mentor Paper

    6/11

    508 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 39, NO. 4, APRIL 1991

    Thus, the entire procedure is essentially of order N squared.This is remarkable when we consider that the problem offinding a single route for each requirement using a shortestpath algorithm, which is an inner loop in most network designprocedures, is of order N cubed for complete networks and oforder N squared even for very sparse networks. The reason thisalgorithm is so fast is because routes are found implicitly duringthe course of the algorithm.V. DIRJXTEDEQUIREMENTS

    The above procedure can be extended to the case of di-rected requirements in a straightforward way. We keep trackof requirements to and from each node, and when we hometraffic via an intermediate point, we home the traffic in eachdirection separately, thus maintaining the identity of the trafficin each direction. When making the decision as to whether ornot to create a direct link, we consider the requirements in bothdirections and create the link if the traffic in either directionexceeds the threshold. The remainder of the algorithm remainsunchanged. We have tried this extension in practice and it hasworked well. Some computational experience is presented in alater section.A potentia l weakness in extending the algorithm in this simpleway is that it may tend to create l i i hat are well utilized inone direction but under utilized in the other. In practice this is

    not likely to happen, however. If the requirements are nearlysymmetric, links will tend to be well utilized in both directions.If, as is often the case in practice, there are a small numberof major sources (or destinat ions) of traffic, both requirementsand link utilizations are likely to be highly asymmetric, but thedesign will not be adversely affected because, by the nature ofthe problem, the link capacities will have to be set to satisfythe requirement in the larger direction. Only in the case wherethe requirements are asymmetric in an unusual way which is notrelated to specific nodes, will this approach suffer significantly.Nevertheless, we continue to explore other ways of extendingthis procedure to directed requirements.VI. AN EXAMPLE

    The following example has been adapted from one given byHansler [7]. We are given 6 nodes and the traffic is undirected.The traffic and cost matrices are given in Table I. Note that thecosts, which are taken from the Hansler paper, do not obey thetriangle inequality. We could make them do so by modifying the(2,6), (3 ,6), (4,6), and (5,6) costs to be 1526, 1387, 2334, and1154, respectively, which is what they would be if requirementswere routed via node 1. To preserve the comparison with theHansler paper, however, we leave the costs as they were.The first step is to find the network center (median). Theweights on the nodes (sum of total requirements to and fromeach node) are (94, 53, 70, 60, 51) and the figures of merit (sumover all nodes of node weight times the distance to a given node)are (403444,438319, 430251, 643673, 489021, 528441). Thus,node 1, the node with the smallest figure of merit, is chosen asthe median.Next, a spanning tree is formed rooted at thegedian, node 1.The calculations are summarized in Table 11. Suppose, in thisexample, we set Q to 0.5. First, only node 1 is in the tree. Sincenode 1 is, by definition, of distance 0 from itself, the edgesconnecting it to the other nodes have modified lengths equalto their unmodified lengths and the edge connecting nodes 1 and6 is chosen, bringing node 6 into the tree.

    TABLE IDATAOR THE 6 NODENETWORKXAMPLENode Pair Requirement Cost

    1 21 31 41 51 62 32 42 52 63 43 53 64 54 65 6

    23232062277882013723410

    144613072254107480271147314681693172315281448142228981923

    TABLE IISPANNING TREE CALCuLAnONS

    Node just brought DISTANCE TO TREEinto the tree 1 2 3 4 5 61446 1307 2254 1074 801446 1307 2254 1074 -5 - 1446 1307 1959 - -3 - 925 - 1959 - -- - - 1959 - -

    --

    Next, we consider the edges connecting 6 to each out-of-treenode. We form a modified length for each such edge by addingto its length 0.5 times the distance from node 6 to node 1 n thetree. Thus, for example, the modified length of the (6,3) edge is1448+ 40. Since a ll such edges (even without the modification)are longer than the edges from node 1, the distance-to-tree isunchanged, except of course for node 6 itself which is now partof the tree.Node 5, the next nearest node, is now brought into the treeusing edge (1,5) and the edges connecting it to out of tree nodesare considered. The (5,4) edge has a modified length of 1959(i.e., its original length of 1422 plus 0.5 times 1074, the distancefrom node 5 to node 1). Thus, the distance-to-tree for node 4is updated.Next node 3 is brought into the tree and the distance to treefor node 2 is updated to 925 (271 + 1307/2).Next, node 2 is brought into the tree via the (3,2) edge andthe (2,4) edge (the only remaining edge connecting node 2 toan out of tree node) is considered. The distance from node 2 tothe center node 1 is 1578, so the modified length of edge (2,4)is 2261 (1473 + 789). Therefore, the distance-to-treefor node 4remains unchanged.Finally, node 4 is brought into the tree via edge (5,4). Fig. 5shows the resulting spanning tree.The tree thus formed happens to be a minimal spanning tree.This happened in this case because none of the nodes forming amore direct path to the center could justify themselves. If a wereset to 0.8, the modified length of edge (5,4) would have been2281, and it would have been replaced by edge (1,4). Similarly,with Q set to an even higher value, say 0.95, the (3,2) edgewould be replaced by the (1,2) edge. Thus, as expected, as Qapproaches1,a star at the center would be formed.

  • 8/3/2019 Mentor Paper

    7/11

    KERSHENBAUM et a/.: MESH NETWORK TOPOLDGICAL. OFTIMUATIO NAND ROUTING

    Fig. 5. Spanning tree.

    The next step in the algorithm is to determine a requirementsequence. Many such sequences exist and, as mentioned above,all are equally good as long as we use the simple rules we areusing to ju s t e direct circuits.The first step in forming a sequence is to determine dependen-cies, i.e., to determine the via points for each requirement if it isnot routed directly between the source and destination.We choosethe via point as a node adjacent to either the source or destinationand we choose between the two candidates based on minimumdetour. Thus, for example, for the (2,4) requirement, we coulddetour either via node 3 or node 5. The total path length via node3 is 1994 (271 + 1723), the lengths of edges (2,3) and (3,4)while the total path length via node 5 is 2890. We thus choosenode 3 as a via point and record the dependency of the (2,3)and (3,4) requirementson the (2,4) requirement. We can writethis as 24 + 234. We thus impose the constraint that the (2,4)requirement precede the other two in the sequence. Similarly,we find that 46 -t 416, 26 + 216, 34 + 354 and 25 -t 235.These are the only requirements with distance 3 or more hopsin the spanning tree. Thus, these are the only requirementswhere there is a choice of the via point. There are also otherdependencies for two-hop requirements, e.g., 14 -t 154. Notethat this identification of via points does not imply that we willactually use them. It simply says that if we do not choose tocreate a direct channel for a given requirement, then we will usethe via point chosen at this time.The decisions on via points leads to the dependencies shownin Fig. 6.The nodes in Fig. 6correspond to node pairs in theactual network (or, alternatively, to requirements). An edge inFig. 5is directed from node pair, ( i , j ] to node pair @ , I ) if the(k, ) requirement is dependentupon the ( i , j ] requirement.A nodepair cannot enter the sequence for processing until all the nodepairs with edges leading into it have already entered the sequence.The node pairs with no edges leading into them are immediatelyfree to enter the sequence.We consider the node pairs in lexicographic order (i.e.,(1,2), (1,3) e) and immediately put pairs (2,4), (2,5) , (2,6),(3,6), (4,6), and (5 ,6 ) into the list. Examining (2,4), the firstpair in the list, we remove one dependency from pairs (2,3) and(3,4). This reduces the number of dependencieson (3,4) to 0, sowe immediately add (3,4) to the end of the list of pairs with noremaining dependencies. Next we examine pair (2,5), the nextpair in the list, and remove one dependency from pairs (2,3) and(3,s).Both of these pairs have remaining dependencies, so werefrain from adding them to the list. Proceeding in this manner,we form the following sequence:

    Fig. 6. Dependency graph.

    There are many other sequences which satisfy a l l these depen-dencies and would give rise to the same design. For example,another sequence is as follows:

    Suppose the requirements are voice grade channels and channelcapacity is 24 (e.g., a Zl line). Suppose further that we set thethreshold for the minimum utilization of a direct channel at 22circuits, i.e., we are willing to justify a direct channel if there isa requirement of at least 22 circuits between its endpoints.We begin by examining the (2,4) requirement. Since itsmagnitude is 7, we do not create a direct circuit and we homethe requirement via node 3, as discussed above. Thus, the (2,3)requirement is increased from 7 to 14 and the (3,4) requirementis increased from 20 to 27. Similarly, the ( 2 , 5 ) requirement ishomed via node 3.We continue, homing the (2,6), (3,6), (4,6), and (5,6) require-ments via node 1 as none of these requirements ustifies a directcircuit.We now come to the (3,4) requirement. Originally, it was 20circuits, but now, because the (2,4) requirement has joined it,it is 27 circuits. We thus create a direct channel between nodes3 and 4 and load 24 circuits onto it, leaving 3 circuits to stilldeal with. Since 3 is below the threshold of 22, we home thesecircuits via node 5. We do not care whether these are 3 of theoriginal circuits in the (3,4) requirement as opposed to circuitsfrom the (2,4) requirement which joined it; the design would bethe same in either case. Operational considerationsmay dictate achoice in one direction or the other but we are not concerned withthis here. Sometimes local optimizationcan be done by movingspecific requirements; this will be discussed in section 9 below.The (1,2) requirement is now 31 circuits, justifying a directchannel and homing 7 circuits via node 3. The next requirement,(1,4) is now 24 circuits,justifying a direct channel and homingnothing.Next, we consider the (1,6) requirement, which is now 5 1circuits including homed requirements. Tho full channels areimmediately ustified taking care of 48 circuits. The remaining 3circuits would be homed but since nodes 1 and 6 are adjacent inthe spanning tree, there is no place to home these requirements

  • 8/3/2019 Mentor Paper

    8/11

    510 IEEE TRANSACTIONS ON COMMUNICIONS, VOL 39, NO. 4, APRIL 1991TABLE I11SUMMARYF m DFSIGN

    Endpoints # of channels circuits carried cost~ ~ ~

    1 2 1 24 14461 3 2 37 26141 4 1 24 22541 5 1 16 10741 6 3 51 2402 3 2 29 5423 4 1 24 17233 5 1 24 15284 5 2 26 2844Total 14 255 14265

    to. Thus, a third direct channel is placed between nodes 1 and6. It is common for this algorithm to create such channelsto satisfy leftover requirements. We note, however, that atworst, such channels form a tree and that furthermore the treeis not much longer than an MST, as discussed above. Thus, theamount of wasted capacity is limited. If the network is sparse,however, we note that the waste could be significant. On theother hand, in some cases there will be little waste if thingshappen to work out and in other cases, the waste may have beenunavoidable. Nevertheless, this is an area of potential weaknessin this approach and is worthy of further consideration.The remaining requirements all either justify direct channelsor cannot be homed because they are adjacent in the spanningtree. They result in 1 direct (3,5) channel carrying 24 circuits,2direct (2,3) channels carrying29 circuits,2 direct (4,5) channelscarrying 26 circuits, 2 direct (1,3) channels carrying 37 circuitsand 1 direct (1,s) channel carrying 16 circuits. The completedesign is summarized in Table 111.We now assess how good is this design. There are a numberof ways of trying to do so. Ideally, we would compare the designwith an optimal solution. Unfortunately, we have no way of doingso since there are no known algorithms for obtaining an optimalsolution to such problems.We can assess the quality of this design in terms of theobjectives described in Section 11. If all requirements were sentover direct paths from source to destination and the links werefully utilized, the cost of the network would be 11266.This figureis obtained by multiplying each requirement between nodes i andj by the cost of a Tl channel between nodes i and j , summingthe products and dividing by 24. This corresponds to a networkcost in the case where capacity is obtainable in single circuitincrements at an economy of scale equal to full Tl channels.Thus, this is a lower bound on the optimal solution to ourproblem. The design we obtained is 14265,27%more expensive.Similarly, we observe that the total of all the requirements is201 circuits and the total load on all the channels is 255 circuits.Thus, the average requirement is routed over 1.27 edges.This is a reasonably direct routing. We also observe that thereare 14 channels, each with a capacity of 24 circuits, providinga total capacity of 336 circuits. Thus, the average channelutilization is 76%.Several conclusions can be drawn on the basis of all this.First, we are encouraged that despite the fact that this procedureis very simple, the design is not grossly poor, i.e., we are notmissing the optimum by a factor of 2 or worse. On the otherhand, we are not particularly close to the bound either. We thusconclude that either the bound is loose or we are not very closeto the optimum or, possibly, that both of these things are true.

    We must therefore seek other means of veri fying the quality ofthe design.The Hansler [7] paper itself gives us one means of doing so.Hanslers procedure is a multistep heuristic which tries severalapproaches in tandem to optimize the design. The first step inhis procedure is a global heuristic. Succeeding steps do localoptimizations. As mentioned above, our example is adapted fromthe one given in his paper. He used the TELPAK tariff whichgave a cost per circuit and then a discounted cost for a CTELPAK(a bundle of 60 circuits) and an even greater discount for aD TELPAK (a bundle of 240 circuits). The cost per mile forsingle circuits vaned but was roughly $1for the distances in thisexample. The cost per mile for a C andD TELPAKs was $30 and$85, respectively. Thus, the C TELPAKs fforded an economyof scale of a factor of 2 when compared to single circuits, whilethe D TELPAKs afforded and economy of scale of roughly 1.4(actually 24/17).The costs given in Table I in this section are in fact distances.We divided the requirements in Hanslers paper by 10 androunded all fractions (even those less than 0.5) up to the nexthighest integer. Since our channel capacity is 24, one can thinkof our design as comparable to Hanslers in the case where onlyD TELPAKs are available.The best design given by Hanslers algorithm had a cost of13030, using single circuits, C TELPAKs and D TELPAKs.The design produced using the algorithm described here hada cost of 14265, but it was using only D TELPAKs. Simplyby costing out the design given here using all three types ofchannels, we obtain a cost of 12873, an improvement of a littleover 1%over Hanslers design. Thus, even opt imizing using onlya single link speed, and even without any local reoptimizationafter the initial global optimization, we have already obtaineda better design than the Hansler procedure. Hansler estimatedbased on computational experience with his procedure that animprovement of 5 to 6%was obtained via local optimizations nthe latter steps of his algorithm. Thus, our design is roughly 7%better than that obtained by the initial global algorithm withinthe Hansler procedure.

    As another basis for comparison, we could compare the twodesigns using a cost function which included only C and DTelpaks. Neither algorithm was run using this cost function butit is, in some sense, intermediate between the two problems run.The Hansler algorithm design costed out at 14033 using thatfunction, while the design produced here costed out at 13118,and improvement of roughly 7%.Because Hansler only gives an overview of his algorithm inhis paper, it is not practical to implement it in order to make adirect comparison of running times between the two procedures.It is, however, possible to analyze the computational complexityof Hanslers algorithm from the overview given in his paper,which we now do. Let C be the average number of circuits perlink, L be the number of links, and N be the number of nodes.Hanslers procedure requires that we reroute single circuits,pairs of circuits, and links. In order to do this, we must findat least one path as a candidate new route. Finding a path in anetwork with N nodes and L links is at least O(L), as one mustexamine a l l links at least once. Thus rerouting pairs of circuits isat least O ( C 2 L 3 ) .L itself is between O ( N )and O(N2).Thus, thisstep is between O ( C 2 N 3 ) and O ( C 2 N 6 ) .We estimate, basedon examining many real networks that for typical networks areasonable estimate is at least O ( C 2 N 4 ) . The procedure alsodoes triangle optimization, which involves redistributing circuitsamong all triangles in the network. The actual number of triangles

  • 8/3/2019 Mentor Paper

    9/11

    KERSHENBAUMet al.: MESH NETWORK MWLO GICAL. OPTIMIZP;I1ONAND ROUTING 511

    varies with the density of the network but will be O(N3) f thenetwork is dense. Thus, this step is O(CN3) and is dominated bythe rerouting. The outline of Hanslers algorithm also mentionscleaning up the network and miscellaneous steps which cannotbe analyzed, but which clearly do not reduce the algorithmscomplexity. Finally, it is possible that Hansler iterated these stepsas doing so might improve the result. If this is the case, hecomplexities given above should be multiplied by the averagenumber of iterations. We see, therefore, that the procedure givenhere, which is O(N2), is faster than Hanslers algorithm by atleast a factor of O ( C 2 N 2 ) . Similarly, any of the proceduresusing an all-pairs shortest path algorithm in their inner loop toselect and analyze candidate links, would be O(N5).Thus, inmany realistic cases, the algorithm given here could achieve aruntime improvement of over a factor of 1OOOAs yet another basis for comparison, we took the aboveexample, exactly as described here, and ran a more exhaustiveoptimization procedure on it. This procedure is part of a meshnetwork design tool which we have developed in IBM WatsonResearch Center. This procedure started with a complete networkand considered all possible deletions from it, choosing the bestone and making the change. It then considered all possibleadditions and deletions, again making the best possible change.This process continued until no further progress could be made.Even this procedure was only able to produce a design with acost of 14015, an improvement of less than 2%.The exhaustiveprocedure is much slower than the one described here even forsuch small problems as this one and the difference in runningtimes increases dramatically as the problem size increases. Thus,again, the results are encouraging.

    VII. OTHEROMPUTP~ONALXPERIENCEWe have generated designs for several actual networks usingthis algorithm. One network was an 8 node packet switchednetwork which was designed by experienced engineers using aversion of GRINDER, the tool used to design the ARPANET.The extension to our algorithm to handle directed links wasused in the comparison. The comparison was made on the basisof cost and throughput at a given delay. The costs used wereactual tariffs. Throughput was estimated using a dynamic routingprocedure; in the case of the actual network, the design was doneusing this router in the inner loop of the optimization procedurewhile in the case of our heuristic, the optimization was done onthe basis of the simple rules defined above and the router wasrun to evaluate the design produced.The actual network cost $135K and satisfied 109%of its baserequirement at the desired delay. The design produced by thisalgorithm cost $131K and satisfied 105%of the base requirement.Thus, these two designs are quite comparable, with cost perunit throughput for the existing design about 1% better thanthat produced by our heuristic.As another basis for comparison,our heuristic produced a design costing $118K and satisfying87% of the base requirement. The more sophisticated designtool produced a design satisfying 93% of the base requirementat the same cost. Thus, in this latter case an improvement ofroughly 7% was obtained. This was done, however, using analgorithm requiring hundreds of times more computer time as

    well as interaction by a very experienced network designer.We ran this heuristic on three other networks with 8, 13, and35 nodes. These networks were designed by hand using simplerdesign aids. They were designed, however, by experiencedengineers and thus can be considered as competent designs.

    The heuristic produced designs roughly 10% better than theexisting ones.Finally, we have run this algorithm on many randomly gen-erated networks with up to 50 nodes. For some of the smallernetworks, we also ran the more exhaustive algorithm mentionedin Section VI and found that, like in the example describedthere, the more exhaustive heuristic usually produced designs1 to 2%better. In one case, the design was almost 10%better.There was a dramatic difference in running time, however, Theheuristic described here ran for 8 on an 8 node problem withmultiple requirements between each pair of nodes, while themore exhaustive heuristic ran for over 2 h on the same problem.We have no basis for comparison of the quality of the designsobtained for the larger random networks.The principal thing we learned from these experiments wasthat the actual running time increased roughly quadraticallywithproblem size, as was predicted by the complexity analysis inSection IV. Running times between 90 nd 120swere observedfor 50 node networks. The runs were made using APL2 on anIBM 3090 computer with a vector processor. The APL code wassimple code written principally to test the quality of the designsand to experiment with variations in the basic algorithm. It wasnot optimized for speed. It is likely that significant improvementsin speed could be obtained by more careful coding and byusing an optimizing compiler. (We used an APL2 interpreterand did not compile at all.) We have also recently implementedthis algorithm in C and run it on an IBM PSf2 . Again, theimplementationwas a simple one and we obtained running timesof less than 1 min for random networks of size up to 250 nodesand 30000 requirements.

    WII. MUL c H A E L CAPACITIESAN DIDENTIFICATION OF SIGNIFICANT NODES

    In many realistic situations, there is a choice among differentchannel capacities. The heuristic as described above works onlyfor a single channel capacity. It can, however, be extended to thecase of multiple channel capacities in a number of ways.The simplest extension, as was done in Section VI, is to dothe optimization using only the highest channel capacity and thenat the very end to cost out the network using the best possiblechannel capacities. In particular, when leftover requirementsforce the inclusion of poorly utilized high capacity channels,lower capacity channels can be substituted for them. As we sawin Section VI, this may lead to a very good design.A refinement to this approach would be to carry out theoptimization using high-capacity channels and then try to findplaces, possibly by rerouting some requirements where lowercapacity channels could be used in place of higher capacity ones.This is discussed in more detail below when we discuss localoptimization procedures.A major potential difficulty with carrying out the initial opti-mization using only high-capacity channels, however, is that itmay happen that the network has many nodes each of whichhas only a modest amount of traffic directly originating andterminating at it. Using the algorithm as described here, however,many such nodes will act as transit points for other traffic, inparticular traffic which is routed via the spanning ree. This wouldresult in a design with a larger number of high-speed channelsthan is necessary and, in the case where there is a significant fixedcost on the channels, a significantlyhigher cost. This situation isillustrated in Fig. 7. Suppose only nodes A, E, H , K, nd M aresources or dest inations for a significant amount of traffic. If the

  • 8/3/2019 Mentor Paper

    10/11

    512 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 39, NO. 4, APRIL 1991

    j . If not, i is added to the list of significant nodes. At the end ofthis procedure, all nodes are either significant or homed directlyto significant nodes.This is a very simple procedure and we have not yet comparedit to other more sophisticated algorithms. We do not, however,want to increase the computational complexity of the remainingalgorithm. Thus, we want to use a simple procedure like this one.Another simple approach would be to make the decisiondirectly on the basis of cost. We would order the nodes as aboveand home a node, i, to a significant node only if it were lessexpensive to do so rather than making node i significant. Thisentails modelling the node costs, however, and is beyond thescope of the current discussion.-Minimum Spanning Tree

    Ix. LOCAL OPTIWUTONWhile most of the computational experiencewe have had withthis algorithm has been very encouraging, a few cases we haverun against the more exhaustive heuristic showed us that there aretimes when this procedure does occasionally make mistakes. Thisis not surprising since this is a very fast and simple procedure;recall that we think of it as a procedure to produce startingtopologies or alternatively, as a way of quickly getting a goodidea of what a good topology looks like.The question arises, however, as to whether or not there issomething which can be done to correct some of these mistakeswithout significantly increasing the computational complexity ofthe procedure. We are continuing to do research in this area andhave experimented with several local optimization techniques

    Lr\ \[_ - - -;3c\

    \UL-------\------- __________1 :LC

    b-Spanning Tree on Significant NodesFig. 7. Spanning trees.

    spanning tree is formed using the procedure described thus far,a tree like that shown in Fig. 7(a) would result and there wouldlikely be high capacity channels at all nodes exceptD, , ndG because transit traffic through other nodes would force theirpresence. On the other hand, if we constructed a tree only amongthe significant nodes in the network and homed the other nodesto them, a tree like the one shown in Fig. 7@)would result withtransit traffic and high-speed channels only at significant nodes.The identification of the significant nodes is a problem inits own right and we will not discuss this at length here. Wehave, however, experienced with the following simple procedurewhich has yielded reasonable results on several real networks.

    A . Node-Finding HeuristicWe are given three parameters. The first W s the minimumweight (total requirement to and from a node) immediatelyjustifying the node as significant. Thus, any node whose weightequals or exceeds this value is included in the list of signifi-cant nodes.The second parameter,D, s used to determine a figure of meri twhich tells us in what order to consider nodes for inclusion inthe significant node list. If a node has weight w and distance dfrom the center of the network (the center is determined usingthe center-findingheuristic described in Section II), the figure ofmerit is (1- D )w + D ( M - ) / M where M is the maximumdistance of a node from the center. Thus, D determines howmuch attention we pay to a nodes distance from the center asopposed to its weight.The third parameter, R, is a radius which determines whetheror not a node can home to a significant node.Nodes not already on the list of significant nodes are consid-ered in order of their figures of merit. If a node, i, is withindistanceR of some node j on the significant node list, i homes to

    which are described in [15]. One approach is to add a secondpass to the algorithm and reexamine the decision not to createdirect channels in light of what happens afterwards. In particular,if the absence of a direct channel results in tandem channels ofhigher cost being created to carry the same traffic, the channelis added to the network. This second pass can be added withoutsignificantly increasing the overall complexity of the algorithm.Another approach, which we have implemented and has proveneffective in practice, is to follow the first pass of the algorithmby a routing using the actual routing algorithm used in thenetwork. This has the significant advantage of guaranteeing afeasible network (assuming all the traffic successfully loads ontothe network.) It is at the same time possible to attempt toremove selected links with poor utilization from the network.This is a simple form of local optimization.Note, however, that itincreases the computational complexity of the overall procedureas it requires that explicit routing be done. This is still muchfaster, however, than most conventional design algorithms as wedo routing in only a very small number of networks.

    X . CONCLUSIONND DIRECTIONSOR FUTURE ESEARCHWe have described a simple but effective procedure for ob-taining topologies for distributed networks. Because it doesimplicit rather than explici t routing, its running time is typicallyhundreds of times faster than that of currently used algorithms.Its complexity is roughly of order N squared, making it usefulfor large networks, as the inner loop in more complex networkdesign procedures and in interactive design tools. The qualityof the solutions obtained are generally good, often good enough

    to use as is and otherwise useful as starting topologies for moresophisticateddesign algorithms. Finally, the procedure is fast andaccurate enough to allow us a view of what a reasonable networktopology looks like so that global design decisions, such as whatchannel speeds should be considered, can be made.

  • 8/3/2019 Mentor Paper

    11/11

    KERSHENBAUM et aL: MESH NETWORK TOPOLOGICAL OON AND ROUTING 513

    There are many open issues which still remain to be furtherSelection of the spanning tree used as a skeleton for theSelection of the threshold parameter for creating directSelection of the homing point for requirements not carriedDealing directly with multiple channel speeds.Giving preference to existing channels.Connectivity (reliability) constraints. The algorithm tends toLocal optimization of the resulting design.Bounding the quality of the design.

    Many of these issues have been discussed in the precedingsections and in some cases reasonably effective solutions havebeen proposed. In a l l cases, however, the problems are worthyof closer examination and we are continuing to do so.

    explored. These include the following.design.channels.over a direct channel.

    create pendant nodes in the extremities of the tree.

    REFERENCES[l ] G. R. Ash, R. Cardwell, and R. Murray, Design and optimizationof networks with dynamic routing, Bell Syst. Tech. J., vol. 60,[2] R. Boorstyn and H. Frank, Large-scale network topological opti-mization,IEEE Trans. Commun., vol. COM-25, pp. 29-47,1977.[3] E.W. Dijkstra, A note on two problems in connection withgraphs, Numerische Mathematik I, pp. 269-271, 1959.[4] R. Dionne and M. Florian, Exact and approximate algorithms foroptimal network design, Networks, vol. 9, pp. 39-59, 1979.[5] M. Gerla, H. Frank, W. (30%nd J. Eckl, A cut saturationalgorithm for topological design of packet switched communicationnetworks, inP m , EEE Nat. Telecommun.Conf, San Diego, CA,Dec. 1974, pp. 1074-1085.[6] V.Grout, P. Sanders, and C. Stockel, Practical approach to the op-timization of large-scale switching networks, Comput. Commun.,[7] E. Hansler, An experimental heuristic procedure to optimize atelecommunication network under nonlinear cost functions, inP m . Seventh Annual Princeton Conf Inform. Sci. Syst., NJ, 1973,[8] A. Kershenbaum, K. Schneider, and I.T. Frisch, An algorithm fordesigning circuit switched networks, in IEEE Int. Conf Circuits[9] K. Maruyama, Desigrung eliable packet-switched communicationnetworks, in P m . IEEE ICCC, 1978, pp. 493-498.[101 C.L. Monma and D. D. Sheng, Backbonenetwork design and per-

    formance analysis: A methodology for packet switching networks,IEEE J. Select. Areas Commun., vol. SAC-4, pp. 946-965, Sept.1986.[Ill R.C. Prim, Shortest connection networks and some generaliza-tions, Bell Syst. Tech. J. , vol. 36, pp. 1389-1401, 1957.[12] M. Schwartz,Computer Communication Network Design andd nal-ysis. Englewood CLiffs, NJ: Prentice-Hall, 1977.[13] B. Yaged, M i n i cost routing for static network models,Networks, vol. 1, pp. 139-172, 1971.[14] M. Syslo, N. Deo, and J. Kowalik, Discrete OptimizationAlgo-r i t h .[15] A. Kershenbaum, P. Kermani, and G. Grover, MENTOR Analgorithm for mesh network topological optimization and routing,IBM Res. Rep., June 1989.

    pp. 1787-1820, 1981.

    vol. 10, pp. 30-38, 1987.

    pp. 130-137.CO~~ZPU~.,ct. 1980, pp 1001-1005.

    Englewood Cliffs, NJ: Prentice-Hall, 1983.

    Aaron Kershenbaum (M76-SM82-F89)was born on October 9,1948 in Brooklyn, NY.He received the B.S.E.E and M.S.E.E. degreessimultaneously in 1970 from the PolytechnicInstitute of Brooklyn, and the Ph.D. E.E. degreein 1976 from the same.From 1969 to 1978, he was employed byNetwork Analysis Corporation, becoming VicePresident for Software Development. His majorresponsibilitywas the developmentof automatedsvstems for the design and analysis of computercommuncation networks: He also manage; projects which used thissoftware to design many networks, including the ARPANET. n 1978,he returned to Polytechnic, joining the faculty in the Computer ScienceDepartment, where he became a professor. As Director of the NetworkDesign Laboratory within the CATT Center at Polytechnic, he conductedresearch in the area of design algorithms and software tools for voice andcomputer network design. He is currently a Research Staff Member at theIBM Thomas J. Watson Research Laboratory, Hawthorne,NY, here hecontinues to do research and development in the area of network designtools and algorithms.

    Parviz Kermani (M79) received the B.S. de-gree from the University of Teheran, Iran, in1969, the Master degree in mathematics fromthe University of Waterloo, Canada in 1973, andthe Ph.D. degree in computer science from theUniversity of California,Lo s Angeles in 1977.From 1974 to 1977 he participated in theARPA network project and did research in thedesign and evaluation of computer communi-cation networks. In 1978 he joined IBM andsince then has been with the IBM T.J. WatsonResearch Center, Yorktown Heights, NY, nd has been involved in thedesign of routing and flow control mechanisms for computer networks.His interests are in the area of design, evaluation, and control of datacommunication networks and distributed systems.Dr. Kermani is currently manager of the Network Design Tools groupat Watson Research Center. He is also on the editorial board of ComputerNetworks and ISDN Systems.

    . Georgek Grover is engaged in Communica-tions research at the IBM Thomas J. WatsonResearch Center. He has been involved in thedesign of algorithms for designing near least costphysical networks, and in the design of deadlockfree flow control and of critical synchronizationprocesses for the IBM System 36 APPN, a peerto peer data network switch.Since 1979 he has worked extensively inthe design of SNA (IBMs System NetworkArchitecture) networking functions. Previously,he participated in assembler, compiler and operating system designand development activities in conjunction with IBMs System 360,the Stretch computer, and the 7950-a special purpose extension ofthe Stretch computer; and in technical planning activities relating toadvanced technology, and security and privacy. He joined IBM in 1954.