Fuzzy Optimization and Decision Making, 5, 49–69, 2006. © 2006 Springer Science+Business Media, Inc. Printed in The Netherlands.
A Fuzzy Logic Approach to Buffer Management in ATM Networks CONSTANCE LIGHTNER
[email protected] Department of Management, Fayetteville State University, Fayetteville, NC 28301, USA Abstract. A fuzzy buffer controller is developed to minimize cell loss in ATM switches. The proposed fuzzy controller sequences cells in buffers based upon the corresponding priority class, end-to-end delay parameter and congestion status. Cells are then scheduled and/or discarded according to their sequenced positions. Keywords: quality of service parameter, asynchronized transfer mode, genetic algorithm
1.
Background
Asynchronized transfer mode (ATM) is a packet switching technique which transmits data as fixed sized cells. ATM networks integrate the technologies of various communication services, such as voice, video, and medical imaging, into a single high speed network. Individual ATM cells maintain information about the type of data being transmitted, resource requirements, and routing information. ATM networks differ from other transport modes in their ability to simultaneously transport multiple applications, provide Quality of Service (QoS) guarantees, and maximize the use of their system resources. QoS parameters usually include the cell loss probability (CLP) and end-to-end delay. Delay control involves minimizing the number of cells which violate the end-to-end delay QoS limit, while cell loss probability control deals with limiting the number of cells lost during transmission. Currently, ATM standards support two priority classes: low and high. QoS parameters must be monitored and controlled throughout connections. These parameters are affected by the policing scheme and buffer management technique employed by the network. Buffer management includes the policy by which cells are dropped once a buffer becomes full and a scheduling priority policy. Policing involves monitering individual network connections to ensure that they do not violate traffic contracts. Leaky bucket schemes are the leading approach to network policing. Leaky bucket is viewed as a finite capacity bucket whose real-valued content drains out at one unit rate but is increased by T for each conforming cell (Chang et al 2004). Recent research has incorporated this technique through various methodologies to allow for a dynamically adjusting token rate, T (Chang et al (2004), Xinyu and Ling (1998), Salamah (2001)). The research presented in this paper focuses on buffer management policies in ATM networks. In Section 3 we propose a fuzzy buffer controller (FBC) to minimize cell loss in ATM networks.
50
2.
LIGHTNER
Literature Review
Since ATM networks first emerged as the preferred technology for integrating communication services, considerable research has been given to the development of buffer control management policies for cell loss probability control. The most commonly used schemes are the “pushout” and “partially shared buffer” techniques. These techniques are generally used as a baseline for comparing new emerging buffer management methods (Ascia et al (2001, 2002)). Under the pushout scheme, if a low priority cell arrives at a full buffer the arriving cell is automatically dropped. If a high priority cell arrives, it replaces a low priority cell in the buffer. Hebuterne and Gravey (1989) introduced the first pushout scheme. The partial buffer sharing (threshold) scheme reserves a portion of the buffer space for high priority cells. The remaining buffer spaces are referred to as the “common area”, and the number of slots allocated to the common area is called the threshold value. The reserved section is only used when the common area is full, and a high priority cell arrives at the buffer. Low priority cells that arrive at the buffer when the common area is full, are immediately discarded. Kroner proposed one of the first partial buffer sharing techniques which managed two priority classes (Kroner (1989)). Research has shown that methods based upon the pushout methodology have provided the best performance (Ascia et al (2002), Arpaci and Copeland (1998), Royand and Panwar (2002)). Unfortunately pushout techniques require extreme computational complexity to implement. Threshold techniques are simplier to implement, while providing acceptable performance. The computational simplicity of threshold techniques have motivated many variations. All threshold schemes can be classified as either static or dynamic. Earlier research focused on methodologies for developing fixed threshold values (Tipper et al (1995), Petr and Frost (1991)), however, a major complication in their implementation is determining the optimal threshold value. Contemporary research has incorporated time varying, state dependent threshold parameters to address this complication. Neural networks (Lin and Ouyang (1997), Bromirski and Haratym (1997)) and fuzzy logic (Bonde and Ghosh (1994), Dou and Shieh (1996), Ascia et al (2001)) have been used to analyze the state of the system at dedicated time intervals in order to determine the appropriate threshold values for the next period. Ascia, et al (2002) improved upon fuzzy threshold techniques with methodology for automatically selecting and tuning membership functions using a genetic algorithm. Their technique was compared to a pushout scheme, and showed comparable performance. They later used fuzzy logic to develop a technique for deciding whether low prioriy cells should be permitted to enter a buffer based upon the CLR for high priority cells, the number of cells in the buffer, and the rate at which the length of the queue in the buffer varies (Ascia et al (2001)) This technique outperformed traditional threshold and pushout schemes. The first-in-first-out (FIFO) discipline, for scheduling cells for subsequent transmission, is employed with all of the methods discussed above. However, alternate strategies exist. Abuelyaman, et al (1998) abue devised a head-of-line (HOL) with priority jump technique. Their approach developed and imposed a
A FUZZY LOGIC APPROACH
51
time limit on the waiting time of a cell in a queue. Once the limit is exceeded, the cell is advanced to the output port. The queuing time is reduced at each queue. Their simulation results show improved performance over traditional threshold and pushout techniques. Hashemi and Leon-Garcia (1997) proposed a cell sequencer/scheduler buffer architecture which numerically positions cells in a buffer based upon its tag value and priority class. Using this structure, cells with the lowest priority and tag value are discarded first if the buffer overflows, while cells with the highest priority and tag value are propagated first to its output port. Hashemi, et al. did not provide a strategy for allocating tag values. (Chao (1991)) proposed using the time a cell arrives to the buffer and the average arrival rate of the connection to determine tag values. All of the available techniques for buffer control management concentrate on minimizing cell loss, however, most are very limited in their implementations. For instance, many of the methods are designed to accommodate only two classes of priority traffic. As technology changes, additional classes may be introduced and new techniques will be required. Furthermore, some of the available techniques assist with determining the appropriate cell to drop when overflow occurs but do not specify the optimal order in which cells should be scheduled to leave the buffer. Another limitation of proposed strategies, is their inability to recognize that two different cells from the same class can have varying characteristics (such as routing information) which could also be taken into account in making control decisions. In the next chapter we propose a buffer control policy with fuzzy control logic that addresses some of the shortcomings of the current strategies. The proposed buffer control strategy was inspired by the “cell sequencer/scheduler” proposed by Hashemi and Leon-Garcia (1997) and the idea that sometimes it is more efficient to release lower priority cells ahead of higher priority cells as proposed by Seshadri and Srinivasan (1996).
3.
Proposed Buffer Management Technique
Our fuzzy buffer controller (FBC) is designed to apply a fuzzy controller to specify the position value for a cell entering an ATM buffer. Figure 1 depicts the overall role of the buffer control device. When a cell enters a switch, it is processed through the FBC, assigned a position value, and then placed in the buffer (or discarded) based on the position value. Position values are determined based upon the CLP parameter, end-to-end delay parameter, and the state of the buffers along the path of the connection. These three factors determine the input variables to our fuzzy controller. In our model, the CLP requirement is represented as the first input variable, CLASS. Since ATM standards support two classes of priority, CLASS is quantified with only two linguistic values: high and low. The end-to-end delay parameter that is established upon connection, indicates the total time that a cell has to travel from its source to its destination. Naturally, cells with lower end-to end delay values should be given priority to cells with higher values in order to accommodate the QoS constraints of all
52
LIGHTNER
Figure 1. Overall switch architecture.
connections. The FBC utilizes a “relative delay” parameter, AFFORDABLEDELAY, as the second input variable. AFFORDABLEDELAY is defined as the average amount of time a cell could wait in any buffer along its path and still reach its destination within the allowable delay. When a cell first enters a switch, a crisp value of AFFORDABLEDELAY is computed as: AFFORDABLEDELAY =
E T E − P AT H , LI NKS
where E T E = the end-to-end delay parameter; P AT H = the total time it takes to traverse each of the links in its path (assuming all links are immediately available); and L I N K S = the total number of links in its path. As a cell resides in a buffer, the AFFORDABLEDELAY value is updated and reduced. In fuzzifying AFFORDABLEDELAY values we use three linguistic values: low, medium, and high. The third factor that affects the position value of a cell is the status of buffers along the path of a cell. A cell can be lost in subsequent buffers along its path due to buffer overflow. By considering the likelihood that a cell will be discarded at a subsequent buffer if immediately released, cells which appear likely to be subsequently discarded can be delayed in the current buffer or even dropped if the current buffer is full. If the cell is delayed in the current buffer, the path of the cell might be less congested when it is finally released, thus “saving” the cell. If the cell is dropped, this will “save” some other cell and can potentially reduce the number of lost cells. In our FBC, the third input variable quantifies the state of the next buffer along the path of a cell. This variable, referred to as STATE, measures the fraction of the buffer’s capacity that is occupied. STATE has three values: low, medium, and high. The FBC is designed as a fuzzy control system. Therefore, the standard system components of a fuzzy control system, the fuzzification mechanism, fuzzy
A FUZZY LOGIC APPROACH
53
rule base and inference engine, and defuzzification procedure are present in our model. The FBC also has some additional features which assist with processing and updating information about cells contained in the buffer. The basic elements of the FBC are described as follows:
Cell Processor: The cell processor processes the CLP, end-to-end delay, and routing information of an entering cell and ascertains the values of CLASS, x1 , AFFORDABLEDELAY, x2 , and STATE, x3 . Fuzzifier: The fuzzifier converts the input variables into fuzzy linguistic values for interpretation by the inference engine. Fuzzy rule base and inference engine: The fuzzy rule base contains a set of fuzzy control rules that determine the position value of an incoming cell. The inference engine provides the logic by which the rules are activated. Defuzzifier: The defuzzifier converts the cell’s fuzzy linguistic position value, denoted POS, into a crisp value, using a defuzzification mechanism. Update Procedure: Updates the position values of the cells already in the buffer.
The position value of a cell is computed using the first four components of the FBC. The update procedure is performed before placing an arriving cell in a sequence position in the buffer. Information that determines the position values of cells changes as cells move from one switch to another and while they wait in a buffer. The AFFORDABLEDELAY value of a cell will decrease as the cell waits in a buffer. The STATE value of a cell can change while it is waiting due to activity at the next switch on its path. As a result, it is necessary to update the position values of all cells currently in the buffer before placing (or discarding) the arriving cell. Figure 1 illustrates the complete FBC process. From this diagram we see that the following process occurs each time a cell arrives at a switch: 1. The cell enters the switch. 2. The cell processor reads the QoS parameters and routing information contained in the cell’s header, and determines the crisp values of CLASS, x1 , AFFORDABLEDELAY, x2 , and STATE, x3 . 3. The input variables are fed to the fuzzifier, where they are fuzzified and passed to the rule base. 4. The inference engine applies approximate reasoning techniques to fire the applicable rules to produce the fuzzy output, POS. 5. The defuzzifier evaluates the fuzzy output variable, POS, and assigns the cell a crisp position value. 6. The update procedure updates the position values of the cells currently waiting in the buffer by repeating steps 2–4 for each cell. Once steps 1–6 are completed, the cells are placed in the buffer in accordance with their position values. If the buffer was full, the cell with the lowest position value is discarded. Thus the arriving cell may either be placed in the buffer or
54
LIGHTNER
Figure 2. General functions of the FBC.
discarded. The cell in the first position (with the highest position value) of the buffer is always scheduled to be transmitted first.
4.
FBC Parameter Design
The fuzzy buffer control design presented in the previous section depends on four key elements: the membership functions of the values of each variable, the fuzzy rule base, the approximate reasoning method, and the defuzzification technique. These components completely define the proposed FBC. Recall from Figure 2 that the second module in the FBC is the fuzzification process. The third module in the FBC is the fuzzy rule base and inference engine. The inference engine applies approximate reasoning techniques to implement the fuzzy rule base and provide a fuzzy output. After the fuzzy output set is obtained, the defuzzification mechanism produces a best representative of this set.
4.1.
Membership Functions
Every input and output variable value is represented by a membership function. We adopt the most commonly used triangular and trapezoidal membership functions for variable values. Figure 3 illustrates a trapezoidal membership function which is defined by the parameters a, b, c, and d. Triangular membership functions are trapezoidal functions where b = c. In the last section we defined three input variables and one output variable for the FBC. The first input variable, CLASS, gives the priority class of a cell. ATM standards currently support two priority classes, high and low. Therefore, in our FBC, CLASS is defined with two linguistic values, high and low, with triangular membership functions. The remaining input variables, AFFORDABLEDELAY and STATE, as well as the output variable, POS, are defined with three linguistic values: high, medium, and low, with trapezoidal membership functions. The performance of our FBC depends on the parameter values used to define our membership functions. A great deal of literature has been dedicated to optimally determining fuzzy control system parameters (Herrera et al (1998),
A FUZZY LOGIC APPROACH
55
Figure 3. Sample trapezoidal membership function.
Homaifar and McCormick (1995), Marinelli et al (1998)). In general, the process of defining membership functions can be greatly simplified with extensive knowledge of the system. Unfortunately, however, such knowledge is not always readily available. When there is limited information about the mathematical description of the system and its parameters, a tuning technique must be applied to the system to obtain parameters which yield high system performance. We will discuss the issue of specifying our membership function parameters in Section 5.
4.2.
Rules
Our FBC has three input variables. CLASS has 2 fuzzy values; AFFORDABLEDELAY has 3; and STATE also has 3 fuzzy values. Hence, there are 18 different possible combinations of input values. Accordingly, our fuzzy rule base consists of 18 rules which specify the appropriate control action which should be applied under each set of potential input values. For each rule, the fuzzy value of the output variable POS must be assigned a value, call it Ri . Since POS has 3 fuzzy values, Ri can be assigned low, medium, or high. Since the fuzzy control rules directly determine the control action for our FBC, it is essential that our rules are defined with consequent values (Ri ) which give the best system performance. A tuning technique can also be employed to obtain consequent parameters which yield high system performance.
4.3.
Approximate Reasoning and Defuzzification
Approximate reasoning provides a mathematical platform for executing the fuzzy rule base. There are many standard fuzzy operators that fall under the umbrella of approximate reasoning (Klir and Yuan (1995), Zimmermann (1991)). We experimented with different options to determine the operators
56
LIGHTNER
to use in our model. Ultimately, for computational simplicity, we adopted Mamdani’s implication rule, the minimum intersection operator, and the maximum union operator. Once the fuzzy rule base and inference engine act on the fuzzified input to produce a fuzzy output set, this fuzzy set must be converted into a crisp output value which specifies the appropriate control action. The role of defuzzification methods in a fuzzy control system is to produce a crisp output value which is the best representative of the fuzzy output set. There are several defuzzification techniques discussed in literature (Klir and Yuan (1995), Zimmermann (1991)). After experimenting with different techniques, we selected the well known defuzzification technique, the center of area method (Hellendoorn and Thomas (1993)).
5.
FBC Parameter Specification
The performance of our FBC ultimately depends on the parameters that define our membership functions, and the consequent values for our fuzzy control rules. Thus it is essential that these elements are defined in a manner which gives the best system performance. “Tuning” is term used to define the process of iteratively modifying the parameters of a rule base and/or membership functions based on observed system performance until satisfactory performance is obtained. Some common search techniques that have been used to tune fuzzy control system parameters include neural networks, genetic algorithms (GAs), and simulated annealing. A review of literature on tuning techniques revealed that GAs are the most widely used technique in this area. GAs have been used successfully in parameter tuning of fuzzy control systems (Gen and Cheng (1997), Michalewicz (1992)). Genetic Algorithms were originally developed by Holland (1975) as a stochastic search technique based on the principles of evolution. Evolution is a process that operates on chromosomes (organic mechanisms that encode the structure of living beings). Chromosomes are comprised of many individual genes. The process of natural selection causes chromosomes that encode successful, or fit, structures to recombine more often than the others. Through crossover processes new chromosomes are created by combining the genes of two parent chromosomes. Mutation also causes some of the genes of a child to be different from the parents. Repopulation of the next generation is done by selecting the more fit chromosomes to go on to the next generation. Holland developed genetic algorithms to incorporate the features of natural selection into computer algorithms to solve optimization problems. A genetic algorithm for an optimization problem starts with a population of initial solutions to the problem which are encoded as a string of numbers. This string of numbers is referred to as a “chromosome.” The genetic algorithm then operates on the chromosomes via crossover processes and mutation and specifies the individuals to pass from one generation to the next. The aim of this procedure is to produce improved (or more fit) chromosomes at each generation Holland (1975).
A FUZZY LOGIC APPROACH
57
There are two general approaches for implementing genetic algorithms. One approach involves tuning membership functions and rules separately. Typically these methods work by fixing the rule base and finding the optimal membership functions or by fixing the membership functions and finding the optimal rule base. By alternating the GA objectives in this manner until little improvement can be obtained, the GAs can find near optimal parameters. The second considers the interdependency of membership functions and fuzzy control rules, and seeks to simultaneously tune these parameters. In the sequel, these approaches will be referred to as “Alternating GA” and “Simultaneous GA”, respectively. The main components in the design of genetic algorithms include: representation, genetic operators, fitness evaluation, selection, and selection probabilities.
5.1.
Representation
Representation refers to the encoding scheme that is used to represent a solution as a chromosome. We use two separate encoding techniques for membership functions and rules. A chromosome may contain just membership function parameters or rules, or both, depending upon whether a simultaneous or alternating GA is employed. We will discuss the genes encoding the rules and membership functions as separate chromosomes. If the simultaneous GA technique is utilized, then the rules chromosome and the membership functions chromosome can simply be regarded as subsections of a single chromosome. The appropriate operations and encoding schemes will be used for each section. Our encoding scheme requires only that chromosomes representing membership functions be valid. A membership function chromosome is considered valid when its genes satisfy the following: 1) The parameters for any variable value must be ordered such that a ≤ b ≤ c ≤ d; and 2) For every fuzzy variable, the parameters for a value must be less than or equal to the corresponding parameters for the higher values of the variables. Figure 4 depicts a chromosome encoding membership functions. In Figure 4, notice that the endpoints for the low and high fuzzy categories for each trapezoidal variable are not represented. These values are fixed to the lower and upperbounds, respectively, of each variable. This simplification follows directly from our variable definitions. The genes of a chromosome representing fuzzy rules are encoded so as to specify the value of the consequent of every rule. For our problem we have 18 rules. Hence, a rules chromosome has 18 genes with genes having value Ri {1, 2, 3}. An Ri value of 1 represents the low value, 2 represents the medium
Figure 4. The architecture of a chromosome encoding membership functions.
58
LIGHTNER
Figure 5. The rules section of a chromosome.
value, and 3 represents the high value. Figure 5 illustrates a chromosome for encoding fuzzy rules.
5.2.
Genetic operators
We utilize crossover and mutation as our genetic operators. Separate genetic operations are defined for membership functions and rules. Crossover for both is performed by selecting a crosspoint, and then interchanging the genes of two parent chromosomes up to the crosspoint. Crosspoints for rules chromosomes are randomly selected. For membership functions, crosspoints can be chosen between variables or between variable values. In Figure 4, we see that crosspoints for a membership function chromosome can be chosen after the 6th, 14th, or 22nd gene positions if “whole variable crossing” is employed, and after the 3rd , 6th, 8th, 12th, 14th, 16th, 20th, 22th, 24th, and 28th gene positions if “variable value crossing” is utilized. We experimented with both stochastic sampling and roulette wheel (Michalewicz (1992)) selection to select chromosomes for crossover. The roulette wheel approach yielded the parameters that provided the best system performance, hence it was chosen for selecting chromosomes for the crossover process. Furthermore, after numerous experimental tests, we selected 0.9 as the crossover probability value. Mutation is done by randomly selecting genes and altering their values. For a rules chromosome, a gene is altered by randomly selecting a different Ri value. For example, if R1 equals 2, then this gene is changed to 1 or 3, each with probability 0.5. For a membership function chromosome, the value of a gene representing a parameter, gi , is mutated in the following manner: gi = li + r (u i − li ), where r is a random number between 0 and 1, u i is the upper bound on gi , and li is the lower bound on gi . The upper and lower bounds for a fuzzy variable and the validity requirements determine the values of u i and li . We experimented with various probability schemes for selecting genes to mutate. Ultimately we selected a dynamic mutation probability function. Let pm i be the probability that each individual gene will be selected for mutation. The variable pm i is computed as: pm i = 0.05 +
0.25(N − i) N
where i is the generation number, and N is the maximum number of generations. Using a dynamic selection probability allows the GA to begin searching a broad search space but eventually converge upon a smaller region.
A FUZZY LOGIC APPROACH
59
Fitness Evaluation and Selection The fitness evaluation function mathematically expresses the worth or “fitness” of a chromosome. GAs are only concerned with finding the best or “most fit” chromosomes for the final population. The simplicity of this process makes it very easy to alter the objective of the GA to obtain a final population which achieves a different goal by simply changing the fitness function. For example, for our FBC we could use our GA to minimize the number of end-to-end delay violations (subject to the end-to-end QoS constraint), minimize the total number cells lost (subject to the CLP parameter), or both, by adjusting the fitness function. We have chosen to focus on minimizing the total number of cells lost (subject to the CLP requirements). To estimate cell loss performance, we will simulate the FBC method under the rules and membership functions dictated by a chromosome and observe the total number of cells lost. If the simulated controller does not satisfy the required CLP, the chromosome is immediately discarded. At each generation, the chromosomes with the lowest fitness values among the parents and children are selected to advance to the next generation.
6.
Experimental Design
In this section we develop the experimental network, network assumptions, and experimental trials that will be used to compare the performance of the proposed fuzzy buffer controller design to the traditional pushout and threshold methods. In the next section, we simulate the implementation of our FBC along with implementations of the pushout and threshold methods on the experimental network and compare their performance under the various tests.
6.1.
Experimental Network Scenario
We adopt a network topology from Balakrishnan, et al (1995) as our ATM network. The network is shown in Figure 6. Each of the links in the network is 2 km in length and has a bandwidth of 100 Mbps. All links service cells at a rate of 1 cell per unit time, s (propagation delay is negligible). In order to simplify our calculations, we will use the symbol s to represent 4.24 µs. Nodes 2–4 are purely switching nodes, thus calls do not originate or terminate at these nodes. The network has output buffers with a capacity of 10. In order to simplify our analysis we make several assumptions, while maintaining the integrity of an actual ATM network. In an actual ATM network, cells that are from the same connection must all have the same QoS specifications and route. However, since we are not concerned with the number of cells lost from a single connection, we do not purposely create multiple cells with the same attributes. We assume that all cell generating nodes generate cells with a mean interarrival time λ = 0.62 s. A cell is routed, from its source to its destination, following the shortest path.
60
LIGHTNER
Figure 6. Experimental ATM network.
Typically ATM networks are designed to accommodate a CLP for high valued cells as low as 10−23 . It would not be feasible to conduct simulation analysis on a network which has a CLP requirement that is this small due to the excessive computational time that would be required. Pitts and Schormans (1996) discuss rescaling system parameters to reduce the computational time needed to model system properties. By increasing the CLP and other system parameters, we decrease the number of cells that must be generated to capture the desired characteristics of the system. In order to carry out the necessary simulation experiments that are required to develop our FBC technique, our system is designed to maintain an average CLP of 10−3 for high valued cells, which is significantly higher than the usual CLP values. With our system design, when a user makes a request to transmit high valued traffic, we can guarantee a CLP of 10−3 or lower for their connection. Below we will compare the performance of the simulated implementations of the buffer control methods under two experimental tests: (1) Varying mean interarrival times (λ); and (2) Varying the fraction of high traffic generated ( p). The first test is conducted in order to test the robustness of the buffer control techniques with respect to traffic intensity. In ATM networks, users transmit data at varying rates. Although the network is designed to limit the mean interarrival times to λ = 0.62 s for each cell generating node, if users violate their contracted agreement and transmit data at a higher rate, a buffer control method must be able to maintain the QoS parameters for its remaining customers until the problem is corrected. The second test compares the performance of buffer control techniques under different traffic patterns. Currently, low valued cells dominate ATM traffic. However, given the new trends that are emerging in telecommunications, the number of connections transmitting high valued traffic is steadily increasing. Thus, a buffer control management scheme should be able to handle varying levels of cell priority traffic.
A FUZZY LOGIC APPROACH
6.2.
61
Setting the FBC Parameters
We used the GA design presented in the Section 5 to parameterize the membership functions and set the fuzzy rule base for our FBC, based on our objective of minimizing the number of cells lost subject to the QoS constraints. The ATM network scenario presented above was designed to ensure that we can guarantee and provide a CLP of 10−3 , or less, for all high valued traffic. Thus our objective can be expressed as: Min x1 + x2 s.t. x1 −3 N1 ≤ 10 x1 , x2 ≥ 0
(1)
where N1 is the total number of high valued cells which enter the system over a specified interval of time, x1 is the number of high cells lost, and x2 is the number of low cells lost. This objective was incorporated into the GA fitness function to tune our ATM network and obtain the membership functions and rules that best achieve this goal. Both the simultaneous and alternating strategies were employed. Both GA strategies were implemented for 150 generations, with a fixed population size of 50 chromosomes. In anticipation of the studies discussed above, we carefully examined the chromosome solutions in the final population (of the each GA technique) which yielded the lowest total cell loss. Ultimately, we selected the parameters which showed the best overall performance under varying potential ATM conditions. The final membership functions and fuzzy rule base (obtained using the Alternating GA technique) are shown in Figures 7–11. In the next section, we give the results of experimental tests using the final parameters obtained from our GA technique.
7.
Performance Results
The simulation was coded as a discrete event simulation in Awesim and Visual C. The arrival process for traffic at each cell-generating node was assumed to be exponential. As stated in Section 6.1, the test system was designed to handle the scenario with a common mean interarrival time, λ, (taken to be 0.62 s) for each cell-generating node. The simulations were executed on a 400 MHz IBM personal computer. Every simulation run was of duration 900 s (s represents 4.24 µs). All of the numerical results presented in this section were obtained by averaging the results of 10 separate runs. We used common random number seeds to insure that each method was applied to the same streams of cell traffic.
62
LIGHTNER
CLASS
1 high
low
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.5
1
1.5
2
2.5
3
3.5
4
Figure 7. CLASS membership function for the Alternating GA. AFFORDABLEDELAY 1.2 low
high
medium
1
0.8
0.6
0.4
0.2
0 0
5
10
15
Figure 8. AFFORDABLEDELAY membership function for Alternating GA.
20
25
63
A FUZZY LOGIC APPROACH
STATE
medium
low
high
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.9
1
Figure 9. STATE membership function for Alternating GA. high
medium
low
POS 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
0.1
0.2
0.3
0.4
0.5
Figure 10. POS membership function for Alternating GA.
0.6
0.7
0.8
64
LIGHTNER
Figure 11. Fuzzy rule base for Alternating GA.
7.1.
Varying the Arrival Rate
Our system was designed to allow cell-generating nodes to transmit traffic(from one or more connections) at a maximum rate of λ1 = 1.613 cells/s (380424 cells/s). All traffic will satisfy its promised CLP of ≤ 10−3 provided these sites do not exceed this agreed upon transmission rate. If a node transmits traffic at a rate which exceeds this threshold, the guaranteed QoS parameters are no longer binding. However, systems are usually designed so that the QoS values can be met even if nodes exceed their contracted maximum rate by a small amount. To examine the relative cell loss performance of our FBC models and the pushout and threshold methods over a range of traffic levels, we varied the mean interarrival time, λ, from 0.3 to 0.85. We fixed p = 0.5 for this experiment. Figures 12–14 display the impact of varying λ on the performance of the pushout, threshold, and FBC methods. We note that for λ < 0.6 s, none of the techniques could produce results that satisfied the CLP constraint. Nonetheless, these figures reveal that for λ ≥ 0.6 s, the number of low cells lost and the total cell loss is reduced when either FBC model (with Alternating GA or Simultaneous GA parameters) is employed, while the number of high cells lost is increased. Hence, for the performance objective of minimizing total cell loss, both FBC techniques outperform the pushout and threshold methods for feasible values of λ (i.e. the values of λ that meet the CLP constraint). Furthermore, for λ ≥ 0.6 s the total cell loss for the FBC tuned with the Alternating GA is either less than or equal to the total cell loss for each of the other techniques.
65
A FUZZY LOGIC APPROACH
15
Number of Low Cells Lost
Alt. GA Sim. GA Pushout Threshold
10
5
0 0.6
0.62
0.64
0.66
0.68
0.7
0.72
0.74
0.76
0.78
0.8
Mean Interarrival Time
Figure 12. Comparison of low cell loss under varying arrival rates. 8 Alt. GA Sim. GA Pushout Threshold
7
Number of High Cells Lost
6 5 4 3 2 1 0 1 0.55
0.6
0.65
0.7
Mean Interarrival Time
Figure 13. Comparison of high cell loss under varying arrival rates.
0.75
0.8
66
LIGHTNER
20 Pushout Threshold Alt. GA Sim. GA
18
16
Total Number of Cells Lost
14
12
10
8
6
4
2
0 0.6
0.62
0.64
0.66
0.68
0.7
0.72
0.74
0.76
0.78
0.8
Mean Interarrival Time
Figure 14. Comparison of total cell loss.
The traditional techniques reduce high cell loss more than our FBC techniques. Despite the fact that the system only guarantees that the fraction of high cells lost will be less than 10−3 , these techniques work to minimize high cell loss beyond this CLP constraint. This apparent concentration on minimizing high cell loss, results in greater low cell loss. The FBC technique is able to reduce total cell loss by aiming to only satisfy the CLP, instead of minimizing high cell loss. Furthermore, the FBC techniques achieves low cell loss reduction by increasing the time that low cells stay in the buffers when the controller realizes that an early release could result in its loss in subsequent buffers. Since low cells generally do not have tight end-to-end delay requirements, ‘saving’ low cells in this manner is acceptable. These results indicate that even if all connections were to violate their agreed mean interarrival time, λ, by transmitting traffic with λ as low as 0.6 s, our proposed FBC with Alternating GA parameters would give the best performance in minimizing total cell loss, while providing the desired CLP. The presence of policing mechanisms in ATM networks help to ensure that users do not violate this agreement. Therefore, little abuse of network resources ever occurs.
7.2.
Varying the Fraction of High Cells Generated
The parameter p, which represents the fraction of high valued traffic, was fixed at 0.5 for all of the experiments in Section 7.1. This distribution of traffic is
67
A FUZZY LOGIC APPROACH
Table 1. Comparison of buffer control techniques for varying p. p
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Pushout Method total cells lost 8.2 8.2 8.2 8.1 8.1 8.2 8.1 8.1 8.2
Threshold Method total cells lost 12.7 12.3 12.1 12 11.4 11 10.9 10.2 9.8
Alternating GA total cells lost
Simultaneous total cells lost
7.5 7.4 7.8 7.6 7.4 7.1 8.1 8.4 8.2
8 7.8 7.8 7.6 7.4 7.9 8 8 8.1
not always the case in ATM networks. In fact, during many periods of the day mainly low cells (representing data or voice traffic) utilize the network, while during a few periods a considerable number of high cells (such as from medical imaging or video conferencing applications) are transmitted across the system. In todays society, since our most commonly used communication sources utilize voice and data applications, it is very unlikely that our system will be dominated by expensive, loss-sensitive cells. Nevertheless, an efficient buffer control policy should be capable of managing traffic under all mixes which occur throughout the day. To examine the relative performance of the buffer control techniques over a range of traffic mixes, we varied the fraction of high cells generated from 0.1 to 0.9. For this experiment we fixed λ = 0.62 s. Table 1 compares the total cell loss results for the various techniques. Note that the CLP constraint is always satisfied for all values of p. This table reveals that a total cell loss reduction is achieved with both FBC systems over the conventional methods for the varying values of p. Moreover, the system tuned with the Alternating GA gives the best results for p < 0.7. For 0.7 ≤ p ≤ 0.9 the Alternating GA is outperformed by the FBC tuned with the Simultaneous GA. Despite the increased total cell loss experienced in this range, the Alternating GA system is still the preferred technique for this experiment. Since it is highly unlikely that high cell traffic will ever dominate a network’s resources, p ≤ 0.6 is more common and realistic for an ATM network. Hence, the Alternating GA gives the best performance under the most common ATM network scenarios.
8.
Conclusions and Future Directions
In this paper, we have introduced a buffer control management scheme which is based on fuzzy logic. The proposed technique provides a strategy for scheduling cells to its output port, and determining the appropriate cells to drop when buffer overflow occurs, in a manner which minimizes total cell loss. This technique is easily adaptable as new technology emerges to the management of an expanded set of priority classes of traffic.
68
LIGHTNER
The performance of our technique has been evaluated through several simulations and compared, using computer simulation, to two of the most popular buffer control strategies, the threshold and pushout methods. The results obtained show that our fuzzy controller is better than the conventional approaches. The promising results obtained in this research serve as strong motivation for conducting additional studies on the implementation of our technique in realistic ATM networks. Future work will look at employing accelerated simulation techniques to permit the simulation of more realistic ATM cell loss probability values. In addition, our research can be extended to incorporate fuzzy control in other aspects of an ATM network management.
References Abuelyaman, E., A. Kuzhiyil, and K. Mossaad. (1998). “On theOptimization of QoS in ATM Networks,” Proceedings of the 36th Annual ACM Southeast Regional Conference, 111–120. Arpaci, M. and J. A. Copeland. (1998). “Buffer Management for Shared-Memory ATM Switches,” IEEE Communications Surveys and Tutorials. Ascia, G., V. Catania, and D. Panno. (2001). “An Adaptive Fuzzy Threshold Scheme for High Performance Shared-Memory Switches,”Proceedings of the 2001 ACM Symposium on Applied Computing, Las Vegas. Ascia, G., V. Catania, and Daniela Panno. (2001). “A Fuzzy BufferManagement Scheme for ATM and IP Networks,” IEEE INFOCOM 3,1539–1547. Ascia, G., V. Catania, and Daniela Panno, (2002) “An Efficient Buffer Management Policy Based on an Integrated Fuzzy-GA Approach,” IEEE INFOCOM, 2, 1042–1048. Balakrishnan, K., D. Tipper, and D. Medhi. (1995). “Routing Strategies for Fault Recovery in Wide Area Packet Networks. Proceedings of the IEEE Military Communications Conference (MILCOM‘95) 3, 1139–1143. Bonde, A. R. and S. Ghosh. (1994). “A Comparative Study of Fuzzy Versus Fixed Thresholds for Robust Queue Management inCell-Switching Networks,” IEEE/ACM Transactions on Networking, 2(4), 337–344. Bromirski, M. and J. Haratym. (1997). “Prioritized State-Dependent Buffer Management Schemes in ATM Switch,” IEEE MILCOM 1, 460–464. Chang, C.-J., C.-H. Yu, C.-S. Chang, and L. Lin. (2004).“Intelligent Leaky Bucket Algorithm for Sustainable-Cell-RateUsage Parameter Control in ATM Networks,” 6(5), 749–759. Chao, H. J., (1991). “A Novel Architecture for Queue Management inATM Networks,” IEEE GLOBECOM 3, 1611–1618. Dou, C. and M. Shieh. (1996). “A CAM-Based VLSI Architecturefor Shared Buffer ATM Switch with Fuzzy Controlled Buffer Management,”IEEE MILCOM 149–152. Gen, N. and R. Cheng. (1997). Genetic Algorithms and Engineering Design, John Wiley and Son: New York. Hashemi, M. R. and A. Leon-Garcia. (1997). “A General Purpose Cell Sequencer for ATM Switches,” IEEE INFOCOM ’97, 1, 29–37. Hebuterne G., and A. Gravey. (1989). “A Space Priority Queuing Mechanism for Multiplexing ATM Channels, ”ITC SpecialistSeminar, Paper No. 7.4, Adeliade. Hellendoorn, H. and C. Thomas. (1993). “Defuzzification in Fuzzy Controllers,” Journal of Intelligent and Fuzzy Systems 1, 109–123. Herrera, F., M. Lozano, and J. L. Verdegay. (1998), “A Learning Process for Fuzzy Control Rules Using Genetic Algorithms,” Fuzzy Sets and Systems, 100, 143–158. Holland, J. H. (1975). Adaptation in Natural and Artificial Systems, Ann Arbor, MI: University of Michigan.
A FUZZY LOGIC APPROACH
69
Homaifar, A. and E. McCormick. (1995). “Simultaneous Design of Membership Functions and Rules Sets for Fuzzy Controllers Using Genetic Algorithms,” IEEE Transactions on Fuzzy Systems,3(2), 129–138. Klir, G. and B. Yuan. (1995). Fuzzy Sets and Fuzzy Logic:Theory and Applications, Prentice Hall: Upper Saddle River, NJ. Kroner, H. (1989). “Buffer Access Mechanisms for Multiplexing of Different Traffic Classes in an ATM Network,” Doc. RaceUST-123-008-CD-CC, April 25. Lin, H. and Y. Ouyang. “Neural Network Based on Traffic Prediction for Cell Discarding Policy,” IEEE International Conference on Neural Networks 4, 2051–2056. Marinelli, C., G. Castellano, G. Attolico, and A. Distante. (1998). “Optimization of a Fuzzy Controller by Genetic Algorithm,” High Performance Computing and Networking, 922–924. Michalewicz, D. (1992). Genetic Algorithms + Data Structure = Evolution Programs, SpringerVerlag: New York. Petr D. W. and V. S. Frost. (1991). “Nested Threshold Cell Discarding for ATM Overload Control: Optimization under Cell Loss Constraints,” IEEE INFOCOM 3, 1403–1412. Pitts, J. M. and J. A. Schormans. (1996). Introduction to ATM Design and Performance, John Wiley and Sons: New York. Royand R. and S. S. Panwar. (2002). “Efficient Buffer Sharing inShared Memory ATM Systems with Space Priority Traffic,” IEEECommunications Letters, 6(4), 162–164. Salamah, M. (2001). “A Fuzzy Based Traffic Policing Mechanism for ATM Networks,” ACS/IEEE International Conference on ComputerSystems and Applications, 31–35. Seshadri, S. and V. Srinivasan. (1996). “Design of Effective Buffer Control Policies for ATM Networks,” Performance Evaluation 26, 95–115. Tipper, D. S. Pappu, A. Collins, and J. George. (1995). “Space Priority Buffer Management for ATM Networks,” Asynchronized Transfer Mode Networks, Eds. Y. Viniotis and R.O. Onvural, Atech House Publishing: Norwood, MA, 157–166. Xinyu, W. and G. Ling. (1998). “The Application of Fuzzy Logic in Real-Time Traffic Control in ATM Networks,” International Conference on Communication Technology 1, 467–471. Zimmermann, H.-J. (1991). Fuzzy Set Theory and its Applications, Boston, MA.