Optimised Uplink Scheduler for WiMAX by Sriraam A S 20072220 Santhosh Kumar M L 20072194 RaviSankar R 20072189 A project report submitted to the FACULTY OF INFORMATION AND COMMUNICATION ENGINEERING in partial fulfillment of the requirements for the award of the degree of BACHELOR OF ENGINEERING in COMPUTER SCIENCE AND ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING ANNA UNIVERSITY CHENNAI CHENNAI - 600025 April 2011
WiMAX-Wireless Interoperability for Microwave Access is the last mile solution for economic broadband access for Metropolitan Area Networks(MAN). The IEEE 802.16 standard defines the specifications for WiMAX networks. In the IEEE 802.16 standard, MAC layer scheduling is not defined specifically. MAC- layer scheduling plays a crucial part in the performance of a WiMAX network. In this thesis, an optimal uplink-scheduling algorithm that uses two parameters viz. modulation-type and serviceflow-type to provide better performance for all classes of users in the network has been presented. In the proposed optimal scheduler, fairness for all classes of traffic is also provided. This is achieved by considering the traffic load and a fairness factor, alpha. The fairness factor can be modified to change the degree of fairness to be enforced. The combined approach of throughput, Quality of Service(QoS) and fairness provides an edge over the existing schedulers to provide better performance. In our optimal scheduler, the scheduling policy exploits higher datarate of certain modulation types to allocate increased number of bytes in a frame. Further, minimum bandwidth and maximum delay are the key parameters of QoS. Two modules, checkdeadline and checkminimumbandwidth in the proposed scheduler, ensures that minimum bandwidth and maximum delay is guaranteed. Also, all users in the network are provided fair chances at allocation process, keeping in mind the QoS characteristics as well. This scheduling policy has led to better performance of the network
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Optimised Uplink Scheduler for WiMAXby
Sriraam A S 20072220Santhosh Kumar M L 20072194
RaviSankar R 20072189
A project report submitted to the
FACULTY OF INFORMATION AND
COMMUNICATION ENGINEERING
in partial fulfillment of the requirements
for the award of the degree of
BACHELOR OF ENGINEERING
in
COMPUTER SCIENCE AND ENGINEERING
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
ANNA UNIVERSITY CHENNAI
CHENNAI - 600025
April 2011
CERTIFICATE
Certified that this project report titled “Optimised Uplink Scheduler for WiMAX” is the bonafide work of
Sriraam A S (20072220), RaviSankar R (20072189), SanthoshKumar ML(20072194) who carried out
the project work under my supervision, for the fulfillment of the requirements for the award of the degree of
Bachelor of Engineering in Computer Science and Engineering. Certified further that to the best of my
knowledge, the work reported herein does not form part of any other thesis or dissertation on the basis of
which a degree or an award was conferred on an earlier occasion on these are any other candidates.
Place: Chennai V.Mary Anita Rajam,Date: Selection Grade Lecturer,
Department of Computer Science and Engineering,
Anna University Chennai,
Chennai - 600025
COUNTERSIGNED
Head of the Department,
Department of Computer Science and Engineering,
Anna University Chennai,
Chennai – 600025
ACKNOWLEDGEMENTS
We express our deep gratitude to our guide, V.Mary Anita Rajam for guiding us through every phase of the
project. We appreciate her thoroughness, tolerance and ability to share her knowledge with us. We thank her
for being easily approachable and quite thoughtful. Apart from adding her own input, she has encouraged
us to think on our own and give form to our thoughts. We owe her for harnessing our potential and bringing
out the best in us. Without her immense support through every step of the way, we could never have it to this
extent.
We are extremely grateful to Dr.K.S.EaswaraKumar, Head of the Department of Computer Science and
Engineering, Anna University, Chennai 600025, for extending the facilities of the Department towards our
project and for his unstinting support.
We express our thanks to the panel of reviewers Dr.Arul Siromoney, Dr.A.P.Shanthi andDr.MadhanKarky for their valuable suggestions and critical reviews throughout the course of our project.
We thank our parents, family, and friends for bearing with us throughout the course of our project and for
the opportunity they provided us in undergoing this course in such a prestigious institution.
Sriraam RaviSankar Santhosh
ABSTRACT
WiMAX-Wireless Interoperability for Microwave Access is the last mile solution for economic broadband
access for Metropolitan Area Networks(MAN). The IEEE 802.16 standard defines the specifications for
WiMAX networks. In the IEEE 802.16 standard, MAC layer scheduling is not defined specifically. MAC-
layer scheduling plays a crucial part in the performance of a WiMAX network. In this thesis, an optimal
uplink-scheduling algorithm that uses two parameters viz. modulation-type and serviceflow-type to provide
better performance for all classes of users in the network has been presented. In the proposed optimal
scheduler, fairness for all classes of traffic is also provided. This is achieved by considering the traffic load
and a fairness factor, alpha. The fairness factor can be modified to change the degree of fairness to be
enforced. The combined approach of throughput, Quality of Service(QoS) and fairness provides an edge
over the existing schedulers to provide better performance. In our optimal scheduler, the scheduling policy
exploits higher datarate of certain modulation types to allocate increased number of bytes in a frame. Further,
minimum bandwidth and maximum delay are the key parameters of QoS. Two modules, checkdeadline and
checkminimumbandwidth in the proposed scheduler, ensures that minimum bandwidth and maximum delay
is guaranteed. Also, all users in the network are provided fair chances at allocation process, keeping in mind
the QoS characteristics as well. This scheduling policy has led to better performance of the network.
Contents
CERTIFICATE i
ACKNOWLEDGEMENTS ii
ABSTRACT(ENGLISH) iii
ABSTRACT(TAMIL) iv
LIST OF FIGURES vi
LIST OF TABLES vii
LIST OF ABBREVIATIONS viii
1 INTRODUCTION 11.1 PROBLEM DOMAIN 11.2 SCOPE OF THE PROJECT 11.3 LITERATURE REVIEW 21.4 PROBLEM DEFINITION 31.5 CONTRIBUTIONS 31.6 ORGANIZATION OF THE REPORT 3
2.2.1 User Interface 42.2.2 Performance Characteristics 42.2.3 Hardware Considerations 5
2.3 CONSTRAINTS AND ASSUMPTIONS 52.4 SYSTEM MODELS 5
3 DESIGN 93.1 SYSTEM ARCHITECTURE 93.2 MODULE DESCRIPTIONS 9
3.2.1 Algorithm 1 113.2.2 Algorithm 2 12
4 SYSTEM DEVELOPMENT 144.1 IMPLEMENTATION DETAILS 144.2 SIMULATION ENVIRONMENT AND ITS PARAMETERS 16
5 RESULTS AND DISCUSSIONS 175.1 RESULTS 175.2 ANALYSIS 17
iv
v
6 CONCLUSION 206.1 OVERALL CONCLUSION 206.2 FUTURE WORK AND EXTENSIONS 20
A SCREENSHOTS 21
B TEST CASES 29
REFERENCES 37
List of Figures
2.1 Sequence Diagram 62.2 Scenario 72.3 Architecture 72.4 Use Case Diagram 8
3.1 Class Diagram 10
5.1 Test case 1- Throughput Comparison 185.2 Test case 1 - Waiting Time Comparison(Fairness) 185.3 Test Case 2- Throughput Comparison 195.4 Test Case 2- Waiting Time Comparison(Fairness) 19
The job of an uplink-scheduler is to allocate bandwidth for each service flow in the Subscriber Station. A service flow has its own Quality of Service characteristics like maximum delay and minimum bandwidth. In step 1, the scheduler allocates initial values for variables such as availableSymbols, symbolstoallocation, etc. Then, the scheduler obtains a list of all the Subscriber Stations connected to the Base Station. This list is then iterated, servicing for each Subscriber Station(SS), one at a time. If an SS is just entering the network and no Quality of Service characteristic has been defined, then a slot is allocated for the SS to establish a service flow. If an SS wants to join the network, then a slot for that SS is also allocated. Following this, for each service flow, a unicast polling request is sent to the SS.
In step 2, 4 lists, high\_list, inter\_list, low\_list, mod\_list[7] is initialised.
5) while(freeSlots > 0 and high_list != empty)
provide bandwidth for unicast Polling requests in high_list.
6) If(freeSlots > 0)
distribute remaining FreeSlots proportionally
to high_list, inter_list, low_list based on ratio of 0.6:0.3:0.1
7) Check Deadline(inter_list)
8) Check minimumBandwidth(inter_list)
12
9)If deadline or min BW violation
Elevate Priority by migration to high_list.
3.2.2 Algorithm 2
Description: The job of an uplink-scheduler is to allocate bandwidth for each service flow in the Subscriber
Station. A service flow has its own Quality of Service characteristics like maximum delay and minimum
bandwidth. In step 1, the scheduler allocates initial values for variables such as availableSymbols,
symbolstoallocation, etc. Then, the scheduler obtains a list of all the Subscriber Stations connected to the
Base Station. This list is then iterated, servicing for each Subscriber Station(SS), one at a time. If an SS is
just entering the network and no Quality of Service characteristic has been defined, then a slot is allocated
for the SS to establish a service flow. If an SS wants to join the network, then a slot for that SS is also
allocated. Following this, for each service flow, a unicast polling request is sent to the SS. In step 2, 4 lists,
high list, inter list, low list are initialised.
In step 3, each service flow is is enqueued in the three queues, high,inter and low list based on type of service
flow, as can be seen in algorithm.
In step 4, service flows in each queue are sorted based on the modulation type so that serviceflow with
modulation type-7 is at head of queue while modulation type-1 is towards the tail of the queue.
In step 5, the available slots are distributed across each queue based on size of queue and fairness factor.
In step 6, the queues are processed sequentially in the order high list, inter list and low list.
In step 7, the deadline of a service flow in inter queue is calculated and if found to expire after the current
frame, the service flow is pushed onto the front of the queue.
In step 8, the minimum bandwidth requirement of a service flow in interqueue is checked against the granted
bandwidth. If found insufficient, the service flow is pushed onto the front of the queue.
1) Initialize scheduler.
13
2)Initialise high_list,inter_list,low_list,
3) For each ServiceFlow,Enqueue
a)UGS and polling requests in high_list
b)Insert rtPS serviceFlows to inter_list.
c)Insert nrtPS serviceFlows to inter_list.
d)Insert BE serviceFlows to low_list.
4) Sort each list based on Modulation type.
5) while(FreeSlots >0) and (high_list != empty)
Provide bandwidth for Unicast polling requests in high_list
6) If(FreeSlots>0)
Distribute Remaining FreeSlots proportionally to high_list,inter_list,
low_list based on queue-size and
fairness factor
7) Check Deadline(inter_list)
8) Check minimumBandwidth(inter_list)
9)If deadline or min BW violation
Elevate Priority by migration to front of list
CHAPTER 4
SYSTEM DEVELOPMENT
The NS-3 simulator is used to implement the proposed scheduling algorithm.
4.1 IMPLEMENTATION DETAILS
The NS-3 simulator has separate modules for WiMAX. The scheduler is implemented and integrated into
/src/devices/wimax folder and then, NS-3 simulator is compiled. Several other files like wimaxphy,
bsnetdevice, ns− 3.9/build/debug/bindings/python/ns3 module wimax.cc were modified to account for
the new scheduler class. In the new scheduler class, bs-uplink-scheduler-new1, the schedule() function is
overloaded to implement the proposed optimised scheduling algorithm.
In the initialization phase, allocations for ranging and service flow creation are setup. Once they are
completed, we allocate unicast polls for all existing service flows and service the UGS bandwidth requests.
Then, based on specified scheduling policy, other service flows are serviced.
In the implemented scheduler, GetSSRecords() method is used to access connection information about all
Subscriber Stations connected to the Base Station. The modulation-type data of SSRecord is primarily
used in the scheduling process.Each SSRecord may contain more than one ServiceFlow record within it.
The schedule-type data of ServiceFlow of SSRecord will indicate the QoS characteristic of the established
connection by an application. The SSRecords are later converted into Uplink-Job (ULJob) structure to be
encapsulated in Uplink-Map(ULmap) structure and input into m UplinkAllocations queue. Several modules
are involved in scheduling including Check Deadline and Check Bandwidth.
Check Deadline: Deadline is a Quality of Service (QoS) characteristic that indicated maximum delay that is
allowed between subsequent bandwidth allocations. Deadline expiry entails that the bandwidth request has
to be processed immediately. The checking usually happens for RTPS traffic alone
job− > GetDeadline() is a function that returns the deadline for the job. The condition
deadline−now/ f rame duration > 3 is used to decide upon deadline expiry.
The jobs whose deadline expire, are promoted to the front of the queue where they have higher chance of
being served at the earliest.
14
15
Check Minimum Bandwidth:
Minimum bandwidth is the amount of bandwidth i.e number of bytes per unit time that is guaranteed for a
subscriber station and is usually defined during service flow allocation. In this particular module, for each
service flow, it is checked if the minimum that is promised has been granted or not.