You are on page 1of 4

Letter Paper Int. J. on Recent Trends in Engineering and Technology, Vol. 7, No.

1, July 2012

Multi-Part Congestion Control Algorithm for TCP Networks using Neural Networks
1 Department of Computer Engineering, Soosangerd Branch, Islamic Azad University, Soosangerd, IRAN Mohtashamzadeh@gmail.com, m_harizi@yahoo.com
Abstract. Ever-increasing usage of the Internet and intranets has made network management a crucial aspect in computer world. Congestion control is one of the critical issues in network management. The main purpose of all congestion control algorithms is to provide users by reliable, available, high-utilized, and fair networks. In this research we took advantage of neural networks to predict network congestion before it can decline the quality of service. The applied neural network was divided to several sub-neural networks to deduct the complexity of design and to increase the speed by making the controllers parts (subneural networks) work in parallel. Proposed controller strives to accurately predict network status by using a multiple feedforward neural network. In contrast with the usual TCP/IP flow control, the proposed method is used only in selected nodes and routers to speed up overall communication process. Results show throughput improvement in case of using proposed controller instead of a classic controller such as New Reno. Index Terms Neural network, Congestion control, Selfsimilarity, Multi time scale

Mehdi Mohtashamzadeh 1, Mehdi Harizi1

II. MULTI-PART NEURAL CONTROLLER Two time scale controller performs congestion control in two stages, short time scales (20-200 ms) and long time scales (3 seconds). The part of algorithm which works in the short time scales is a classic congestion controller (New Reno). This type of controller increases size of sending window in linear form after achieving a threshold. The second part does not change the decision which is taken by the first part, but it makes compatible long time decisions. For instance, if the first part decides to increase the size of sending window, second part makes the increasing factor strengthening or weakening, but it would not lead to decrease in window size. If second part of the controller senses an increase in bit rate by the first part, increasing factor would be () which can be figured out as follows. Neural network controller presents a predicted traffic level at the end of its time scale. can be acquired by reversing predicted values. Predicting large traffic level results to small values for and consequently a small increasing factor. So instead of additive or linear increase, multiplicative increase would be selected to profit available bandwidth. On the other hand if the sending window size is supposed to plummet by the first part, which is mostly done in multiplicative manner, this deduction could happen slower and in a linear manner (in case of predicting low or medium traffic level for future by neural network controller). Second part of controller consists of four three layered feed forward back-propagation neural network controllers with two inputs (traffic level in previous long time scale, and sending rate in last long time scale) and one output (predicted traffic level) (Fig. 1 and Fig. 2). Inputs can be considered as a vector (u)

I. INTRODUCTION Duty of congestion control algorithms is to recover network from congested situations or to prevent occurrence of congestion. This goal would be achieved by changing window size. Various TCP schemes that optimally adjust window size for congestion avoidance have been proposed till now. An overwhelming majority of congestion control algorithms namely Tahoe, Reno, and New Reno do not consider dependency of data in the past and future, since these data could be used to do predictions. Moreover, these methods are based on Additive Increase Multiplicative Decrease (AIMD). The AIMD would be problematic in case of existence of burst traffic. In other words facing a large amount of data (burst traffic) these algorithms decrease the window size in a multiplicative manner which is suitable. On the other hand after the burst traffic, window size is increased by a slow rhythm which may waste high proportion of available bandwidth. To overcome this problem the increasing process could be done in a multiplicative way. But such increase would worsen the congestion in case of consecutive bursts of traffic. The most appropriate way of increase is to predict the status of network in near future and set an increase factor according to the prediction. We took advantage of the two time-scale congestion controller [1] in which the first part is a simple congestion controller (e.g. Reno, Tahoe, etc.) and the second part is a multi part neural controller. 28 2012 ACEEE DOI: 01.IJRTET.7.1.76

The weight matrixes of first and second layers are X and Y, respectively. Four neurons have been considered in the second layer in simulations.

Network dynamic behavior can be formulated as follows: (1)

Letter Paper Int. J. on Recent Trends in Engineering and Technology, Vol. 7, No. 1, July 2012 In (1) b and represent network bias and feedback gain, respectively. The activation function of output layer was set to be of Gaussian type ((2)). Considering four neural networks (according to the traffic level and throughput) instead of one neural network would increase controllers performance since the Processing Elements (PE) of hidden layers deal with fewer traffic patterns and as a result the speed and accuracy would increase. Moreover, complexity of controllers would significantly fall as the quantity of PEs and connections decrease.
TABLE I. VALUES OF THROUGHPUT IN TWENTY LONG TIME SCALES AND AVERAGE OF
THROUGHPUTS FOR EACH TRAFFIC LEVEL

Figure 1. Long time scale controller consists of four sub controllers

III. SPECIFYING TRAFFIC LEVEL Specifying traffic levels can be done by mapping quantity of sent bits to one of eight congestion levels (assume there are eight traffic levels). The controller forms a time series and saves quantity of sent bits in it every 200 milliseconds. Then average () and standard deviation () are computed. Each level stands for a range of bit rate. These ranges (which are in [x,y) format) can be figured out using following equations. (3) m stands for quantity of levels in these equations. In this paper m has considered to be eight. In accordance with the above equations, having eight traffic levels results to have eight ranges of bit rates which are listed below: (4) To have a precise controller, average and deviation should be computed every 200 milliseconds. Hence at the end of each long time scale, time periods bounds should be computed because of changes in average and deviation values. As a result increase in quantity of levels may lead to decrease in controllers performance (because of hefty calculations). 29

Figure 2. Neural network controller structure

(2) Actual values of throughput and traffic level in each long time interval (3 second periods) are stored in a table. At the end of each twenty intervals the average of throughput related to each traffic level could be calculated based on data in the table. To increase accuracy of neural network controllers, m and n parameters in Fig. 1 could be set effectively according to calculated averages. Table 1 is a case in point which is extracted during simulation process. According to Table I, values of m and n parameters in Fig. 1 would set to 314.2 and 107.1 for next twenty periods (60 seconds).

2012 ACEEE DOI: 01.IJRTET.7.1.76

Letter Paper Int. J. on Recent Trends in Engineering and Technology, Vol. 7, No. 1, July 2012 IV. ADJUSTING NETWORK WEIGHTS To update neural network weights in a suitable way we took advantage of proposed BP learning algorithm in [2]. The main purpose of training process is to minimize error signal e which is defined as follow: (5) Weight matrixes X, Y, and Z can be adjusted by delta rules as follows: V. SIMULATION AND RESULTS Simulations have been done using Omnet++ simulator [3]. This simulator uses Visual C++ programming language to implement operations and algorithms. Furthermore, we used Multiple back-propagation software [4] to evaluate neural networks. Erramilli et al. [5] proved that vast majority of network traffics (FTP, TCP, Telnet, etc.) possess Long Range Dependency (LRD) and are self-similar. In other words, traffic patterns may repeat in time. This property would increase the predictability of network status and enables congestion controllers to decide accurately. To have self-similar traffic during simulations, workstations have taken advantage of Pareto distribution in Omnet++ simulator to generate Heavytailed ON/OFF traffic, in which both on and off times conform Pareto distribution. In this research, 10 ON/OFF traffic generators have been used (Fig. 3).

(6)

(7)

(8)
Figure 3. Simulated network with a bottleneck consist of ten traffic generators and two routers

According to above equations,

is a common

factor in calculating delta rules. We consider for summary. , , could be formu-

lated as follows (according to (2) and (5))

(9) Moreover, last part of (6), (7), and (8) can be calculated by following equations: (10)

In Fig. 5 throughput in 1500 seconds of simulation is shown for proposed controller, fuzzy congestion controller [6] (our previous work), and New Reno controller. Moreover, the percentage of buffer occupancy in one of the routers during simulation is shown in Fig. 6 for these controllers. Fig. 4 presents raw C codes of neural network congestion controller which was applied in routers. Comparing three types of controllers, one can deduce from Fig. 5 that in most cases neural and fuzzy controller performs better. Moreover, neural controller presents more suitable and precise results.

(11) (12) Finally, as follows: (13) (14) (15)


Figure 4. C code of neural network controller used in routers

could be derived from above equations

2012 ACEEE DOI: 01.IJRTET.7.1. 76

30

Letter Paper Int. J. on Recent Trends in Engineering and Technology, Vol. 7, No. 1, July 2012 Our implementation has been based on the second solution. In addition to the New Reno controller which acts in short time scales (200-500 milliseconds), another part has been used to predict network status in larger time scales (3 seconds). Results have shown that the proposed structure would improve network throughput. The proposed algorithm functions as follows. The New Reno controller decides whether to increase or decrease the sending rate based on its short time knowledge of network status, Second part of design which is a neural controller would strengthen or weaken the decision made by the first part. Such solution can avoid multiplicative decrease (which is a drawback of classic congestion controllers) if the controller of the second part predicts a low or medium traffic level for future. On the other hand in the increase phase instead of additive or linear increase, multiplicative increase would be selected to profit available bandwidth. REFERENCES
[1] K. Park, T. Tuan, Performance evaluation of multiple time scale TCP under self-similar traffic condition, ACM Transactions on modeling and computer simulation, vol. 10, No 2, pp. 152-177. ACM, New York, 2000. [2] C. Hyun, M. Sami Fadali, and L. hyunjeong, neural network control for TCP network congestion, American control conference, Portland, USA, 2005. [3] Omnetpp V3.3 simulator, http://www.omnetpp.com [4] Multiple Back-Propagation software, http://dit.ipg.pt/MBP/ [5] A. Erramilli, O. Narayan, and W. Willinger, Experimental Queuing analysis with long range dependence packet traffic, IEEE/ACM Transactions on Networking (TON), Vol 4, No 2, pp. 209-223, 1996. [6] M. Mohtashamzadeh and M. Soryani, Fuzzy three time scale congestion controller, 3rd international conference on Advances in Information Technology and communication (AIT 2011), Amsterdam, Netherlands, 2011.

Figure 5. Effective throughput of network during 1500 seconds of simulation

Figure 6. Percentage of buffer occupancy in one of the routers during simulation

Results show that applying a neural controller instead of a classic controller (New Reno in our case) would increase the performance 17.2%. Since this increase is 15.5% for fuzzy controller [6]. CONCLUSION Self-similarity phenomenon causes consecutive similar patterns in network traffic. Congestion controllers can take advantage of this property and control sending rate of each sender by predicting network status. Classic controllers cannot deal with such situations well. To have congestion control algorithms which can consider self-similarity, researchers have proposed two methods; first to rewrite all protocols to get on with self-similarity and second to modify existing protocols and standards.

2012 ACEEE DOI: 01.IJRTET.7.1.76

31

You might also like