Difference between revisions of "GSOC2012LTEScheduling"

From Nsnam
Jump to: navigation, search
(update link)
 
(29 intermediate revisions by one other user not shown)
Line 4: Line 4:
 
* Mentors: : [mailto:nicola.baldo@cttc.es Nicola Baldo], [mailto:marco.miozzo@cttc.es Marco Miozzo]
 
* Mentors: : [mailto:nicola.baldo@cttc.es Nicola Baldo], [mailto:marco.miozzo@cttc.es Marco Miozzo]
 
* Abstract: The ns-3 LTE module released by the LENA project supports the FemtoForum MAC LTE MAC Scheduler Interface Specification for the implementation of MAC schedulers. Currently, only simple Round Robin and Proportional Fair schedulers are supported. This project will develop several main MAC schedulers for LTE. It also includes corresponding test suites and user manual. The complete proposal can be found in [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/dizhizhou/1 here].
 
* Abstract: The ns-3 LTE module released by the LENA project supports the FemtoForum MAC LTE MAC Scheduler Interface Specification for the implementation of MAC schedulers. Currently, only simple Round Robin and Proportional Fair schedulers are supported. This project will develop several main MAC schedulers for LTE. It also includes corresponding test suites and user manual. The complete proposal can be found in [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/dizhizhou/1 here].
* About me: I'm a second year Ph.D. candidate in the University of New Brunswick, Canada. My research interest includes multipath transmission for video streaming, cooperative wireless network and network simulation. You can find more information about my research in [http://www.cs.unb.ca/~q5frc/ here].
+
* Code: http://code.nsnam.org/dizhizhou/ns-3-dev
 +
* Midterm report: https://www.nsnam.org/wiki/index.php/GSOC2012LTEScheduling/MidTermReport
 +
* About me: I'm a Ph.D. student in the University of New Brunswick, Canada. My research interests are multipath transmission for video streaming in cooperative wireless network and network simulation. You can find more information about my research in [http://www.cs.unb.ca/~q5frc/ website] or  [http://www.linkedin.com/pub/dizhi-zhou/30/774/477 LinkedIn].
  
 
= Approach =
 
= Approach =
Line 10: Line 12:
 
== LTE packet scheduler list ==
 
== LTE packet scheduler list ==
  
* 1, Pure Opportunistic (PO)[1]: PO is usually used as an benchmark for other advanced LTE MAC schedulers in research paper.The user with the highest channel gain will be allocated the maximum possible rate for reception in the downlink
+
Except PSS and TTA, each scheduler has two versions: frequency domain(FD) and time domain(FD). FD scheduler calculates priority metric on each RBG using subband cqi while TD scheduler calculates metric by wideband cqi. In other words, TD scheduler allocates all RBGs to one UE with highest priority metric.
* 2, Maximum Throughput (MT)[2]: eNB serves the users with largest instantaneous supportable data rate which can be caculated by cqi (user GetMcsFromCqi () and GetTbSizeFromMcs function)
+
* 3, Blind Equal Throughput (BET)[2]: it reachs same throughput for all users, regardless of their radio channel quality. The priority is the reciprocal of past average throughput which can be get by lastAveragedThroughput field in pfsFlowPerf_t.
+
* 4, Throughput to Average (TTA)[8]: averaging the resources evenly between the users. NOTE: TTA can only be used in frequency domain.
+
* 5, Adaptive Token Bucket (TBFQ)[5]: 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)[4]: this is the scheduler for TD which aims at    providing a defined Target Bit Rate (TBR) to all users. Specifically, in TD scheduler part, the scheduler first sets all available users into two sets based on the target bit rate (TBR): set 1: users below TBR, use TD-BET; set 2: users above TBR, use TD-PF; Users belonged to set 1 have higher priority than ones in set 2. In NS-3, the m_eRabGuaranteedBitrateUL and m_eRabGuaranteedBitrateDl can be used as values to compare the TBR defined by the simulator. For example, for downlink scheduler, if m_eRabGuaranteedBitrateUL is smaller than TBR we set in script, then the MAC layer will use TD-BET scheduler in this case.  
+
  
== Scheduler strcture ==
+
* 1, Maximum Throughput (MT)[1]: MT is a channel-aware/QoS-unaware scheduler. In MT, eNB allocates RBG k to UE j with largest instantaneous supportable data rate calculated by subband cqi on this RBG's frequency.  
 
+
* 2, Blind Equal Throughput (BET)[1]: BET is a channel-unaware/QoS-unaware scheduler. It reaches the same throughput for all users, regardless of their radio channel quality. The priority is the reciprocal of past average throughput.
Each scheduler has two versions: time-domain and frequency domain. The scheduler for LTE consists of two parts: TD-PS and FD-PS. TD-PS can select which user can be served for one TTI based on varied priority metrics, such as RR, PF, BET and so on. The output of TD-PS is a group of user, called scheduling candidate set (SCS). Then FD-PS will allocate RBs for those users (the SCS will also be limited by the number of PDCCHs). It seems that, in the current implementation of RR and PF schedulers for LENA LTE, only FD-PS is used. Therefore, I plan to define a TD-PS + FD-PS scheduler structure in this GSoC project. In related work, some researchers compare the performance of using different priority metric combinations for above scheduler structure. For example, in paper [2], authors evaluate the performance of TD-PF/FD-PF, TD-BET/TD-TTA, TD-MT/FD-MT.
+
* 3, Throughput to Average (TTA)[1]: TTA is a channel-aware/QoS-unaware scheduler. TTA can be considered as a combination of MT and PF. The priority metric equals to expected datarate for UE j at time t on k-th RBG over wideband expected datarate for the UE j at time t. It guarantees that the best RBs are allocated to each user. NOTE: TTA can only be used in frequency domain.
 
+
* 4, Adaptive Token Bucket (TBFQ)[2][3]: TBFQ is a channel-aware/QoS-aware scheduler which derives from the leaky-bucket mechanism. It guarantees the fairness by utilizing a shared token bank. In addition, each flow has a token generation rate.The QoS is guaranteed by setting token generation rate to different values (such as Guarantee Bit Rate (GBR) in EPC bearer QoS parameter). In TBFQ, flows belonging to UEs that are suffering from severe interference, and shadowing conditions in particular, will have a higher priority metric.
In this GSoC project, one of my idea is that I can develop TD-PS and FD-PS independently with varied priority metrics. Users can selcet their own combinations based on the available PS models.
+
* 5, Priority set scheduling (PSS)[4]: PSS is a joint frequency domain and time domain scheduler. It is also a channel-aware/QoS-aware scheduler. It aims at providing a defined Target Bit Rate (TBR) to all users. Specifically, in TD scheduler part, the scheduler first sets all available users into two sets based on the target bit rate (TBR): set 1: users below TBR, calculate priority metric in BET style; set 2: users above TBR, calculate priority metric in PF style; Users belonged to set 1 have higher priority than ones in set 2. Then TD scheduler will selects N UEs and forward them to FD scheduler which allocates RBGs k to UE j based on two algrorithms: PFsch and CoItA. Details of PFsch and CoItA can be found in [4] or LTE manual[5].
  
 
== Development methodology ==
 
== Development methodology ==
Line 37: Line 34:
 
== Testing approach ==
 
== Testing approach ==
  
Becasue this GSoC project is an extension of current LTE MAC scheduler implementations, the test approach will follow the system test part in [6], test suites for each scheduler will be created as:
+
Because this GSoC project is an extension of current LTE MAC scheduler implementations, the test approach will follow the system test part in [6], test suites for each scheduler will be created as:
  
 
* 1, compare the throughput performance obtained from simulation to the reference throughput. If their values are within a given tolerance, then test is passed.
 
* 1, compare the throughput performance obtained from simulation to the reference throughput. If their values are within a given tolerance, then test is passed.
Line 48: Line 45:
 
   For single test case, all UEs have different SINR different distance to eNB)     
 
   For single test case, all UEs have different SINR different distance to eNB)     
  
== References ==
+
=Usage=
 +
All schedulers developed are components of NS-3 LTE model. How to build and simulate LTE network can be found in [http://www.nsnam.org/docs/release/3.14/models/singlehtml/index.html#document-lte here]. If users want to use LTE MAC scheduler in this project, following codes can be added in your script:
  
* [1]Kwan, R. and C. Leung, A survey of scheduling and interference mitigation in LTE. JECE, 2010. 2010: p. 1-10.
+
  FD-MT scheduler:   lteHelper->SetSchedulerType ("ns3::FdMtFfMacScheduler");
* [2]Kela, P., et al. Dynamic packet scheduling performance in UTRA Long Term Evolution downlink. in Wireless Pervasive Computing, 2008. ISWPC 2008. 3rd International Symposium on. 2008.
+
  TD-MT scheduler:  lteHelper->SetSchedulerType ("ns3::TdMtFfMacScheduler");
* [3]Giuseppe Piro, Luigi Alfredo Grieco, Gennaro Boggia, Rossella Fortuna, and Pietro Camarda, Two-level downlink scheduling for real-time multimedia services in LTE networks, IEEE * Trans. Multimedia, vol. 13, no. 5, pp. 1052 - 1065, Oct., 2011
+
  TTA scheduler:    lteHelper->SetSchedulerType ("ns3::TtaFfMacScheduler");
* [4]Mongha, G., et al. QoS Oriented Time and Frequency Domain Packet Schedulers for The UTRAN Long Term Evolution. in Vehicular Technology Conference, 2008. VTC Spring 2008.
+
  FD-BET scheduler:  lteHelper->SetSchedulerType ("ns3::FdBetFfMacScheduler");
* [5]F. A. Bokhari, H. Yanikomeroglu, W. K. Wong, and M. Rahman, “Cross-layer resource scheduling for video traffic in the downlink of OFDMA-based wireless 4G networks,” EURASIP J. Wirel. Commun. Netw., pp. 1–10, 2009.
+
  TD-BET scheduler:  lteHelper->SetSchedulerType ("ns3::TdBetFfMacScheduler");
* [6]LTE Simulator Documentation Release M4, 2011
+
  FD-TBFQ scheduler: lteHelper->SetSchedulerType ("ns3::FdTbfqFfMacScheduler");
* [7]FemtoForum MAC LTE MAC Scheduler Interface Specification
+
  TD-TBFQ scheduler: lteHelper->SetSchedulerType ("ns3::TdTbfqFfMacScheduler");
* [8]B. Sadiq, R. Madan, and A. Sampath, Downlink scheduling for multiclass traffic in LTE, EURASIP Journal on Wireless Communications andNetworking, vol. 2009, Article ID510617, 2009
+
  PSS scheduler:    lteHelper->SetSchedulerType ("ns3::PssFfMacScheduler");
* [9]G. Monghal, K. I. Pedersen, I. Z. Kov´acs, and P. E. Mogensen, QoS oriented time and frequency domain packet schedulers for the UTRAN long term evolution, in Proceedings of the IEEEVehicular Technology Conference (VTC 2008), pp. 2532– 2536, 2008.
+
 
* [10]D. López-Pérez, A. Ladanyi, A. Jüttner, H. Rivano and J. Zhang, Optimization Method for the Joint Allocation of Modulation Schemes, Coding Rates, Resource Blocks and Power in Self-Organizing LTE Networks, IEEE INFOCOM (International Conference on Computer Communications), Shanghai, China, April 2011
+
TBFQ and PSS have more parameters than other schedulers. Users can define those parameters in following way:
 +
 
 +
TBFQ scheduler
 +
 
 +
  Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
 +
  lteHelper->SetSchedulerAttribute("DebtLimit", IntegerValue(yourvalue)); // default value -625000 bytes (-5Mb)
 +
  lteHelper->SetSchedulerAttribute("CreditLimit", UintegerValue(yourvalue)); // default value 625000 bytes (5Mb)
 +
  lteHelper->SetSchedulerAttribute("TokenPoolSize", UintegerValue(yourvalue)); // default value 1 byte
 +
  lteHelper->SetSchedulerAttribute("CreditableThreshold", UintegerValue(yourvalue)); // default value 0
 +
 
 +
PSS scheduler
 +
 
 +
  Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
 +
  lteHelper->SetSchedulerAttribute("nMux", UIntegerValue(yourvalue)); // the maximum number of UE selected by TD scheduler
 +
  lteHelper->SetSchedulerAttribute("PssFdSchedulerType", StringValue("CoItA")); // PF scheduler type in PSS, default value "PFsch"
 +
 
 +
In addition, token generation rate in TBFQ and target bit rate in PSS need to be configured by Guarantee Bit Rate (GBR) or Maximum Bit Rate (MBR) in epc bearer respectively. Users can use following codes to define GBR and MBR in both downlink and uplink:
 +
 
 +
  Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
 +
  enum EpsBearer::Qci q = EpsBearer::yourvalue;  // define Qci type
 +
  GbrQosInformation qos;
 +
  qos.gbrDl = yourvalue; // Downlink GBR
 +
  qos.gbrUl = yourvalue; // Uplink GBR
 +
  qos.mbrDl = yourvalue; // Downlink MBR
 +
  qos.mbrUl = yourvalue; // Uplink MBR
 +
  EpsBearer bearer (q, qos);
 +
  lteHelper->ActivateEpsBearer (ueDevs, bearer, EpcTft::Default ());
 +
 
 +
How to choose value for those parameters is out of the scope of this page. Users can find more suggestions on this topic in LTE manual[5].
  
 
= Deliverables =
 
= Deliverables =
  
* APIs for LTE MAC scheduler:  TD-MT,TF-MT; FD-TTA; D-BET,TF-BET; TD-PO,TF-PO; TD-TBFQ,TF-TBFQ; TD-PSS;
+
* LTE MAC scheduler code:  TD-MT,TD-MT; TTA; FD-BET,TD-BET; FD-TBFQ,TD-TBFQ; PSS;
* Test suites for above schedulers;
+
* Test suites of above schedulers;
* Example scripts on how to use ns-3-lte-scheduler.
+
* Documentation of above schedulers;
* Documentation describing ns-3-LTE scheduler, its design and how to use it.
+
  
 
= Plan =
 
= Plan =
  
* Week 1/2  May.21 -- Jun.3implementation of TD-MT,TF-MT scheduler
+
* Week 1     May.21 -- May.27FD-MT scheduler
* Week 3    Jun.4  -- Jun.10:   implementation of FD-TTA scheduler
+
* Week 2    May.28 -- Jun.03:  TD-MT scheduler
* Week 4/5  Jun.11 -- Jun.24: implementation of TD-BET,TF-BET scheduler
+
* Week 3    Jun.4  -- Jun.10: FD-TTA scheduler
* Week 6    Jun.25 -- Jul.8:     test suites for above schedulers
+
* Week 4     Jun.11 -- Jun.17: FD-BET scheduler
* Week 7    Jul.9 -- Jul.13mid-term report
+
* Week 5    Jun.18 -- Jun.24:  FD-BET scheduler
* Week 8/9   Jul.14 -- Jul.22:   implementation of TD-PO,TF-PO scheduler
+
* Week 6    Jun.25 -- Jul.01: TD-BET scheduler
* Week 10/11 Jul.23 -- Jul.29: implementation of TD-TBFQ,TF-TBFQ scheduler
+
* Week 7    Jul.02 -- Jul.08:  Buffer
* Week 12   Jul.30 -- Aug.5:  implementation of TD-PSS scheduler
+
* Week 8    Jul.09 -- Jul.15Mid-term review
* Week 13    Aug.6 -- Aug.13:  test suites for above schedulers
+
* Week 9     Jul.16 -- Jul.22: FD-TBFQ scheduler
* Week 14    Aug.14 - Aug.24: intergration and documentation
+
* Week 10   Jul.23 -- Jul.29: TD-TBFQ scheduler
 +
* Week 11   Jul.30 -- Aug.5:  FD-TBFQ scheduler
 +
* Week 12    Aug.06 -- Aug.12:  TD-PSS scheduler
 +
* Week 13    Aug.13 -- Aug.19Final review
 +
 
 +
All schedulers will follow the procedures in Development methodology section.
 +
 
 +
= Weekly Progress =
 +
 
 +
* '''Week 1 : May.21 -- May.27'''
 +
  * Complete code reading for LTE MAC scheduler and related part. Draw class relationship figure for MAC scheduler. Learning background knowledge of OFDMA
 +
  * Write design documentation of FD-MT and scheduler framework
 +
 
 +
* '''Week 2 : May.28 -- Jun.03'''
 +
  * Complete FD-MT documentation and code and submit it to codereview.
 +
  * Get review from mentors on FD-MT code.
 +
 
 +
* '''Week 3 : Jun.4  -- Jun.10'''
 +
  * Modify FD-MT documentation and code based on mentors' comment
 +
  * Complete  TD-MT documentation and code and submit it to internal code review by mentors
 +
  * Complete FD-TTA design
 +
 
 +
* '''Week 4 : Jun.11 -- Jun.17'''
 +
  * Complete TTA scheduler, including code, testing and documentation
 +
  * Complete TD-BET and test it in the same SNR testcase.
 +
  * Complete design document of FD-BET
 +
 
 +
* '''Week 5 : Jun.18 -- Jun.24'''
 +
  * Complete FD-BET, including code, same SNR test case
 +
 
 +
* '''Week 6 : Jun.25 -- Jul.01'''
 +
  * Modify the MT, TTA and BET codes based on naming style in NS-3
 +
  * Propose a proof method for the user throughput calculation in FD-BET different SNR testcase 
 +
 
 +
* '''Week 7 : Jul.02 -- Jul.08'''
 +
  * Complete all FD-BET test cases and documentations
 +
 
 +
* '''Week 8 : Jul.09 -- Jul.15'''
 +
  * [https://www.nsnam.org/wiki/index.php/GSOC2012LTEScheduling/MidTermReport Midterm report]
 +
 
 +
* '''Week 9 : Jul.16 -- Jul.22'''
 +
  * Read four background papers of FBFQ scheduler in ATM, TDMA and LTE network
 +
  * Complete first version of FD FBFQ scheduler
 +
 
 +
* '''Week 10 : Jul.23 -- Jul.29'''
 +
  * Implement FD FBFQ scheduler for realistic application; several design issues faced, Unnecessary RBG allocation, GBR configuration and RLC packet header calculation
 +
  * FD FBFQ testsuites for homogeneous traffic flows (traffic with the same sending rate)
 +
 
 +
* '''Week 11 : Jul.30 -- Aug.5'''
 +
  * Complete FD TBFQ scheduler, including scheduler codes and testsuites
 +
  * Complete TD TBFQ scheduler, including scheduler codes and testsuites
 +
 
 +
* '''Week 12 : Aug.06 -- Aug.12'''
 +
  * Complete first version of PSS:
 +
      TD scheduler: TD-BET + TD-PF
 +
      FD scheduler: CoItA
 +
  * Complete TBFQ document
 +
 
 +
* '''Week 13 : Aug.13 -- Aug.19'''
 +
  * Complete PFsch model in PSS FD scheduler
 +
  * Complete testcase and document for PSS scheduler
 +
 
 +
* '''Week 14 : Aug.20 -- Aug.24'''
 +
  * [https://mailman.isi.edu/pipermail/ns-developers/2012-August/010433.html Final report]
 +
 
 +
=Acknowledgement=
 +
I would like to express my special thanks of gratitude to my two mentors, Nicola Baldo and Marco Miozzo, also thanks of Lalith Suresh, Tom Henderson and Biljana Bojovic. Thanks for their valuable comments and helps on my work. Thanks for all mentors in NS-3 community to give me this GSoC opportunity.
 +
 
 +
= References =
 +
 
 +
* [1] F.Capozzi, G.Piro L.A.Grieco, G.Boggia, P.Camarda, "Downlink Packet Scheduling in LTE Cellular Networks: Key Design Issues and a Survey", IEEE Comm. Surveys and Tutorials, to appear.
 +
* [2] F.A. Bokhari, H. Yanikomeroglu, W.K. Wong, M. Rahman, "Cross-Layer Resource Scheduling for Video Traffic in the Downlink of OFDMA-Based Wireless 4G Networks",EURASIP J. Wirel. Commun. Netw., vol.2009, no.3, pp. 1-10, Jan. 2009.
 +
* [3] W.K. Wong, H.Y. Tang, V.C.M, Leung, "Token bank fair queuing: a new scheduling algorithm for wireless multimedia services", Int. J. Commun. Syst., vol.17, no.6, pp.591-614, Aug.2004.
 +
* [4] G.Mongha, K.I. Pedersen, I.Z. Kovacs, P.E. Mogensen, " QoS Oriented Time and Frequency Domain Packet Schedulers for The UTRAN Long Term Evolution", In Proc. IEEE VTC, 2008.
 +
* [5] http://lena.cttc.es/manual/index.html

Latest revision as of 21:43, 11 March 2019

LTE Scheduling with the FemtoForum MAC Scheduler API

  • Student: Dizhi Zhou
  • Mentors: : Nicola Baldo, Marco Miozzo
  • Abstract: The ns-3 LTE module released by the LENA project supports the FemtoForum MAC LTE MAC Scheduler Interface Specification for the implementation of MAC schedulers. Currently, only simple Round Robin and Proportional Fair schedulers are supported. This project will develop several main MAC schedulers for LTE. It also includes corresponding test suites and user manual. The complete proposal can be found in here.
  • Code: http://code.nsnam.org/dizhizhou/ns-3-dev
  • Midterm report: https://www.nsnam.org/wiki/index.php/GSOC2012LTEScheduling/MidTermReport
  • About me: I'm a Ph.D. student in the University of New Brunswick, Canada. My research interests are multipath transmission for video streaming in cooperative wireless network and network simulation. You can find more information about my research in website or LinkedIn.

Approach

LTE packet scheduler list

Except PSS and TTA, each scheduler has two versions: frequency domain(FD) and time domain(FD). FD scheduler calculates priority metric on each RBG using subband cqi while TD scheduler calculates metric by wideband cqi. In other words, TD scheduler allocates all RBGs to one UE with highest priority metric.

  • 1, Maximum Throughput (MT)[1]: MT is a channel-aware/QoS-unaware scheduler. In MT, eNB allocates RBG k to UE j with largest instantaneous supportable data rate calculated by subband cqi on this RBG's frequency.
  • 2, Blind Equal Throughput (BET)[1]: BET is a channel-unaware/QoS-unaware scheduler. It reaches the same throughput for all users, regardless of their radio channel quality. The priority is the reciprocal of past average throughput.
  • 3, Throughput to Average (TTA)[1]: TTA is a channel-aware/QoS-unaware scheduler. TTA can be considered as a combination of MT and PF. The priority metric equals to expected datarate for UE j at time t on k-th RBG over wideband expected datarate for the UE j at time t. It guarantees that the best RBs are allocated to each user. NOTE: TTA can only be used in frequency domain.
  • 4, Adaptive Token Bucket (TBFQ)[2][3]: TBFQ is a channel-aware/QoS-aware scheduler which derives from the leaky-bucket mechanism. It guarantees the fairness by utilizing a shared token bank. In addition, each flow has a token generation rate.The QoS is guaranteed by setting token generation rate to different values (such as Guarantee Bit Rate (GBR) in EPC bearer QoS parameter). In TBFQ, flows belonging to UEs that are suffering from severe interference, and shadowing conditions in particular, will have a higher priority metric.
  • 5, Priority set scheduling (PSS)[4]: PSS is a joint frequency domain and time domain scheduler. It is also a channel-aware/QoS-aware scheduler. It aims at providing a defined Target Bit Rate (TBR) to all users. Specifically, in TD scheduler part, the scheduler first sets all available users into two sets based on the target bit rate (TBR): set 1: users below TBR, calculate priority metric in BET style; set 2: users above TBR, calculate priority metric in PF style; Users belonged to set 1 have higher priority than ones in set 2. Then TD scheduler will selects N UEs and forward them to FD scheduler which allocates RBGs k to UE j based on two algrorithms: PFsch and CoItA. Details of PFsch and CoItA can be found in [4] or LTE manual[5].

Development methodology

for each scheduler s
   write design documentation of s
   find reference throughput for s
   implement s
   write test code for s
   write test documentation for s
   publish code of s in public repository
   submit code of s for review using the codereview tool
end 

Testing approach

Because this GSoC project is an extension of current LTE MAC scheduler implementations, the test approach will follow the system test part in [6], test suites for each scheduler will be created as:

  • 1, compare the throughput performance obtained from simulation to the reference throughput. If their values are within a given tolerance, then test is passed.
   Test case: one eNB, multiple UEs
   For single test case, all UEs have same SINR (same distance to eNB)
   For different test case, each UE has different SINR (different distance to eNB)    and different number of UE
  • 2, check the fairness of scheduler: compare the throughput ratiro get from simulation to the reference throughput ratio
  Test case: one eNB, multiple UEs
  For single test case, all UEs have different SINR different distance to eNB)     

Usage

All schedulers developed are components of NS-3 LTE model. How to build and simulate LTE network can be found in here. If users want to use LTE MAC scheduler in this project, following codes can be added in your script:

 FD-MT scheduler:   lteHelper->SetSchedulerType ("ns3::FdMtFfMacScheduler");
 TD-MT scheduler:   lteHelper->SetSchedulerType ("ns3::TdMtFfMacScheduler");
 TTA scheduler:     lteHelper->SetSchedulerType ("ns3::TtaFfMacScheduler");
 FD-BET scheduler:  lteHelper->SetSchedulerType ("ns3::FdBetFfMacScheduler");
 TD-BET scheduler:  lteHelper->SetSchedulerType ("ns3::TdBetFfMacScheduler");
 FD-TBFQ scheduler: lteHelper->SetSchedulerType ("ns3::FdTbfqFfMacScheduler");
 TD-TBFQ scheduler: lteHelper->SetSchedulerType ("ns3::TdTbfqFfMacScheduler");
 PSS scheduler:     lteHelper->SetSchedulerType ("ns3::PssFfMacScheduler");

TBFQ and PSS have more parameters than other schedulers. Users can define those parameters in following way:

TBFQ scheduler

 Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
 lteHelper->SetSchedulerAttribute("DebtLimit", IntegerValue(yourvalue)); // default value -625000 bytes (-5Mb)
 lteHelper->SetSchedulerAttribute("CreditLimit", UintegerValue(yourvalue)); // default value 625000 bytes (5Mb)
 lteHelper->SetSchedulerAttribute("TokenPoolSize", UintegerValue(yourvalue)); // default value 1 byte
 lteHelper->SetSchedulerAttribute("CreditableThreshold", UintegerValue(yourvalue)); // default value 0

PSS scheduler

 Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
 lteHelper->SetSchedulerAttribute("nMux", UIntegerValue(yourvalue)); // the maximum number of UE selected by TD scheduler
 lteHelper->SetSchedulerAttribute("PssFdSchedulerType", StringValue("CoItA")); // PF scheduler type in PSS, default value "PFsch"

In addition, token generation rate in TBFQ and target bit rate in PSS need to be configured by Guarantee Bit Rate (GBR) or Maximum Bit Rate (MBR) in epc bearer respectively. Users can use following codes to define GBR and MBR in both downlink and uplink:

 Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
 enum EpsBearer::Qci q = EpsBearer::yourvalue;  // define Qci type
 GbrQosInformation qos;
 qos.gbrDl = yourvalue; // Downlink GBR
 qos.gbrUl = yourvalue; // Uplink GBR
 qos.mbrDl = yourvalue; // Downlink MBR
 qos.mbrUl = yourvalue; // Uplink MBR
 EpsBearer bearer (q, qos);
 lteHelper->ActivateEpsBearer (ueDevs, bearer, EpcTft::Default ());

How to choose value for those parameters is out of the scope of this page. Users can find more suggestions on this topic in LTE manual[5].

Deliverables

  • LTE MAC scheduler code: TD-MT,TD-MT; TTA; FD-BET,TD-BET; FD-TBFQ,TD-TBFQ; PSS;
  • Test suites of above schedulers;
  • Documentation of above schedulers;

Plan

  • Week 1 May.21 -- May.27: FD-MT scheduler
  • Week 2 May.28 -- Jun.03: TD-MT scheduler
  • Week 3 Jun.4 -- Jun.10: FD-TTA scheduler
  • Week 4 Jun.11 -- Jun.17: FD-BET scheduler
  • Week 5 Jun.18 -- Jun.24: FD-BET scheduler
  • Week 6 Jun.25 -- Jul.01: TD-BET scheduler
  • Week 7 Jul.02 -- Jul.08: Buffer
  • Week 8 Jul.09 -- Jul.15: Mid-term review
  • Week 9 Jul.16 -- Jul.22: FD-TBFQ scheduler
  • Week 10 Jul.23 -- Jul.29: TD-TBFQ scheduler
  • Week 11 Jul.30 -- Aug.5: FD-TBFQ scheduler
  • Week 12 Aug.06 -- Aug.12: TD-PSS scheduler
  • Week 13 Aug.13 -- Aug.19: Final review

All schedulers will follow the procedures in Development methodology section.

Weekly Progress

  • Week 1 : May.21 -- May.27
 * Complete code reading for LTE MAC scheduler and related part. Draw class relationship figure for MAC scheduler. Learning background knowledge of OFDMA
 * Write design documentation of FD-MT and scheduler framework 
  • Week 2 : May.28 -- Jun.03
 * Complete FD-MT documentation and code and submit it to codereview.
 * Get review from mentors on FD-MT code. 
  • Week 3 : Jun.4 -- Jun.10
 * Modify FD-MT documentation and code based on mentors' comment
 * Complete  TD-MT documentation and code and submit it to internal code review by mentors
 * Complete FD-TTA design 
  • Week 4 : Jun.11 -- Jun.17
 * Complete TTA scheduler, including code, testing and documentation
 * Complete TD-BET and test it in the same SNR testcase.
 * Complete design document of FD-BET
  • Week 5 : Jun.18 -- Jun.24
 * Complete FD-BET, including code, same SNR test case 
  • Week 6 : Jun.25 -- Jul.01
 * Modify the MT, TTA and BET codes based on naming style in NS-3
 * Propose a proof method for the user throughput calculation in FD-BET different SNR testcase  
  • Week 7 : Jul.02 -- Jul.08
 * Complete all FD-BET test cases and documentations
  • Week 8 : Jul.09 -- Jul.15
 * Midterm report
  • Week 9 : Jul.16 -- Jul.22
 * Read four background papers of FBFQ scheduler in ATM, TDMA and LTE network
 * Complete first version of FD FBFQ scheduler 
  • Week 10 : Jul.23 -- Jul.29
 * Implement FD FBFQ scheduler for realistic application; several design issues faced, Unnecessary RBG allocation, GBR configuration and RLC packet header calculation
 * FD FBFQ testsuites for homogeneous traffic flows (traffic with the same sending rate) 
  • Week 11 : Jul.30 -- Aug.5
 * Complete FD TBFQ scheduler, including scheduler codes and testsuites
 * Complete TD TBFQ scheduler, including scheduler codes and testsuites 
  • Week 12 : Aug.06 -- Aug.12
 * Complete first version of PSS:
      TD scheduler: TD-BET + TD-PF
      FD scheduler: CoItA
 * Complete TBFQ document 
  • Week 13 : Aug.13 -- Aug.19
 * Complete PFsch model in PSS FD scheduler
 * Complete testcase and document for PSS scheduler 
  • Week 14 : Aug.20 -- Aug.24
 * Final report

Acknowledgement

I would like to express my special thanks of gratitude to my two mentors, Nicola Baldo and Marco Miozzo, also thanks of Lalith Suresh, Tom Henderson and Biljana Bojovic. Thanks for their valuable comments and helps on my work. Thanks for all mentors in NS-3 community to give me this GSoC opportunity.

References

  • [1] F.Capozzi, G.Piro L.A.Grieco, G.Boggia, P.Camarda, "Downlink Packet Scheduling in LTE Cellular Networks: Key Design Issues and a Survey", IEEE Comm. Surveys and Tutorials, to appear.
  • [2] F.A. Bokhari, H. Yanikomeroglu, W.K. Wong, M. Rahman, "Cross-Layer Resource Scheduling for Video Traffic in the Downlink of OFDMA-Based Wireless 4G Networks",EURASIP J. Wirel. Commun. Netw., vol.2009, no.3, pp. 1-10, Jan. 2009.
  • [3] W.K. Wong, H.Y. Tang, V.C.M, Leung, "Token bank fair queuing: a new scheduling algorithm for wireless multimedia services", Int. J. Commun. Syst., vol.17, no.6, pp.591-614, Aug.2004.
  • [4] G.Mongha, K.I. Pedersen, I.Z. Kovacs, P.E. Mogensen, " QoS Oriented Time and Frequency Domain Packet Schedulers for The UTRAN Long Term Evolution", In Proc. IEEE VTC, 2008.
  • [5] http://lena.cttc.es/manual/index.html