achieved QoS and the desired QoS and comparison with FIFO scheduling .... function. For example in [Figure 2] slots r2, and r3 are allocated for service class4.
Intelligent GA Scheduling Techniques for QoS Management of Mobile Packet Data Service (MPDS) Shyamalie Thilakawardana1, Rahim Tafazolli1, Ben Hale2, and Eyal Trachtman2 Mobile Communications Research Group, CCSR, University of Surrey, UK, 2Inmarsat, UK
1
ABSTRACT Present Inmarsat Mobile Packet Data Service (MPDS) system is based on a single packet data service class. This research investigates the viability of applying a genetic algorithm (GA) based scheduling technique to take MPDS towards a multi-class services system. This paper describes the results and conclusions derived from an application of such a scheme towards a multiple service class MPDS system. The results are compared with first-in first-out (FIFO) scheduling for validation of the simulation and runtime comparisons of the two techniques. Results show that the GA is capable of appropriately servicing different classes of traffic in times of high load or congestion. Based on the results of achieved QoS and the desired QoS and comparison with FIFO scheduling technique it is concluded that a well tuned GA scheduling algorithm is a valid candidate for a future multi service MPDS system. Key words: MPDS, QoS, genetic algorithm, scheduling; INTRODUCTION MPDS is a service provided by Inmarsat’s geostationary satellite constellation and network. The existing MPDS system is based on a single service class. This research investigates the viability of a genetic algorithm (GA) based scheduling technique to take MPDS towards a multi-class services system. This paper is organized as follows. The uplink and downlink frame structure of the existing MPDS system is discussed in detail in section II. MPDS scheduling in terms of slot duration, data and signaling slot formats are also discussed. This is followed by the methodology of extending the existing single service system to a multi service system. This includes the service class classification of the multi-class MPDS system. This follows on defining the problem of resource allocation of the multi-class MPDS system. Next section is about the design concepts behind the intelligent GA scheduler for both the uplink and downlink of the multi service class MPDS system. The design parameters of the fitness function for the GA scheduler and their determination for both uplink and downlink are described next. This is followed by the design and implementation of the simulation model including the TCP behaviour and handling of erroneous packets. Comparison of the GA scheduling technique for different scenarios and results evaluation are presented next. Final section focused on conclusions, followed by references. MPDS SYSTEM Overview This section gives an overview of the existing MPDS system. The existing MPDS system provides a single service packet data class as well as constant rate connections for voice calls. Uplink and downlink frame structures are different in MPDS. Therefore in this study, uplink and downlink scheduling techniques for MPDS are treated separately in terms of mapping to the GA based scheduler. This research comprises of designing two independent schedulers both for uplink and downlink. Parameters of these GA schedulers are determined separately depending on the uplink and downlink frame structure of the existing MPDS system. Uplink MPDS Structure Uplink MPDS frame is 80ms in duration. This can be divided in to three reservation slots (20ms each) for carrying data services and four smaller slots (5ms each) for use of signaling [Figure 1]. In each uplink MPDS transmission frame there are three reservation slots and signaling capability for four users. Thus 12 users can be accommodated with sufficient signaling capability in the duration of 240ms of three MPDS uplink frames. This scenario is called as a noncontention based MPDS system with maximum of 12 users on a given bearer. Reservation slots are allocated for data services according to the scheduling algorithm. Therefore inside the refreshing frame duration of 240ms there are 9 reservation slots of 20ms each available for packet data. Each 20ms reservation slot carries segments of 149bytes including a 5bytes overhead. Hence each reservation slot carries a data throughput of 144bytes. As is common with an ‘always on’ system such as MPDS there may be times when more than 12 users are registered on a given bearer if several of them are inactive, in which case the signaling method switches to slotted-ALOHA. For this study the number of users shall be limited to 12 and contentious signaling will not be examined as it is the scheduling that is the focus of this work. Therefore in the uplink of the proposed GA based scheduling algorithm for multiple service MPDS the ‘refreshing frame duration’ is considered as three uplink MPDS frames (i.e., refreshing period of 240ms). The definition of refreshing frame duration as specified in the GA based scheduling algorithm is described in a later section.
20ms 20ms
20ms 20ms
3 reservation slots of 20ms each
20ms 20ms
4 signalling slots of 5ms each
[Figure 1]: MPDS Uplink frame structure
Downlink MPDS Structure MPDS downlink frames are 40ms in duration. In each frame multiple segments of varying length can be transmitted. The minimum segment payload size is 5 bytes and the maximum size is 321 bytes. Each segment has an overhead of 5 bytes, which results in a maximum segment size of 326bytes. In this study a fixed downlink segment size of 321 bytes is assumed. Multiple Service Class MPDS System In multi service MPDS system services must compete for the resources. Service classes are classified according to their QoS agreement with the network. In the proposed system five service classes are defined. Service categorization is according to their QoS profile interpreted using a ‘QoS index’ as described in a later part. The following section describes the service class classification and the example application services used in this work for generating data traffic of each service class. Service Class Identification In the multi service MPDS system users generate data according to a predefined service class. The mapping policy between users and service classes are assumed as FIFO. Service classes are categorized according to their QoS index. For the multi-class MPDS system 5 service classes are considered. They are named according to the increase of QoS profile (i.e., service class1 represents the service class available in the existing system where a high QoS is expected, and Service Class5 is best effort back ground data). QoS profile of each service class consists of two QoS parameters. They are the ‘priority type’ and the ‘delay type’. All services are grouped into three delay types and three priority types. Delay type1 has the lowest delay and delay type3 has the highest delay for each IP packet. Priority type1 has the highest priority and priority type3 has the lowest priority. It is assumed priority types are more important than delay types when calculating the QoS index of each service class. Service class i (Si) is represented using the matrix (Si, Pi, Di), where Pi is the priority type of Si and Di is the delay type of Si. Service Classes are defined as below; Service Class1 – (S1, P1, D1): This service class has the highest priority among data services thus having the highest QoS index. The example service is high QoS Telnet applications. This is measured under two benchmarks in the existing single service MPDS system. First being the round-trip delay of 95% of IP packets served under an empty queue arrival condition shall be less than 3.0 seconds. The second being for the same service class round-trip delay of 99.5% of IP packets served under an empty queue condition shall be less than 4.5 seconds. Service Class2 – (S2, P3, D2): Telnet applications with low QoS are considered as service class2. When compared to service class1 they have lower priority type and lower delay type. Service Class3 – (S3, P2, D2): Service class3 has higher priority than service class2 but with the same delay type. Example services for service class3 and service class4 are non-interactive applications such as email and www browsing. WWW application represents service class3 with asymmetric data in uplink and downlink. Service Class4 – (S4, P3, D2): Service class4 and service class2 has the same delay and priority types thus represented by the same QoS index. Service class4 is presented by Email applications carrying symmetrical data both in uplink and downlink. Service Class5 – (S5, P4, D3): Service class5 is similar to best effort data in a system where QoS cannot be guaranteed to the user. It has the lowest priority, which is presented using Email background data. Modeling of different services such as telnet, Email and www browsing follows the statistical traffic models described in [12], [11] and [5]. SCHDULING IN MULTISERVICE MPDS SYTEM Problem Definition In multiple service class MPDS system users generate traffic according to a given service class. Therefore under a noncontention based situation a maximum of 12 users generates traffic of 5 different service classes. The scheduling mechanism is needed to allocate resources efficiently and with due priority amongst service classes in times of high load and even overload. Design and mapping of GA schedulers for each uplink and downlink of the multi service class
MPDS system is described in this section. This is based on a generic GA based scheduling technique as described in [4], [13]. Each user generates data according to the service class attached to it. The users of the same service class are mapped to the service class queues based on FIFO. The GA scheduling mechanism takes care of the allocation of resources among the service classes. Scheduling algorithm determines the serving of each service queue maintaining the QoS range [Figure 2]. The allocation of slots in a refreshing frame among service classes is determined by the fitness function. For example in [Figure 2] slots r2, and r3 are allocated for service class4. The GA scheduling algorithm with the use of the fitness function provides the optimum way of allocation of slots among service classes. Therefore this problem can be seen as an allocation of n number of service classes efficiently among g number of resources. Each service class is graded according to different QoS parameters reflected by the QoS index. [Figure 2] considers on uplink of the MPDS multiple class system. There are 12 users in the system generating traffic according to the 5 service classes. In each refresh frame (duration of 240 ms) there are 9 reservation slots available for data transmission. This is defined as the ‘resource pool’. The allocation of resources from this pool efficiently among service classes while meeting their QoS demands is the objective of the scheduling algorithm. The scheduling algorithm determines which users/service classes are served during each refresh period. The resource allocation pattern in a refresh frame from the multiple user/service queues is obtained from GA optimal solution. The uplink MPDS scheduler results in resolving 9 reservation slots among 12 users/5 service classes during a refresh period. Outline of the Solution [Figure 2] shows the allocation of services among the resource pool as in an example solution. The structure of each solution can be varied depending on the order of packing of service classes among resources. These solutions can be represented as chromosomes in a GA environment. Each feasible solution represents a unique chromosome in the search space. The length of the chromosome is equal to the number of resources in the resource pool waiting for assignment to a service. Each resource in the solution represents a gene in the relevant chromosome. Optimum solution derivation is using GA operations, such as crossover and mutation [3], [8].
Service class1 (QoS1)
Resource pool Service class2 (QoS2)
r1
Service class3 (QoS3)
r2
r3
.
.
.
.
.
r9
Resource allocation among services/users during a refresh frame
Service class4 (QoS4)
Service class5 (QoS5)
[Figure 2]: Scheduling of diverse service classes among limited resources
In GA, finding of an optimum solution depends on the ‘fitness function’ or ‘fitness criteria’. For the optimum solution the limiting factors such as range of QoS profile, fairness, queue length distributions etc., needs to be considered. Therefore they have to be reflected in the fitness function/criteria. The fitness function decides the survivability of the best chromosomes. Those with higher fitness are more suitable as an optimal solution than of lower fitness. The largely dynamic and at times chaotic nature of traffic must be considered. This leads to ‘refresh frames’ in the solution phase. Each solution is valid only for one refresh frame duration. After each refresh frame resources must be reallocated accordingly. The concept of refresh frame prevents the algorithm from becoming caught in local maxima or being too slow to adapt to step changes in traffic patterns. Fitness Criteria Optimum solution selection is based on the fitness calculation of each chromosome. Therefore the fitness function plays an important role in the GA optimization procedure. The fitness function consists of three parameters, namely ‘QoS index (Qi)’ of the service class, ‘dynamic queue length (qi)’ of the service class and ‘frequency of resources (fi)’
allocated for each service class. The QoSindex of the service class depends on QoS parameters such as delay and priority. This index reflects the interaction between the QoS parameters of each service class. QoS parameters are graded according to their influence. For example in this work priority type has more weight than that of delay type. QoSindex ranges from 1 to 100, from the highest QoS service with a QoSindex of 100 and to the lowest at QoSindex of 1. There is a non-linear relationship between QoSindex of different service classes. Calculation of QoSindex is explained in [13]. As described proposed multi service MPDS system consists of 5 service classes each having two sets of QoS parameters namely priority and delay. The following table gives the calculation of QoSindex for the fitness evaluations for the considered service classes.
Service class
Application
Priority type
Delay type
QoS Index
Service class1
Telnet - high QoS
1
1
100
Service class2
Telnet - low QoS
3
2
40
Service class3
WWW browsing - low QoS
2
2
50
Service class4
Email - low QoS
3
2
40
Service class5
Email background data
4
3
1
[Table 1]: QoS index of Service classes
The next consideration in the fitness calculation is dynamic queue length (qi) of each service class/user queues. This reflects the call arrival rate distributions, call duration distributions and average service rate distributions of each queue. In fitness calculation the dynamic queue length of each queue is measured at the beginning of each refreshing frame. Finally, fairness factor is considered in the scheduling mechanism. The main reason of introducing fairness to the fitness criteria is to avoid exploitation of resources by one service class. This is a major weakness of the available scheduling schemes such as EDF. The fitness value decreases when the same service class gets more than one resource thus avoiding the exploitation. This is maintained in the fitness function evaluation with the introduction of ‘resource frequency’ (fi). Therefore by considering the above three factors in fitness evaluation the fitness of a service class (Fi) can be presented as;
Fi
= K'
Qi * q i
(Equation 1)
fi
Where K’ is a proportionality constant From (Equation 1) fitness of the chromosome structure (CF) in [Figure 3] is the summation of service class fitness included in the chromosome which can be represented as;
CF
= K
i=g i =1
Fi
(Equation 2)
Where K is a constant and g is the number of resources in the resource pool (same as the chromosome length). In this research independent chromosome lengths are used in down link and uplink scheduling algorithms. In uplink GA scheduling the chromosome length is 9 (9 reservation slots in a refresh duration) and in downlink scheduler that is 4 (4 frames in a refresh duration). If service class Si is included in the chromosome representation then value of Fi is calculated using (Equation 2). If not value of Fi = 0 (i.e.; Si does not contribute to the chromosome fitness CF). Design of Uplink and Downlink Scheduler There are 12 users in the considered multiple service class MPDS system generating traffic according to the 5 service classes. In the uplink MPDS, in each refresh frame (duration of 240 ms), 9 reservation slots are available for data transmission. The scheduling algorithm determines which users/service classes are served during each refresh period. The uplink MPDS scheduler results in resolving 9 reservation slots among 12 users/5 service classes during a refresh period. Downlink MPDS transmission frames are 40ms in duration. Each 40ms downlink frame carries a payload of 321bytes and a 5byte header. The downlink refreshing duration is considered as 160ms and thus consists of four downlink MPDS frames. The downlink MPDS scheduler results in resolving 4 reservation slots among 12 users/5 service classes during a refresh period.
Following steps defines the designing of GA scheduling algorithm for uplink and downlink of multi service MPDS system. a) Identification of the refresh frame duration. b) Determination of number of resources and service classes in the refresh duration. c) Mapping of this problem in to GA environment. d) Fitness calculation for the chromosomes in the search space. e) Finding of optimal solution using standard GA technique. f) Allocation of resources in this refresh period according to the given optimal solution. g) Perform step (d) to (e) for the next refresh frame. SIMULATION MODELLING The simulation model consists of resolving scheduling in uplink and downlink MPDS system. The non contention based scenario is modeled including TCP behaviour of the user applications. TCP implementation follows a Markov model approach as described in [1]. TCP persistent Tahoe algorithm is assumed which essentially operates in two states slow start and congestion avoidance. Each user has a TCP connection. The congestion window size w is measured in segments; in principle w may take all integer values between 1 and WM. The maximum size of the TCP congestion window (WM) is considered as 8 segments where each TCP segment is 1460bytes. (The resulting IP packet size is 1500bytes, which includes TCP and IP headers of 20bytes each). The TCP protocol sets the timeout T on the basis of its own estimation of the average round trip time for the connection. Since the round trip time is a random variable, TCP evaluates it in terms of its estimated average ( ) and standard deviation . The timeout T is set to: T = +4* . The round trip time is assumed as an exponentially distributed random variable where the average and standard deviation takes the same value. In this study the average roundtrip time is assumed as 3 seconds.
In the existing MPDS system uplink and downlink channels are expected to maintain a packet error rate of 10-3. Therefore out of every 103 transmitted segments one segment is in error. In the simulator implementation this is achieved by randomly dropping one segment in every 103 segments transmitted. The dropped segment is retransmitted after a NACK is received. FIFO is one of the simplest scheduling and queuing methods. Packets are simply served in the order that they arrive at the scheduler. In this study relative comparison between GA scheduling with FIFO scheduling determines the results validation, results evaluation and validity of simulation run times. RESULTS AND DISCUSSION Uplink GA Scheduler Algorithms Scenario1: Uplink at capacity: In uplink, 80ms MPDS frame has 3 reservation slots carrying data result in a maximum capacity of 43.2kbits/second. In this scenario the offered load to the system is at maximum capacity. [Table 2] presents the offered traffic contribution from each service class. Service class
Offered traffic contribution
Service class1 – Telnet high QoS
14.2%
Service class2 – Telnet low QoS
13.6%
Service class3 – WWW low QoS
22.6%
Service class4 – Email low QoS
26.9%
Service class5 – Email back ground data
22.7%
[Table 2]: Service class contribution to offered traffic
Following graphs presents the cumulative distribution function (CDF) of IP packet delay. This is defined as the time between the arrival of the first MAC frame of the IP packet to the MAC queue and the last frame of the same IP packet delivered at the receivers end. For the service class1 this delay is based on serving of IP packets at the empty queue arrival [Figure 3a]. For comparison purposes IP packet delay for GA scheduler algorithm and FIFO based techniques are presented in a logarithmic scale. Apart from that [Figure 3b] summarize the ability of the GA scheduler algorithm to differentiate QoS between service classes for the above scenario. This shows that tuning of GA scheduler parameters results in different performance among 5 service classes.
[Figure 3a]: Performance comparison GA technique Vs FIFO - service class1
[Figure 3b]: Performance Comparison among service classes – GA Scheduling technique
Downlink GA Scheduler Algorithms Scenario2: Downlink at capacity: In downlink, 40ms MPDS frame carries a maximum capacity of 64.2kbits/seconds. In this scenario offered traffic load is at the maximum capacity of the downlink MPDS system. [Table 3] presents the offered traffic contribution from each service class. The contribution of the bursty WWW service is more than that of the rest. [Figure 4a] presents the performance for the above scenario for service class1 and [Figure 4b] shows the comparison between performances among the service classes reflecting the ability of filtering the services according to the fitness for allocating resources efficiently in the GA scheduler algorithm.
Service class
Offered traffic contribution
Service class 1 – Telnet high QoS
8.9%
Service class 2 – Telnet low QoS
8.3%
Service class 3 – WWW low QoS
50.5%
Service class 4 – Email low QoS
16.4%
Service class 5- Background Email
15.9%
[Table 3]: service class contribution to offered traffic
[Figure 4a]: Performance comparison GA technique Vs FIFO - service class1
[Figure 4b]: Performance Comparison among service classes – GA Scheduling technique
CONCLUSIONS Current Inmarsat MPDS system treats all packet data as equal and provides it all with the same QoS. The major reason for conducting this research is to investigate the viability of a GA based scheduling technique to take MPDS towards a multi-class services system where traffic from different applications or users could be prioritized and provided different QoS. The results gathered have been compared with FIFO scheduling technique for validation of the simulation and runtime comparisons of the two techniques. The results show that the GA is capable of providing differentiated service to multiple classes of traffic and balance the requirements of the different service classes providing an acceptable QoS. Based on this study comparing the achieved and the desired QoS it can be concluded that GA scheduling algorithm is a valid candidate for a future multi service MPDS system. REFERECNES [1] C. Casetti, M. Meo, “A New Approach to Model the Stationary Behavior of TCP Connections”, In Proceedings of IEEE INFOCOM’ 2000, Tel Aviv, Israel, March 2000 [2] Q. Pang, A. Bigloo, V. C. Leung and C. Scholefield, “Service Scheduling for GPRS Service Classes”, Proceedings of WCNC 99, New Orleans, LA, September 1999. [3] J. H. Holland, Adaptation in Natural and Artificial Systems, Ann Arbor, MI: University of Michigan Press, 1975 [4] Shyamalie Thilakawardana & Rahim Tafazolli, “Method and System for Determining Optimum Resource Allocation in a Network” UK Patent Application No 0302215.9 [5] ETSI/TR 101 112 V3.1.0, “Universal mobile telecommunications system (UMTS); Selection procedures for the choice of radio transmission technology of the UMTS (UMTS 30.03 version 3.1.0)”, November 1997. [6] V. Frost and B. Melamed, “Traffic Modeling for Telecommunication Networks”, IEEE Communications Magazine, Vol. 32, No 3, March 1994, pp. 70-81 [7] W. Leland, et al., “On the self-similar nature of Ethernet traffic (extended version”,” IEEE/ACM, Tran. on Network, 2(1), pp. 115, Feb. 1994. [8] R. Haput and S.E. Haput, “Practical Genetic Algorithms”, Chichester; Wiley, NewYork, 1987 [9] P. Goyal, H. M. Vin and H. Cheng, “Start Time Fair Queuing: A Scheduling Algorithm for Integrated Services Packet Switching Networks”, Proceedings of SIGCOMM’96, 1996. [10] L. Zhang, “Virtual Clock: A New Traffic Control Algorithm for Packet Switching Networks”, Proceedings of ACM SIGCOMM’90, pp. 19-29, September 1990. [11] G. Brasche, B. Walke, “Concepts, services, and protocols of the new GSM phase 2+ general packet radio service,” IEEE Communications Magazine, vol. 35, no. 8, pp. 94-104, August 1997. [12] V. Paxson, “Empirically Derived Analytic Models of Wide Area TCP Connections”, IEEE/ACM Transactions on Networking, Vol. 2, No. 4, August 1994. [13] Shyamalie Thilakawardana and Rahim Tafazolli, “Efficient Call Admission Control and Scheduling techniques for GPRS using Genetic Algorithms”, IEEE Vehicular Technology Conference, May 17-19, 2004, Milan, Italy