Fuzzy Logic Application-Specific Processor for Traffic Control in ATM Network

Zoran Salcic, Department of Electrical and Electronic Engineering, The University of Auckland, Private Bag 92019, Auckland, New Zealand
Abstract - Fuzzy logic appears a promising approach to address many important aspects of networks, particularly the traffic control in ATM (Asynchronous Transfer Mode) network. In this paper we first investigate a fuzzy logic based model for traffic control in ATM. ATM traffic model and traffic control using fuzzy controllers are first simulated using MatLab. Then, an application specific fuzzy controller is developed and described. It is based on our generic Fuzzy Logic Application Specific Processor (FLASP), which is implemented in Field-Programmable Logic Device. The verified results show that this hardware design can perform all control tasks successfully for relatively high speed data transfers in ATM networks.

I. INTRODUCTION Fuzzy models have supplanted more conventional technologies in many scientific applications and engineering systems, especially in control systems and pattern recognition [1]. There are a number of approaches to implement the fuzzy logic systems. They can be software-only, hardware-only or the combination of software and hardware. Suitability of an implementation approach depends mostly on the application type and performance requirements. The partitioning of the solution to its software and hardware parts can be done with respect to different criteria (for example, propagation or execution time, response time, reliability, price, etc). Software part requires a processor, on which it will run, while hardware part can be in a form of functions implemented as functional units and used as the standard blocks available at design time from a digital design library. In the recent years, the FPLD technology [2] has been used to implement fuzzy logic for solving real-world problems such as image processing, robotics and motion control, fuzzy database and industrial engineering applications [36]. Fuzzy logic systems are also spreading application in the field of telecommunications, particularly in the broadband integrated networks based on ATM technology [7]. ATM is an emerging technology, which can support mixed types of traffic (data, voice, audio, video). In this kind of network, one of the most critical functions is “policing” which has the task of forcing that each user source complies with the traffic parameters negotiated at the time of call set up to avoid network congestion. As the ATM sources have different statistical properties this function is difficult to implement with conventional crisp evaluation methods [8].

The capability to formalise approximation of the reasoning process offered by fuzzy logic provides a promising solution. In this paper we investigate the ATM traffic control problem and its fuzzy logic solution. First, we introduce the problem of traffic control in ATM and its fuzzy logic controller. The model and controller are thoroughly simulated using MatLab in order to validate the approach. Then we describe an approach to implement controller using unique generic Fuzzy Logic Application Specific Processor (FLASP), which can be used to implement unique fuzzy systems in Field-Programmable Logic Devices (FPLDs). At the end we describe some of the verification results and discuss limitations and advantages of the applied approach. II. ATM TRAFFIC CONTROL ATM has been accepted as the switching technique for the broadband integrated services digital network (BISDN) capable of supporting multimedia services (video, voice, data). It performs transmission and switching of digital information in fixed length packets (53 bytes) called cells. It operates in connection-oriented mode, with the cells all following the same itinerary defining a virtual connection between a transmitter and several receivers. Traffic control in ATM implies a set of actions taken by the network to avoid congestion. Two major functions are adopted for this purpose: Connection Admission Control (CAC): CAC represents the set of actions taken by the network at call set-up phase in order to accept or reject an ATM connection. When a user requests a new ATM connection, the user must specify the traffic characteristics by selecting a QoS (Quality of Services such as peak-to peak Cell Delay Variable, max Cell Transfer Delay, Cell Loss Ratio) that the network provides. The network checks if the network resources are available for accepting this new connection while at the same time maintaining the agreed QoS of existing connections. By accepting the connection, the network forms a traffic contract with the user. Once the connection is accepted, the network continues to provide the agreedupon QoS as long as the user compiles with the traffic contract. Usage Parameter Control (UPC): Once a connection has been accepted by the CAC, the UPC function of the network monitors the connection and whether the traffic conforms to the traffic contract. This function is sometimes also called policing function. The main purpose of UPC is

e-mail: z.salcic@auckland.ac.nz

to enforce the compliance of every ATM connection to its negotiated traffic contract and to protect network resources from an overload on one connection that would adversely affect the QoS on other connections. It detects violations of assigned parameters and takes appropriate actions such as cell-dropping, cell-marking, or shaping the source rate. An ideal UPC algorithm should meet the following requirements: • • • Capabilities of detecting any non-compliant traffic situation. Rapid response time to parameter violations Simplicity of implementation

per time window Ni is dynamically updated by inference rules based on fuzzy logic. The primary goal of the fuzzy policing model is to force the source to respect the negotiated long-term average cell rate λn throughout the duration of connection. This goal must be achieved by taking into consideration the requirements of an ideal policer: to allow for short-term fluctuations in cell rate as long as the overall cell rate is maintained legal and at the same time detect a violation immediately. To focus on these conflicting demands, the policer must allow a period of high cell rate that exceeds the negotiated rate in order to accommodate for source rate fluctuations. At the same time, the policer must determine when the excessive cells are considered illegal and need to be discarded. This goal is achieved by a “credit” method, in which the policer allows the source any cell rate as long as the source does not violate the traffic contract. This credit is consumed if the source starts to transmit cells at a higher rate than negotiated. The “credit“ method is applied to the cells rejection threshold Ni by a fuzzy logic system. The parameters used in fuzzy policing model are made up of linguistic variables and fuzzy sets, while control action is described by a set of fuzzy conditional rules. The input variables for the fuzzy policing model are: 1)Aoi---the average number of cell arrivals per window since the beginning of the connection; 2)Ai--- the average number of cell arrivals in the last window; 3)Ni--- the controller threshold (allowed cells per window) in the previous window. The output variable is: ∆Ni+1---the variation to be made to the threshold Ni in the next window. The membership functions are shown in Figures 1, 2 and 3.
Aoi and Ai membership functions Low 1.0 Medium High

UPC can be done at both the virtual path and virtual channel levels. The place at which UPC exercises are virtual path switch node or virtual channel switch node depending on configurations. As ATM is intended to support a variety of traffic types, one of the most crucial problems lies in the fact that the sources to be characterised have different statistical properties as they range from video to data services. It is necessary to define parameters that can be monitored during the call. Another key issue is how to define a traffic enforcement mechanism, which can meet the requirements mentioned above. Methods such as the leaky bucket and window mechanisms have been proposed. However, the results are not so satisfactory [9]. From a decision point of view, those methods based on conventional algorithms are crisp decision makers. The decision to consider arriving cells as excessive or not is in fact a crisp logic evaluation over a set of fixed thresholds. Obviously this is not suitable for applying in ATM traffic control situation. The difficulty of characterising a policer accurately and the fuzzy logic’s capabilities to formalise approximate reasoning process lead to exploration of the alternative solutions based on fuzzy logic.[8] Fuzzy logic as the decision-making logic allows the use of algorithms that are soft decision making: the evaluation of whether the source respects the parameters negotiated or not is represented by a truth value which is not restricted to either true (the truth value is one) or false ( the false value is zero), but in a continuum of [0,1]. The softness of truth values, which is inherent in the concept of fuzzy set, along with the power expression of fuzzy inference systems, promises a more appropriate representation of the decision processes which a policing mechanism has to feature. III. FUZZY POLICING MODEL The fuzzy logic approach to UPC and comparison of the performance of the fuzzy logic and other traditional control mechanisms are discussed in [7] and [8]. The fuzzy policing model is a window-based control mechanism that rejects any number of cells in the i th time window T that is greater than the allowed threshold Ni The number of allowed cells

0.5N N 1.5N max N

Fig 1 Membership functions for Aoi and Ai input variables

Ni membership function 1.0 Low Medium High

term statistical fluctuation, the threshold value remains unchanged rule 3. A MatLab program has been developed to simulate the behaviour of this fuzzy policing model. The results are discussed as follows. The x axis represents i-th window and y axis represents number of cells. From Figure 4 (end of the paper) we can see that the long term traffic Aoi and short term traffic Ai do not exceed contract value N so that maximum credit Ni is given by fuzzy logic based policer. In Figure 5 (end of the paper) we can see that the long term traffic Aoi and short term traffic Ai exceed the contract N so minimum credit Ni can be given by fuzzy logic based policer. We have shown that that this fuzzy logic based policer can well perform traffic control as described in 18 fuzzy rules in Table 1.

0.5N N 1.5N max N

Fig 2 Membership function for Ni input variable ∆Ni+1 membership function NB 1.0 NM NS ZERO PS PM PB

-4N/16 –3N/16 -2N/16 -N/16 0 N/16 2N/16 3N/16 4N/16

IV. CONTROLLER PERFORMANCE REQUIREMENTS Before designing fuzzy processor, we must analyze the requirements on the fuzzy system in policing function. They depend on the statistical characteristics of the source to be policed.

Fig 3 Membership function for ∆Ni+1 output variable

Table 1 shows the fuzzy conditional rules for fuzzy policer model. Rule 1 in Table 1 has to be interpreted as If (Aoi is Low)and (Ni is High) and (Ai is Low ) Then (∆Ni+1 is Positive Big) Table 1 Fuzzy Rule Base
No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Aoi L L L M M M M M M H H H H H H H H H Ni H H H M M M H H H L L L M M M H H H Ai L M H L M H L M H L M H L M H L M H ∆Ni+1 PB PS Z PB PS Z PB Z NB PB PM PS PB PM Z NS NM NB


burst silence Fig 6 Bursty source traffic model


We consider bursty sources as shown in Fig 6 and indicate the cell inter-arrival time during a burst as tc(sec). T indicates duration of a control window in sec. We can see that tc is the maximum time limit within which the fuzzy policer has to make a decision, that is, infer the output ∆Ni+1 by processing the 18 rules in the knowledge base. In fact, the fuzzy policer can only begin processing rules when the input variables Aoi, A, and Ni are all available; this does not happen until the end of the current window. If we denote the latency introduced by the policer with tL, the latter can not exceed the value of tc, thus preventing a cell arriving at the beginning of the new window from escaping control action.[10]. Typical performance requirements for different types of traffic are shown in Table 2. Table 2 Performance requirements Traffic type Policer latency Packetised Voice (32Kb/s) 12 ms Still picture (2Mb/s) 192 ms Video (10Mb/s) 38.4 µs V. FLASP ARCHITECTURE A global FLASP MIMO architecture is presented in Figure 7. It consists of a number of FLASP MISO modules and a main control unit. The FLASP MISO module is composed

To understand how the fuzzy rules in the knowledge base reproduce the logic process an expert knowledge in the field would apply. Let us consider just one case: In case that the source is fully respectful (Aoi is low ) which involves rules 1-3, Ni is necessarily high due to the fact that the source has gained credit. Thus, if the number of cells that arrived in the last window is low or medium, that is, the source continues nonviolating behavior, its credit is increased rules 1,2; vice versa, if Ai is high, a sign of a possible beginning of violation on the part of the source or an admissible short-

of three main functional units (Fuzzification unit, Rule inference unit and Defuzzification unit) as illustrated in Figure 7, and two auxiliary units used for supporting the fuzzy logic operations (Clear-Memory and Division unit) are not shown in the Figure. Each unit is designed with pipelining and also supports the parallel architecture for the real-time application. The main control unit can be a dedicated FSM or a general-purpose processor. In our case FLASP functional units are synthesised into Altera's 10K FPLD family.

and control unit allowing them to operate fuzzy tasks independently and communicates with main controller in the synchronous operation mode . Two simple control signals, start_(functional unit) and end_(functional unit), are used for synchronising main controller (or FLIX [ ] core) and the fuzzy functional units controllers. The defuzzification functional unit combines the fuzzy outputs into a crisp system output based on the COG (centre of gravity) method. The total time needed to complete one fuzzy logic inference

FLASP Main Control Unit Crisp Inputs

FLASP Data Path Fuzzification unit Rule Inference Defuzzification

FLASP Data Path Fuzzification unit Rule Inference Defuzzification



Crisp Output 1

Crisp Output n Figure 7 FLASP MIMO System Architecture








Fuzzification Unit
Crisp Inputs MUX Fuzzification Core (Evaluator) Input MF Memory

Rule Inference Unit
Rule Inference Core Rule Base Memory

Defuzzification Unit
Defuzzification Core Output MF Memory DMA Req

Crisp Output









MUXs (Address/Data)




Fuzzy RAM (fuzzy input/output data)

Figure 8 FLASP MISO overall architecture

The FLASP MISO module architecture is shown in Figure 8. Each fuzzy functional unit (i.e., fuzzification, rule inference, or defuzzification) has its own local data path

process to generate output is 28.5 µs. This means that 35000 fuzzy logic inference output per second can be mad (35 KFLIPS) in the current design that is not using overall pipelining (between individual functional units). FLASP-

based ATM controller has been generated by parameterisation of the MISO module and generation of the VHDL code (description) is performed using FLASP compiler. The whole controller easily fits into a single Altera FLEX10K40 FPLD and requires 28.5 µs to complete a single fuzzy logic inference operation. VI. CONCLUSIONS Based on the described fuzzy algorithm, a fuzzy application processor for control of traffic in ATM network based on FLASP framework has been developed and verified. 1) The designed processor has achieved all the functions of fuzzy algorithm, fuzzification, inference and defuzzification , and fully complies with the simulation model of the controller 2) It takes 28.5 µs to complete one fuzzy logic inference process (to infer 18 fuzzy rules) and to generate one output. This means that it has the capability of processing source data at maximum peak bit rate up to 13.47 MB/s. 3 )The design proposed in [9] which is implemented in VHDL and synthesized by using CMOS 0.5 µm provides latency tL < 1µs. The figure is almost 30 times faster than our implementation in FPLD. However, the method employs fully custom circuit that may not be changed without full redesign and producing a new mask. (4)FLASP has proved to be a good framework, which can be easily used to develop fuzzy logic applications within a short time. Five functional units of FLASP can be reused without modification and user only concentrates on his own design (membership functions and rules) that increases the design efficiency.

[1] Bezdek, J."Fuzzy models - What Are They, and Why?" Fuzzy logic technology and applications, IEEE Technical Activities Board, pp.5, 1994 [2] Salcic, Z. and Smailagic, A. Digital Systems Design and Prototyping Using Field-Programmable Logic and Hardware Description Languages, Kluwer Academic Publishers, 2000 [3] Liu, B. and Huang, C. "Design and Implementation of the Treebased fuzzy Logic Controller", IEEE transactions on Systems, Man, & Cybernetics, part B: Cybernetics. V 27, No.3, Jun 1997. pp.475487 [4] Parris, C. P. and L Haggard, R. L. "Architecture for a high Speed Fuzzy Logic Inference Engine in FPGAs", Proceedings of the Annual Southeastern Symposium on System Theory 1997. IEEE Piscataway, NJ, USA. pp.179-182 [5] Kim, Y. D. Hyung, L. K. "High Speed Flexible Fuzzy Hardware for Fuzzy information Processing", IEEE Transactions on Systems, Man, & cybernetics, Part A: Systems & human. V27 n 1 1997. pp. 45-56 [6] Chang, J. X. and Xiang, L. H. "Fuzzy controller Hardware Design and Implementation", International Conference on ASICs, Proceeding 1996. Shanghai Scientific and Technology Literature Publishing House, Shanghai, China. pp.321-324 [7] Sumit Ghosh, Qutaiba Razouqi,H. Jerry Schumacher, and Aivars Celmins. “A Survey of Recent Advances in Fuzzy Logic in Telecommunications Networks and New Challenges”, IEEE Transactions on Fuzzy Systems, vol. 6, NO. 3, August 1998. [8] Ascia, Vincenzo Catania, Giuseppe Ficili, Sergio Palazzo, and Daniela Panno,”A Comparative Analysis of Fuzzy Versus Conventional Policing Mechanisms for ATM Networks”, IEEE/ACM Transactions on Networking, Vol. 4,No3, June 1996. [9] Giuseppe Ascia, Vincenzo Catania, Giuseppe Ficili, Sergio Palazzo, and Daniela Panno, “A VLSI Fuzzy Expert System for Real-Time Traffic Control in ATM Networks”, IEEE Transactions on fuzzy systems, vol. 5, NO.1, February 1997. [10] M. Andronico, V. Catania, G. Ficili, S. Palazzo, D. Panno “Performance Evaluation of a Fuzzy Policer for MPEG Video Traffic Control”, Istituto di Informatica e Telecommunicazioni – Facolta’di Ingegneria University of Catania, Italy [11] Zoran Salcic, Zhihua Guo,”FLASP—Fuzzy Logic Application Specific Processor Framework”, Auckland University, Department of Electrical and Electronic Engineering, Auckland, New Zealand.1998.

Figure 4 The long term traffic Aoi and short tem traffic Ai both are below contract traffic value N then maximum traffic credit Ni is given by fuzzy policing controller

Figure 5 The long term traffic Aoi and short tem traffic Ai exceed contract traffic value N then minimum traffic credit Ni is given by fuzzy policing controller

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.