Tối ưu hóa viễn thông và thích nghi Kỹ thuật Heuristic P9 doc

16 242 0
Tối ưu hóa viễn thông và thích nghi Kỹ thuật Heuristic P9 doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

9 The Genetic Adaptive Routing Algorithm Masaharu Munetomo 9.1 Introduction A routing algorithm constructs routing tables to forward communication packets based on network status information. Rapid inflation of the Internet increases demand for scalable and adaptive network routing algorithms. Conventional protocols such as the Routing Information Protocol (RIP) (Hedrick, 1988) and the Open Shortest-Path First protocol (OSPF) (Comer, 1995) are not adaptive algorithms; they because they only rely on hop count metrics to calculate shortest paths. In large networks, it is difficult to realize an adaptive algorithm based on conventional approaches. This is because they employ broadcasts to collect information on routing tables or network link status, which causes excessive overheads in adaptive algorithms. In this chapter, we describee an adaptive routing algorithm called the Genetic Adaptive Routing Algorithm (GARA). The algorithm maintains a limited number of alternative routes that are frequently used. Instead of broadcasting a whole routing table or link status, it only observes communication latency for the alternative routes. It also tries to balance link loads by distributing packets among the alternative routes in its routing table. The alternative routes are generated by path genetic operators. 9.2 Routing algorithms in the Internet From the early history of the Internet, vector distance routing algorithms based on Bellman- Ford’s algorithm (Bellman, 1957; Ford and Fulkerson, 1962) have usually been employed. Telecommunications Optimization: Heuristic and Adaptive Techniques, edited by D.W. Corne, M.J. Oates and G.D. Smith © 2000 John Wiley & Sons, Ltd Telecommunications Optimization: Heuristic and Adaptive Techniques. Edited by David W. Corne, Martin J. Oates, George D. Smith Copyright © 2000 John Wiley & Sons Ltd ISBNs: 0-471-98855-3 (Hardback); 0-470-84163X (Electronic) Telecommunications Optimization: Heuristic and Adaptive Techniques 152 The Routing Information Protocol (RIP) (Hedrick, 1988) based on the vector-distance algorithm with hop count metric is commonly used even now in small local area networks. The algorithm yields many communication overheads in larger networks because they periodically send broadcast messages that contain a whole routing table. More precisely, the number of messages to broadcast routing tables is proportional to 2 n (n is the number of nodes in a network) and the size of a routing table is proportional to n, which means that the total communication overhead for the routing information exchange becomes ).( 3 nO The vector distance algorithm also suffers from its slow convergence because it is necessary for the routing tables to reach all the nodes in the network to obtain the correct distance. To reduce communication overhead, routing algorithms based on link status information such as the SPF (Shortest Path First protocol) send broadcast messages that only contain information on link status. Based on a topological database generated from the collected link status, the algorithm calculates the shortest paths employing Dijkstra’s shortest path algorithm (Dijkstra, 1959) in each node. The SPF broadcasts messages that only contain the nodes’ link status instead of the entire routing table. Therefore, the size of a message that contains link status information becomes )1(O when the degree of nodes is constant such as in a mesh network, and the size becomes )(log nO in a hypercube network. However, the number of messages is also proportional to , 2 n which leads to extensive overheads in larger size network. Therefore, the OSPF (Open Shortest Path First protocol) (Moy, 1989), a widely used network routing protocol for Interior Gateway Protocol (IGP) (Comer, 1995) based on the SPF, relies on hop count metric and detects topological changes such as link failure. It seems easy to collect information on the communication latency of links and calculate routes with minimum delay; however, it is almost impossible in large networks. This is because we need to collect the communication latency of all the links frequently by broadcast messages, which leads to extremely heavy communication overheads. In addition, delayed information for the latency may create far from optimal routes. In a huge network such as the Internet, it is essentially important for routing algorithms to be scalable. To achieve scalability in adaptive network routing algorithms, it is necessary to observe communication latency with as few communication overheads as possible. 9.3 GAs in Network Resource Management Before introducing our routing algorithm by GA, this section gives a brief review of related work concerning the application of GAs to network resource management problems. Since many of the problems are classified into combinatorial optimization problems, they can directly be solved by GAs. For example, an application of GA to network routing in telecommunication networks is proposed in the Handbook of Genetic Algorithms (Davis, 1991) by Cox et al. (1991). The authors solved a constrained optimization problem that allocates link bandwidth to each connection. For another approach, Munakata and Hashier (1993) solved the maximum network flow problem. The objective of this optimization problem is to maximize the network flow based on the global information of the network. These two algorithms cannot be applied directly to routing in packet-switching networks such as the Internet because they are based on circuit-switching networks, in which the The Genetic Adaptive Routing Algorithm 153 bandwidth of the network is allocated to circuits – connections between nodes (Tanenbaum, 1988). On the other hand, Carse et al. (1995; and Chapter 8) applied a Fuzzy Classifier System (FCS) to a distributed routing algorithm on packet-switching networks in which each packet is routed independently by a routing table. This routing algorithm, however, only decides whether a packet should take a direct route or an indirect route by using a FCS. Therefore, the algorithm cannot be directly applied to actual routing algorithms. 9.4 Overview of the GARA The Genetic Adaptive Routing Algorithm (GARA) is an adaptive routing algorithm that employs genetic operators to create alternative routes in a routing table. It is based on source routing algorithms, which determine the entire route of a packet in its source node. Each node has a routing table containing a set of alternative routes, each of which is created by genetic operators. Each packet selects one of the alternative routes to the destination. The algorithm observes the communication latency of routes frequently used. Figure 9.1 Overview of the GARA. Figure 9.1 shows an overview of the GARA. Each node has a routing table that contains routes to destinations. For each destination, a set of alternative routes is assigned. Each route has its weight value (as its fitness) that specifies the probability for the route to be selected from a set of alternative routes. The weight is calculated from the communication latency, observed by sending delay query packets. At the beginning, the routing table is empty. When a packet must be sent to a destination, a default route to the destination is generated by using Dijkstra’s shortest path algorithm based on hop count metric. After a specified number of packets are sent along a route, a packet is sent to observe the Node Routing table Dest. Route Delay Weight 0 1 2 3 4 5 6 1 (0 1) 100 1.0 4 (0 6 4) 70 0.7 (0 3 4) 90 0.3 5 (0 3 5) 100 0.7 (0 3 4 5) 150 0.1 (0 6 4 5) 130 0.2 6 (0 6) 50 1.0 Delay Query & Answer Applying Path Genetic Operators (Only contains routes frequently used) Network Telecommunications Optimization: Heuristic and Adaptive Techniques 154 communication latency of the route. To generate alternative routes, path genetic operators are invoked at a specified probability after every evaluation of weight values. To prevent overflow of a routing table, selection operators are applied to reduce its size. A selection operator deletes a route that has the lowest weight among the routes to a destination. Moreover, another selection operator may be applied; this deletes all the routes to a destination to which the number of packets sent is the smallest among all the destinations in a routing table. The GARA can greatly reduce communication overheads for dynamic observation of network status by limiting the observation to alternative routes frequently used. It can also reduce the possibility of congestion by distributing packets probabilistically among the alternative routes. 9.5 Path Genetic Operators For the GARA, path genetic operators such as path mutation and path crossover are designed to generate alternative routes based on the topological information of the network. The path mutation operator causes a perturbation of a route in order to create an alternative route. The path crossover exchanges sub-routes between a pair of routes. A route (path) is encoded into a list of node IDs from its source node to its destination. For example, a route from node 0 to node 9 is encoded into a list of nodes along the route: (0 12 5 8 2 9). The route is constrained to the network topology; that is, each step of a route must pass through a physical link of the network. 9.5.1 Path Mutation The path mutation generates an alternative route by means of a perturbation. Figure 9.2 shows how to perform this mutation operator. To perform a mutation, first, a node is selected randomly from the original route, which is called a mutation node. Secondly, another node is randomly selected from nodes directly connected to the mutation node. Thirdly, an alternative route is generated by connecting the source node to the selected node and the selected node to the destination employing Dijkstra’s shortest path algorithm. More precisely, the path mutation proceeds according to the following sequence where r is the original route and r ′ is its mutated one. 1. A mutation node m n is selected randomly from all nodes along the route r, except its source and destination nodes. 2. Another node m n ′ is selected randomly from neighbors of the mutation node, i.e. m n ′ ).( m n ε ∈ 3. It generates a shortest path 1 r from the source node to m n ′, and another shortest path 2 r from m n ′ to the destination. 4. If there is no duplication of nodes between 1 r and 2 r , they are connected to have a mutated route . 21 rrr += Otherwise, they are discarded and no mutation is performed. The Genetic Adaptive Routing Algorithm 155 Figure 9.2 Path mutation applied to a route. Suppose that the mutation operator is applied to a route r = (0 3 5 6 7 10 12 15). First, we select, for example, a node 7 as a mutation node. Secondly, another node 8, for example, is randomly selected from the neighbors of the mutation node. Thirdly, by Dijkstra’s shortest path algorithm, we connect the source node 0 and the selected node 8 to generate a path 1 r =(0 2 4 8). We also connect node 8 and the destination node 15 to generate another path 2 r = (8 10 12 15). We finish the mutation by connecting the routes 1 r and 2 r to eventually have r′ = (0 2 4 8 10 12 15). We do not generate a route r′ if any duplication exists between 1 r and . 2 r This is because we need to avoid creating any loop in a route that passes through the same nodes twice or more. 9.5.2 Path crossover The path crossover exchanges sub-routes between a pair of routes. To perform the crossover, the pair should have the same source node and destination node. A crossing site of the path crossover operator is selected from nodes contained in both routes. The crossover exchanges sub-routes after the selected crossing site. Figure 9.3 shows an overview of the operator. The crossover operator applied to a pair of routes 1 r and 2 r proceeds as the following sequence. 1. A set of nodes c N included in both 1 r and 2 r (excluding source and destination nodes) are selected as potential crossing sites. If c N is an empty set, we do not perform the crossover. 2. A node c n is selected randomly from c N as a crossing site. 3. The crossover is performed by exchanging all nodes after the crossing site c n between 1 r and . 2 r Suppose that a path crossover is applied to a pair of routes 1 r and 2 r from node 0 to node 20 as in the following: Original Path Mutation Mutated Path r1 r2 n’ m n m Telecommunications Optimization: Heuristic and Adaptive Techniques 156 Figure 9.3 Path crossover applied to a pair of routes. 1 r = (0 2 3 7 9 11 12 15 17 18 20), 2 r = (0 4 5 7 10 11 13 15 16 20). Their potential crossing sites are nodes 7, 11 and 15. When we select, for example, the node 11 as a crossing site, the offspring are generated by exchanging the sub-routes after the crossing site: 1 r = (0 2 3 7 9 11 13 15 16 20), 2 r = (0 4 5 7 10 11 12 15 17 18 20). When we do not have a common node in a pair of routes, we cannot select a crossing site and we do not perform a crossover. In our earlier work such as Amano et al. (1993) and Murai et al. (1996), in order to perform a crossover even when the pair has no common nodes, we connect crossing sites by calculating the shortest path between them. However, a pair of routes without any similarity is not worth crossing-over, because the operator may generate routes which are too far from their parents for such routes, which may lead to random regenerations of routes. Route r1 Route r2 Crossing Site Crossover Crossing Site Route r1 (Changed) Route r2 (Changed) Potential crossing site Selected crossing site The Genetic Adaptive Routing Algorithm 157 9.6 Maintaining Routing Tables Table 9.1 shows a routing table used in the GARA. The routing table consists of five entries named destination, route, frequency, delay and weight. For each destination, we have a set of alternative routes. The frequency of a route specifies the number of packets sent to the destination along the route. The delay entry stores the communication latency of packets sent along the route. The weight of a route is calculated by its communication latency, which specifies the probability for the route to be selected when a packet is sent. From a GA’s point of view, the weight corresponds to a fitness value. Table 9.1 A routing table. Destination Route Frequency Delay Weight 2 (1 3 2)* (1 3 4 2) (1 3 4 5 2) 7232 2254 1039 50 60 70 0.7 0.2 0.1 6 (1 8 6)* (1 10 11 6) 20983 34981 100 105 0.4 0.6 8 (1 8)* (1 7 8) 30452 3083 40 40 0.9 0.1 In the table, routes marked with asterisks are the default routes which are the shortest paths based on hop-count metric. Initially, the routing table is empty. When it becomes necessary to send a packet to a destination, and if there is no route to the destination, a default route is generated by Dijkstra’s algorithm and is inserted to the routing table. After sending a specified number of packets along a route, we send a packet that observes the communication latency of the route. The fitness value is calculated after receiving its answer. After the observation, path genetic operators are applied to the routes at a specified probability to generate alternative routes. 9.7 Fitness Evaluation A weight value (fitness value) of a route specifies the probability for the route to be selected from alternative routes. It is calculated from the communication latency along the routes. To observe delay along the route, a delay query message is issued at a specified interval. Using the delay obtained, we calculate weight values i w using the following equations: ∑∑ ∈∈ == Sj j i i Sj j i i d d w η η η where, /1 /1 (9.1) Telecommunications Optimization: Heuristic and Adaptive Techniques 158 where i d is the delay for route i and S is a set of routes to the same destination. In the above equations, we first normalize the delay values i d by dividing by their total sum to yield . i η Second, we calculate the reciprocal number of i η and normalize them to have a weight value. This is because we need to have a larger weight of i w for a smaller delay of . i d Consequently, a route with smaller delay is frequently employed in sending packets. However, note that the selection of routes is a randomized one; routes with longer delay also have a chance to be selected. 9.8 Execution Flow In the GARA, each node executes the same algorithm independently. Figure 9.4 shows a pseudo PASCAL code of the algorithm. Each packet has entries such as type, route and next, where type specifies type of a packet, route entry is the route of the packet, and next indicates next hop in its route. Types of packets are DataPacket (which contains data), DelayRequest (for requesting delay of a link), and DelayAnswer (for answering a DelayRequest packet). DelayRequst and DelayAnswer packets have DelayEntry which records the communication latency of the packets. Every time a packet is created at a node, the node determines a route for the packet based on its routing table. For a packet arriving from another node, if its type is DataPacket, the node simply forwards the packet according to its route. In the initial state, a routing table is empty. If the routing table does not contain a route for the destination of a packet created, a default route is generated by employing Dijkstra’s shortest path algorithm and is inserted to the table. Each time after a specified number of packets are sent along a route, a DelayRequest packet is sent to observe the communication latency along the route. If the packet arrives at the destination, a DelayAnswer packet is sent back. After receiving the answer, the communication latency of the route is obtained by calculating the average amount of time sending a DelayRequest packet and receiving a DelayAnswer packet. After obtaining the delay of a route, weight values of routes are calculated according to equation 9.1. After every evaluation of weights, genetic operators are invoked at a specified probability to create alternative routes in the routing table. If the size of the routing table exceeds a limit, we perform a selection to reduce its size. We have two types of selection operators: local selection is invoked if the number of strings exceeds a limit, and it deletes a route with the smallest weight among routes with the same destination; and global selection is invoked when the number of destinations in the routing table exceeds a limit, and it deletes all the routes to a destination of which frequencies of sending packets is the smallest among all destinations in the routing table. 9.9 Empirical Results To evaluate routing algorithms, it is important to perform experiments for networks large enough. In the following experiments, also discussed in Munetomo et al. (1998a), a sample network with 20 nodes is employed (Figure 9.5). The bandwidth of a link is represented by its thickness. The thicker link is for the link with 4.5 Mbps, and the thinner one has bandwidth of 1.5 Mbps. The Genetic Adaptive Routing Algorithm 159 begin Initialize routing table; while not terminated do begin wait for a packet to be received or input from user; if packet.type = DataPacket then begin if the packet is sent from other node then begin if packet.destination = this node ID then receive packet; else send the packet to the node of packet.next; end else (* if the packet is input from user at the node *) begin if routing table for the destination is empty then begin create a default route by using Dijkstra’s algorithm; add the default route to the routing table; reset frequency entry of the default route; packet.route := default route; if the number of destination > limit then delete routes of a destination least frequently used; end else begin select a route from the routing table by roulette wheel selection; increment frequency entry of the selected route; packet.route := the selected route; if route.frequency mod EvaluationInterval = 0 then begin packet.type := DelayRequest; packet.route := route; send the packet according to the route; end end end end if packet.type = DelayRequest then begin packet.DelayEntry := CurrentTime – packet.CreateTime; packet.CreateTime := CurrentTime; packet.type := DelayAnswer; send packet to its source; end; if packet.type = DelayAnswer then begin packet.DelayEntry := packet.DelayEntry + CurrentTime – packet.CreateTime; packet.delay_entry := packet.DelayEntry/2; change delay of the route based on packet.DelayEntry; if random < Pmutation then begin apply a mutation to a route in the routing table; add the string created to the routing table; if table_size > limit then delete a string of the lowest weight; end if random < Pcrossover then begin apply a crossover to a pair of route in the routing table; add the string created to the routing table; if table_size > limit then delete a string of the lowest weight; end end; end end. Figure 9.4 Pseudo PASCAL code for the GARA. Telecommunications Optimization: Heuristic and Adaptive Techniques 160 Figure 9.5 A sample network for the experiment. We compare the GARA with conventional routing algorithms under the following conditions: at each node in the network, data packets are randomly generated at a specified interval that is exponentially distributed. The destination of a packet is randomly selected from nodes that are represented by circles with gray inside (see Figure 9.5). Delay query packets are sent every after 10 data packets are sent. The probability to apply a mutation after an evaluation is 0.1 and that to apply a crossover is 0.05. The maximum population size is 100. We continue the simulation for 3000(s) to obtain the following results. In Figure 9.6, we compare the mean arrival time of data packets for the RIP, for the SPF, for an adaptive version of the SPF, and for the GARA. The adaptive SPF observes communication latency of links to calculate the shortest paths (we set the delay observation interval at 30(s) and 60(s) for the experiments). The mean arrival time indicates the mean value of the time it took to arrive at destinations of packets from their creation on the source nodes. We can change the frequency of generating data packets by changing the mean generation interval of data packets which is exponentially distributed. This figure shows that the mean arrival time of packets is smallest when we employ the GARA algorithm for routing. The SPF is slightly better than the RIP. Adaptive SPFs suffer from communication overhead caused by their frequent observation of the link status of all links, especially when the network is lightly loaded (longer mean generation interval). For a 2000 (ms) interval of creating packets, which leads to heavily loaded links in the network, the GARA achieves about 20% of the mean arrival time compared with those of the RIP and the SPF. This means that packets sent by the GARA arrived at their destinations five times faster than those sent by the other algorithms. In this experiment, the adaptive SPF 0 1 2 3 4 5 6 7 10 8 9 11 12 13 14 15 16 17 1819 4.5 M 1.5 M [...]... reduce the number of packets in the adaptive SPF, it is necessary to increase the observation interval In this experiment, the adaptive SPF with a 60s interval could reduce Telecommunications Optimization: Heuristic and Adaptive Techniques 162 the number to nearly the same as the RIP and the SPF However, less frequent observation causes inaccurate observed latency of links, which may not generate the shortest... the other links This result also shows that a load balancing among alternative routes is realized by distributing packets probabilistically based on their weight values Telecommunications Optimization: Heuristic and Adaptive Techniques 164 0 1 2 3 4 10 5 14 15 17 19 18 6 7 16 12 8 11 9 13 Figure 9.9 Load status of links (SPF) 0 1 2 3 4 10 5 14 7 16 15 17 19 18 12 11 8 9 13 Figure 9.10 Load status of... 11) (0 1 3 7 11) 4423 5058 0.533488 0.466512 12 (0 4 7 11 12) (0 4 10 12) (0 1 2 4 10 12) 2941 6210 9833 0.564116 0.267160 0.168724 17 (0 4 10 14 16 17) 2 859 1.000000 Telecommunications Optimization: Heuristic and Adaptive Techniques 166 9.10 Conclusions The GARA realizes an effective adaptive routing with less communication overhead by the following mechanisms: • It observes the communication latency . employed. Telecommunications Optimization: Heuristic and Adaptive Techniques, edited by D.W. Corne, M.J. Oates and G.D. Smith © 2000 John Wiley & Sons, Ltd Telecommunications Optimization: Heuristic and Adaptive. Ltd ISBNs: 0-471-98855-3 (Hardback); 0-470-84163X (Electronic) Telecommunications Optimization: Heuristic and Adaptive Techniques 152 The Routing Information Protocol (RIP) (Hedrick, 1988) based. Genetic Operators (Only contains routes frequently used) Network Telecommunications Optimization: Heuristic and Adaptive Techniques 154 communication latency of the route. To generate alternative

Ngày đăng: 01/07/2014, 10:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan