LTE scheduling algorithm in ns-3

2,548 views
Skip to first unread message

Elvyra Permata Sari

unread,
Jan 19, 2011, 9:44:05 PM1/19/11
to ns-3-users
hello..
I'm new to ns3 and try to develop my thesis of simulating scheduling
algorithm in ns-3..

I want to know, can I simulate proportional fair scheduling algorithm
in ns3?
and if it can,,what should I do to do this?
Is there any helper to simulate proportional fair scheduling
algorithm?
If there is no helper to do this,,can I add my own scheduling
algorithm?

thank you for your help..
:)

Giuseppe Piro

unread,
Jan 20, 2011, 4:39:46 AM1/20/11
to ns-3-...@googlegroups.com
hi there,

To implement PF algorithms, the basically idea is this:

the packet scheduler compute for each UE and for all the available sub channel a metric

m = instantaneous rate/ average rate.

Then it assign a sub channel to that flow which has the highest metric.
 
Then, for each scheduled flow, the packert scheduler should compute the quota of data that the flow can transmit using the assigned sub channels.

The quota of data depends from CQI values sent by the UE for the assigned sub channels (that will be mapped into the MCS value using the Amc Module)

As soon the scheduler has computed the quota od data that each scheduled flow can transmit, it should the RLC entities associated to these flows for dequeuing packet form the queue.

After that, the packet scheduler should create the packet burst and send it to the PHY/Channel.

 
From the code side, you should:

- Add into the RadioBearerInstance class information about the average transmission rate of the flow that the bearer maps. This value should be updated every time the flow send to data to the MAC layer. Maybe the update function can be called by the RLC entity after it creates a PDU for the MAC layer

- Implement into the RLC entity a method that takes packets (or segments of it) form the Queue (stored into the RadioBearerInstance class) considering the available bytes defined by the packet scheduler after scheduling decisions

- create the ProportionalFairPacketScheduler class, inheriting it from the virtual class PacketScheduler (see the SimplePacketScheduler class to undertand what methods you should implement).

- implement the PF into the DoRunPacketScheduler method.



I know that this is a very long work but not really complicated. So, you can start with implementation of some features ... I can help you during your work.


Cheers,

Giuseppe



2011/1/20 Elvyra Permata Sari <vyra...@gmail.com>

--
You received this message because you are subscribed to the Google Groups "ns-3-users" group.
To post to this group, send email to ns-3-...@googlegroups.com.
To unsubscribe from this group, send email to ns-3-users+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/ns-3-users?hl=en.



--

Giuseppe Piro
Ph.D. Student at Politecnico di Bari | via Orabona 4 | 70125 Bari | Italy
Email: pe...@giuseppepiro.com | g.p...@poliba.it
Phone: +39 080 5963301
Fax:   +39 080 5963410
Web:   www.giuseppepiro.com | telematics.poliba.it/piro

Elvyra Permata Sari

unread,
Jan 20, 2011, 6:05:09 AM1/20/11
to ns-3-users
Thank you for your explanation..
I'll try to do it.. :)
I think with my knowledge now, your help will be very valuable..

By the way, do you mind if I chat with you via yahoo messenger or via
gtalk?

Thank you..

Giuseppe Piro

unread,
Jan 20, 2011, 7:50:58 AM1/20/11
to ns-3-...@googlegroups.com
2011/1/20 Elvyra Permata Sari <vyra...@gmail.com>
Thank you for your explanation..

I think that it is very important for the whole ns-3 community to discuss about this topic using this mailing list !


--

Elvyra Permata Sari

unread,
Jan 25, 2011, 4:50:20 AM1/25/11
to ns-3-users
hi mr. Piro..

Ok, I will discuss it using this mailing list.. :)

I'm sorry,,I don't understand how to add information about the average
transmission rate into RadioBearerInstance class..there is no function
to do this..
how to do this actually?

Giuseppe Piro

unread,
Jan 25, 2011, 5:57:03 AM1/25/11
to ns-3-...@googlegroups.com
Hi there,

 
I'm sorry,,I don't understand how to add information about the average
transmission rate into RadioBearerInstance class..there is no function
to do this..

You should add a  private variable  m_averageTransmissionRate and both Set/Get public functions for setting and getting its value.

SetAverageTransmissionRate() will be called by  the RLC entity as soon as it sends a PDU to the MAC layer.

GetAverageTransmissionRate() can be called by the MAC layer in order to compute, for a given flow, a proper scheduling metric.

BR,

Giuseppe


Elvyra Permata Sari

unread,
Jan 26, 2011, 8:55:47 AM1/26/11
to ns-3-users
Hi, Mr. Piro,
I've just consulted to my advisor about scheduling algorithm will be
used in my thesis..
Actually, I want to investigate whether the algorithm is appropriate
to support triple play service in LTE..
At the first time, I wanted to compare PF (which already been well
known in LTE) with MDRR (Modified Deficit Round Robin)..
But then, my advisor said that I should implement the MDRR algorithm
first, then (maybe) compare it with PacketScheduler and
SimplePacketScheduler because, MDRR algorithm can differ service and
packet..
Do you think it can be implemented in NS3?
How do I implement this algorithm?
thank you for your explanation..

This is the MDRR algorithm:
MDRR classifies packets into queues based on the IP precedence in IP
header. These queues will be serviced like round-robin, with a number
of bytes allowed to be transmitted each time it is serviced (quantum)
and a deficit counter to track how many bytes a queue has transmitted
in each round.
First, it count the quantum for every queue, then deficit counter are
set to be equal with quantum of every queue. When a packet is
transmitted from the queue, deficit counter value will be subtracted
with the packet length (DC=DC-packet length); when the deficit counter
reaches 0 (or less than 0), the scheduler moves on to the next queue.
In each new round, each non-empty queues deficit counter is
incremented by its quantum value.
Beyond these ToS-based queues, MDRR has a special queue (priority
queue) that can be serviced in one of two modes:
-Strict priority mode
-Alternate mode
In strict priority mode, the priority queue can be serviced whenever
it is not empty. Strict priority mode provides low latency and delay
for those packets in the priority queue, but if enough packets are
queued into the priority queue, the remainder of the queues can
starve.
In alternate mode, the scheduler alternates between the special queue
and the rest of the ToS-based queues. For example, there are queue:
PQ, 0. 1, and 2. The scheduler will service it with following order:
PQ, 0, PQ, 1, PQ, 2, PQ, 0 ...
The quantum associated with each queue is configurable by configuring
its weight.
quantum = weight x MTU (Maximum Transmission Unit=1500)

Giuseppe Piro

unread,
Jan 27, 2011, 9:57:50 AM1/27/11
to ns-3-...@googlegroups.com
Hi Elvyra,

2011/1/26 Elvyra Permata Sari <vyra...@gmail.com>

Hi, Mr. Piro,
I've just consulted to my advisor about scheduling algorithm will be
used in my thesis..
Actually, I want to investigate whether the algorithm is appropriate
to support triple play service in LTE..
At the first time, I wanted to compare PF (which already been well
known in LTE) with MDRR (Modified Deficit Round Robin)..
But then, my advisor said that I should implement the MDRR algorithm
first, then (maybe) compare it with PacketScheduler and
SimplePacketScheduler because, MDRR algorithm can differ service and
packet..
Do you think it can be implemented in NS3?

Sure! LTE module has been designed to allow the implementation of any features (I guess!), including the packet scheduler.

Since both PF and MDRR scheduling strategies are very simple to implement, I think that the work you will carry on will be not so hard.

 
How do I implement this algorithm?
thank you for your explanation..



I suggest you to execute in order steps I described in previous mails:

- add functionalities to the RadioBearerInstance in order to store and manage the average transmission rate of a flow it maps.

- add functionalities to the RlcEntity in order to take from the queue the quota of data that depends from scheduling decisions (how many sub channels have been assigned to that flow ? what MCS has been selected ? what is the TB size ? etc ... ).

- implement the PF scheduler


Regards,

Giuseppe


waqif cap

unread,
Jan 27, 2011, 10:49:01 AM1/27/11
to ns-3-...@googlegroups.com
Hi Mr. Piro,

If I want to calculate the data rate of each user i at time t with this formula attached in a file, how and where can I add this?

Where,

i is the user or flow
j is the resource block
t is time
nsymbols is the number of symbols
nslots is the number of slots
nsc is the number of subcarrier
TTI is transmit time interval
RB is resource block


Thanks in advance!
DR-Formula.jpg

Giuseppe Piro

unread,
Jan 28, 2011, 7:31:49 AM1/28/11
to ns-3-...@googlegroups.com
Hi there,

The formula you enclosed represents the available data-rate for a given flow in a given TTI.
This value is used by the packet scheduler for knowing the available data-rate for that flow.

If this is what do you want to have,
you have to add the formula into the DoRunPacketScheduler () function of your particular implementation of the packet scheduler.


BR,
Giuseppe


2011/1/27 waqif cap <waqi...@gmail.com>
--
You received this message because you are subscribed to the Google Groups "ns-3-users" group.
To post to this group, send email to ns-3-...@googlegroups.com.
To unsubscribe from this group, send email to ns-3-users+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/ns-3-users?hl=en.

MR. Awais

unread,
Dec 24, 2011, 1:06:29 AM12/24/11
to ns-3-...@googlegroups.com
I as a bachelors student is working on a scheduling scheme in ns3.


Vinayakam D

unread,
Dec 27, 2011, 10:08:40 AM12/27/11
to ns-3-...@googlegroups.com
scheduling header files are in built in the lte u can use it


On Sat, Dec 24, 2011 at 11:36 AM, MR. Awais <seea...@gmail.com> wrote:
I as a bachelors student is working on a scheduling scheme in ns3.

zayyad isa

unread,
Nov 17, 2012, 5:36:30 PM11/17/12
to ns-3-...@googlegroups.com
Hi, I'm new here and new to the whole LTE ns3 tech,, Please can someone give me some guidance on how to get and install ns3 (if I have to) because I have an assignment on creating some simulations for a few LTE matrices like scheduling, delay, etc. Any help on how to code the simulations and how to use ns3 will be very helpful. Thank you all.

Nicola Baldo

unread,
Nov 19, 2012, 4:25:55 AM11/19/12
to ns-3-...@googlegroups.com
On Saturday, November 17, 2012 11:36:30 PM UTC+1, zayyad isa wrote:
Hi, I'm new here and new to the whole LTE ns3 tech,, Please can someone give me some guidance on how to get and install ns3 (if I have to) because I have an assignment on creating some simulations for a few LTE matrices like scheduling, delay, etc. Any help on how to code the simulations and how to use ns3 will be very helpful. Thank you all.


I suggest you to read the ns-3 tutorial and ns-3 manual first, then check the LTE section of the ns-3 models library. You'll find everything here:
http://www.nsnam.org/ns-3-15/documentation/

Regards,

Nicola

Dheeraj Pandey

unread,
Feb 2, 2015, 5:55:02 AM2/2/15
to ns-3-...@googlegroups.com

can u please send me ns3 code for scheduling algorithm for wireless sensor network

Tommaso Pecorella

unread,
Feb 2, 2015, 6:23:39 AM2/2/15
to ns-3-...@googlegroups.com
Hi,

please do not post a request in a thread that has nothing to do with the request itself (and that is more than 2 years old).
Also, you may want to consider to explain exactly what you are looking for. Wireless Sensor networks are a concept, an idea, and ideas don't use scheduling algorithms. Try to explain exactly what you need and what you are looking for.

T.

tshiamo sigwele

unread,
Mar 18, 2015, 11:35:12 AM3/18/15
to ns-3-...@googlegroups.com
good work

praveen dwivedi

unread,
Jun 14, 2020, 4:22:14 AM6/14/20
to ns-3-users
hey can u help me with the same as i am also working on schedulling in LTE.
what steps to be taken and which all files to look in for.
Reply all
Reply to author
Forward
0 new messages