[Ns-developers] GSoC 2012 NS-3 LTE MAC scheduler proposal (Approach part)

Dizhi Zhou q5frc at unb.ca
Wed Mar 28 18:24:47 PDT 2012


Dear mentors,

This is the first version of approach part in my proposal. Your 
suggestions and feedbacks will be highly appreciated.

***Proposal for LTE scheduler***
**Approach**

//////////////////////////////*Achieving 
goal*//////////////////////////////////////// 
////////////////////////////////////////////
1, Implementing basic LTE schedulers based on FemtoForum MAC Scheduler API
2, Writing sample scripts and testsuites for each scheduling algorithm
3, Writing user manual for principle, code structure and manual about 
how to use
those LTE scheduler

/////////////////////////*Components and 
functionality*/////////////////////////////// 
////////////////////////////////
Principle of selecting LTE packet scheduler
1, Basic scheduler which can be easily extend to advanced algorithm
2, Scheduler for time domain OR frequency domain

LTE packet scheduler list:
1, Pure Opportunistic (PO): The user with the highest channel gain will 
be allocated
the maximum possible rate for reception in the downlink
2, Maximum Throughput (MT): eNB serves the users with largest instantaneous
supportable data rate, e.g., CQI value.
3, Blind Equal Throughput (BET): reach same throughput for all users, 
regardless
of their radio channel quality.
4, Throughput to Average (TTA): averaging the resources evenly between 
the users
NOTE: TTA can only be used in frequency domain
5, Adaptive Token Bucket (TBFQ): flows belonging to UEs that are suffering 
from
severe interference, and shadowing conditions in particular, will have a 
higher
priority index.
6, Priority set scheduling (PSS): this is the scheduler used in NS-2 WiMAX.

NOTE: each scheduler has two versions: time-domain and frequency domain

Code structure of scheduler in NS-3:
1, Each scheduler has different input parameters. In LTE NS-3, all 
scheduler APIs
are defined in ff-mac-csched-sap.h and ff-mac-sched-sap.h. For different
scheduler algorithm, we need to utilize different primiter function in 
above
two files.
2, Key scheduler algorithm can be implemented in two functions:
XXXFfMacScheduler::DoSchedDlTriggerReq (): scheduler for DL subframe
XXXFfMacScheduler::DoSchedUlTriggerReq (): scheduler for UL subframe
Here, XXX is the name of scheduler.

//////////////////////////*Development 
methodology*/////////////////////////////////// 
//////////////////////////////
Based on the Femtocell MAC Scheduer API, each MAC scheduler is an 
independent
model. Therefore, the development methdology I chose acts as following:

1, Listing and creating required primiter functions this scheduler used 
as input
2, Developing the DoSchedDlTriggerReq and DoSchedUlTriggerReq function 
(TD and FD)
3, Testing
4, Writing sample script and manual
5, Go back to step1 and start implementation of next scheduler

/////////////////////////////*Testing 
approach*/////////////////////////////////////// 
//////////////////////////////////////
The testing approach contains two parts:
1, Packet Scheduler performance measurement
In this part, we will testing the performance of packet scheduler 
implemented in
NS-3 based on their design goal. For example, cell throughput for MT, user
throughput distrbution for BET(fairness goal). Further testing can 
include the
performance of varied applications, such as FTP, video streaming, web 
traffic,
and so on.

2, NS-3 code testing
This part mainly focuses on the proformance of new models we added. The 
detail
of this part can refer to the chapter 13 of NS-3 manual. So other debug 
tools
are also needed here, such as Valgrind tools for memory management, and 
Oprofile
for some hardware performance test.

//////////////////////////////*Technical 
plan*//////////////////////////////////////// 
////////////////////////////////////////
Apr.23 -- May.20: understand the detail of each scheduler and two 
scheduler codes
May.21 -- July.9: complete 60% scheduler (in this proposal, 4 schedulers 
must be
completed before July.9, average 1.7 weeks for one scheduler, including
coding, sample script, testing and manual writing)
July.10 - July.13: Mid-term report
July.14 - Aug.13: left 40% scheduler (in this proposal, 3 schedulers 
must be
completed before Aug.13, average 1.3 weeks for one scheduler)
Aug.14 - Aug.24: final report, merge code to NS-3

Best regards
Dizhi

-- 
Dizhi Zhou
Ph.D. Candidate
Faculty of Computer Science
University of New Brunswick
540 Windsor Street
Fredericton,New Brunswick,Canada
E3B 5A3

E. q5frc at unb.ca
Homepage: www.cs.unb.ca/~q5frc/






More information about the Ns-developers mailing list