From Nsnam
Jump to: navigation, search


This is the mid-term report for GSoC 2012 NS-3 LTE MAC Scheduler project. This report first gives the background and objective of the project in the introduction section. Then it describes the work done from May.21 to Jun.6. Future plan in next one and have month is proposed in the last section.

Following two links are the code review and repository of this project are:

The proposal and plan of this project can be found in following two links:


3GPP Long Term Evolution (LTE) is a standard for wireless communication which is marcketed as a 4G wireless service. It can provide 100Mbps in download and 50Mbps in upload for varied mobile devices[1]. MAC layer packet scheduler, located in EnodeB (the name of base station in LTE), plays an important role within LTE system because it is responsible for deciding which users can be served and which resources can be allocated to those scheduled users[2]. LENA is an open source LTE network simulator and has been merged with Network Simulator 3 in May, 2012[3]. However, current version of LENA only has two types of MAC scheduler, Round Robin(RR) and Proportional Fair (PF)[4]. This GSoC project aims to implement several general scheduler algorithms in LENA and provides a suite of testing cases to verify their performance. Those scheduling algorithms include:

  • Maximum Throughput (MT) scheduler
  • Throughput to Average (TTA) scheduler
  • Blind Equal Throughput (BET) scheduler
  • Adaptive Token Bucket (TBFQ) scheduler
  • Priority set scheduling (PSS) scheduler

Except TTA, each scheduler contains time domain version and frequency domain version.


Here are the achievements from May.21 to Jul.6:

  • Time Domain Maximum Throughput scheduler (TD-MT)
  • Frequency Domain Maximum Throughput scheduler (TD-MT)
  • Throughput to Average scheduler (TTA) (only words in frequency domain)
  • Time Domain Blind Equal Throughput scheduler (TD-BET)
  • Frequency Domain Blind Equal Throughput scheduler (TD-BET)

Each scheduler contains source code, testsuite and related documents. The work for each scheduler is introduced in following subsections. More description on those schedulers and their testing cases can be found in lte-design.rst and lte-testing.rst [5].

Scheduler Framework

Initially, I plan to design a general interface for all FD and TD versions. The key motivation is that user can flexible combine any types of TD and FD scheduler together, e.g., TD-BET + FD-TTA. However, after discussion with two mentors, I notice that this general interface is very hard to implement because each scheduler may has different interface. In addition, TD+FD scheduler is different from pure TD and pure FD scheduler. Therefore, we decide to implement each scheduler independently, which means that we plan to implement TD, FD and TD+FD separately.

Test Suite

For all schedulers, I reuse the testcases for RR and PF:

  • One eNB and multiple UEs with the same distance
  • One eNB and multiple UEs with different distance

However, different scheduler will have differrent estimated throughput value in above two testcases.

Maximum Throughput Scheduler

In MT, scheduler always selects UE with highest achievable rate. In TD-MT, achievable rate is calculated by wideband cqi. In FD-MT, it is calculated by subband cqi. MT scheduler can achieve the full bandwidth, but provide bad fairness to UE. For the same distance testcase, both TD-MT and FD-MT always select the first UE defined in script. In the different distance testcase, both TD-MT and FD-MT always select the UE closest to eNB.

Throughput to Average Scheduler

TTA scheduler can only works in frequency domain because it allocates each RBGs to UE with highest value of d_n_k / d_n, where d_n_k is achievable rate of UE n caculated by subband cqi on k th RBG and d_n is the achievable rate of UE n calculated by wideband cqi. The expected behavior of TTA is to provide the same throughput to all UEs under eNB, in both same distance testcase and different distance testcase. However, base on the current fading model, the widebnad cqi and subband cqi for one UE is always the same. Therefore, in current testcases, TTA always allocates resource to the first UE in the script. More complex fading model will be defined for TTA in the next step.

Blind Equal Throughput Scheduler

Similar to TTA, both FD-BET and TD-BET aim to provide the same throughput for all UEs. The difference between BET and TTA is that BET is the Channel-unaware scheduler, while TTA is the channel-aware one because it caculates priority metric based on CQI. In both TD-BET and FD-BET, scheduler selects UE with highest ( 1 / pastAverageThroughput ). In TD-BET, the scheduler selects the UE with largest metric and allocates all RBGs to this UE. In FD-BET, every TTI, scheduler first selects one UE with lowest pastAverageThroughput (largest metric). Then scheduler assigns one RBG to this UE, it calculates expected throughput of this UE and uses this UE's expected throughput to compare with pastAverageThroughput of other UEs. The scheduler continues to allocate RBG to this UE until its expected throughput is not the smallest pastAverageThroughput of all UE. Then the scheduler will use the same way to allocate RBG for a new UE which has the lowest pastAverageThroughput until all RBGs are allocated to UEs. The principle behind this is that, in every TTI, the scheduler tries the best to achieve the equal throughput among all UEs. Both TD-BET and FD-BET can guarantee the same throughput in two testcases.

Future Plan


  • Fading model for TTA scheduler
  • TD-TBFQ scheduler
  • FD-TBFQ scheduler
  • PSS scheduler
  • Final report


  • Week8 Jul.9 - Jul.15: fading model for TTA
  • 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: PSS scheduler
  • Week 13 Aug.13 -- Aug.19: Final report


I would like to express my special thanks of gratitude to my two mentors, Nicola Baldo and Marco Miozzo. Thanks for their valuable comments and helps on my work.