How to understand RrFfMacScheduler in LENA

170 views
Skip to first unread message

hongyu deng

unread,
Apr 26, 2016, 4:38:15 AM4/26/16
to ns-3-users
Hi all,

These days i try to understand rr-ff-mac-scheduler.cc,but it is so complexity for me.i try to use eclipse to debug it and I have some question in RrFfMacScheduler. Please help!

1\ in line 1526-1531,
      if (itCqi == m_ueCqi.end ())
        {
          // no cqi info about this UE
          uldci.m_mcs = 0; // MCS 0 -> UL-AMC TBD
          NS_LOG_INFO (this << " UE does not have ULCQI " << (*it).first );
        }
it looks like this UE do not upload it's cqi to ENB,but the console shows the ENB also allocate 3RBs to this UE.and i found that when this(UE does not have ULCQI shows in console ) happen the data only send little bytes.like this:
      0x1cde9d0 UE does not have ULCQI 2 (have no ULCQI,the size noly 83)
      0x1cde9d0 Update RLC BSR UE 2 size 83 BSR 2915
 
      0x1cde9d0 Update RLC BSR UE 2 size 2290 BSR 2832 (have ULCQI,the size is 2290 more tha 83)
Could someone give a a clear explanation.Thanks. 


2\ The Round Robin Scheduler in  rr-ff-mac-scheduler.cc looks like a average algorithm in resource allocation.and in UL per UE get at least 3 RBs(rbPerFlow =  3),and if only one UE in script it will get all RBs(25).But in DL,the 25 RBs divided into 12 groups,and if 9 UEs in script,every UE can get 1 RBG, 3 RBGs be left.It  means resource waste? Right?

3\ why the UE order isn't 1 2 3 4 5 6 7 8 9 when the ue number is 9, and it shows in console is 
0x165b650 UE 1 queue 0
0x165b650 UE 2 queue 0
0x165b650 UE 3 queue 0
0x165b650 UE 4 queue 0
0x165b650 UE 7 queue 0
0x165b650 UE 9 queue 0
0x165b650 UE 10 queue 0
0x165b650 UE 11 queue 0
0x165b650 UE 12 queue 0
Why?

4\in line 1883 ,function void RrFfMacScheduler::RefreshUlCqiMaps (void)
NS_LOG_INFO (this << " UL-CQI exired for user " << (*itUl).first);
What does it mean,there has no comment .

Hope my expression clear.Thanks advance.

Best regards,
Hongyu.

Marco Miozzo

unread,
Apr 26, 2016, 6:29:15 AM4/26/16
to ns-3-...@googlegroups.com
Hi,

see in-line.

Best,
marco.


On Tue, Apr 26, 2016 at 10:38 AM, hongyu deng <dengho...@gmail.com> wrote:
Hi all,

These days i try to understand rr-ff-mac-scheduler.cc,but it is so complexity for me.i try to use eclipse to debug it and I have some question in RrFfMacScheduler. Please help!

1\ in line 1526-1531,
      if (itCqi == m_ueCqi.end ())
        {
          // no cqi info about this UE
          uldci.m_mcs = 0; // MCS 0 -> UL-AMC TBD
          NS_LOG_INFO (this << " UE does not have ULCQI " << (*it).first );
        }
it looks like this UE do not upload it's cqi to ENB,but the console shows the ENB also allocate 3RBs to this UE.and i found that when this(UE does not have ULCQI shows in console ) happen the data only send little bytes.like this:
      0x1cde9d0 UE does not have ULCQI 2 (have no ULCQI,the size noly 83)
      0x1cde9d0 Update RLC BSR UE 2 size 83 BSR 2915
 
      0x1cde9d0 Update RLC BSR UE 2 size 2290 BSR 2832 (have ULCQI,the size is 2290 more tha 83)
Could someone give a a clear explanation.Thanks. 

Depending on the CQIs you are using it might be that eNB does not receive any one for a while (i.e., for PUSCH ones when there is no data). In this case, the eNB picks up the worst one.
 


2\ The Round Robin Scheduler in  rr-ff-mac-scheduler.cc looks like a average algorithm in resource allocation.and in UL per UE get at least 3 RBs(rbPerFlow =  3),and if only one UE in script it will get all RBs(25).But in DL,the 25 RBs divided into 12 groups,and if 9 UEs in script,every UE can get 1 RBG, 3 RBGs be left.It  means resource waste? Right?

Yes, some resources might be wasted in some scenarios. The idea is to have a simple round robin algorithm that equally divides the resources among the active UEs.
 

3\ why the UE order isn't 1 2 3 4 5 6 7 8 9 when the ue number is 9, and it shows in console is 
0x165b650 UE 1 queue 0
0x165b650 UE 2 queue 0
0x165b650 UE 3 queue 0
0x165b650 UE 4 queue 0
0x165b650 UE 7 queue 0
0x165b650 UE 9 queue 0
0x165b650 UE 10 queue 0
0x165b650 UE 11 queue 0
0x165b650 UE 12 queue 0
Why?

It depends on the scenario, in this case I guess that some numbers have been lost in the RACH procedure for collision.
 

4\in line 1883 ,function void RrFfMacScheduler::RefreshUlCqiMaps (void)
NS_LOG_INFO (this << " UL-CQI exired for user " << (*itUl).first);
What does it mean,there has no comment

As for point 1), the idea is to refresh the CQIs list for avoiding to use too old CQIs that might not reflect the channel conditions, this can be important in case only PUSCH CQIs are used.
 
.

Hope my expression clear.Thanks advance.

Best regards,
Hongyu.

--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to the Google Groups "ns-3-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ns-3-users+...@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

hongyu deng

unread,
Apr 26, 2016, 9:45:09 AM4/26/16
to ns-3-users
Hi Marco,
Thanks your quick reply.it's very helpful for me.
Depending on the CQIs you are using it might be that eNB does not receive any one for a while (i.e., for PUSCH ones when there is no data). In this case, the eNB picks up the worst one.
why pick the worst one?The document for Round Robin is very simple,and I found that all the wideband CQI are 15,has no change in simulation process.

Yes, some resources might be wasted in some scenarios. The idea is to have a simple round robin algorithm that equally divides the resources among the active UEs.
As for those wasted resource,is there any way to use it to reduce resource waste?
I want to use those wasted resource meanwhile,how can i do ,could you give some advice?

It depends on the scenario, in this case I guess that some numbers have been lost in the RACH procedure for collision.
Is it means too many Users in scenario,but only nine Users in my script? 

4\in line 1883 ,function void RrFfMacScheduler::RefreshUlCqiMaps (void)
NS_LOG_INFO (this << " UL-CQI exired for user " << (*itUl).first);
What does it mean,there has no comment

As for point 1), the idea is to refresh the CQIs list for avoiding to use too old CQIs that might not reflect the channel conditions, this can be important in case only PUSCH CQIs are used
what is" exired" complete mean? Could you give a whole spell?Thanks.

Thanks you very much Marco.

Best,
Hongyu.

Marco Miozzo

unread,
Apr 27, 2016, 11:19:13 AM4/27/16
to ns-3-...@googlegroups.com
Hi,

see in-line.

Best,
marco.

On Tue, Apr 26, 2016 at 3:45 PM, hongyu deng <dengho...@gmail.com> wrote:
Hi Marco,
Thanks your quick reply.it's very helpful for me.
Depending on the CQIs you are using it might be that eNB does not receive any one for a while (i.e., for PUSCH ones when there is no data). In this case, the eNB picks up the worst one.
why pick the worst one?The document for Round Robin is very simple,and I found that all the wideband CQI are 15,has no change in simulation process.

It depends on the simulation scenario, CQIs might change according to channel phenomena (distance, interference, fading, etc.). The worst one is simple a conservative solution in order to be sure the TB will be correctly received.
 

Yes, some resources might be wasted in some scenarios. The idea is to have a simple round robin algorithm that equally divides the resources among the active UEs.
As for those wasted resource,is there any way to use it to reduce resource waste?
I want to use those wasted resource meanwhile,how can i do ,could you give some advice?

You can adapt the RR implementation to your needs, for instance you can force to take the minimum integer number of RBGs that allows you to avoid any resource waste (in this case the RR behavior might need more than 1 TTI).
 

It depends on the scenario, in this case I guess that some numbers have been lost in the RACH procedure for collision.
Is it means too many Users in scenario,but only nine Users in my script? 

It means that UEs may collide in the attachment phase, more info at the following link:
http://lena.cttc.es/manual/lte-design.html#rrc

 

4\in line 1883 ,function void RrFfMacScheduler::RefreshUlCqiMaps (void)
NS_LOG_INFO (this << " UL-CQI exired for user " << (*itUl).first);
What does it mean,there has no comment

As for point 1), the idea is to refresh the CQIs list for avoiding to use too old CQIs that might not reflect the channel conditions, this can be important in case only PUSCH CQIs are used
what is" exired" complete mean? Could you give a whole spell?Thanks.

It's a typo, it should be "expired".
 

Thanks you very much Marco.

Best,
Hongyu.

hongyu deng

unread,
Apr 28, 2016, 10:07:20 AM4/28/16
to ns-3-users
Hi Marco Sir,

Thanks you very much,and sorry so late to reply.
It is very helpful for me to understand RR.
Thanks.

BR,
Hongyu.

hongyu deng

unread,
May 17, 2016, 10:17:34 AM5/17/16
to ns-3-users
Hi Marco,

 Does Round Robin scheduler can allocates RB to no active flow?
 In code,it comments that Round Robin allocates RB avg to active flow.
 Can i allocate no active UE RB and how to do to achieve that?
 Could you give some advice,Thanks.

Best,
Hongyu.

hongyu deng

unread,
May 18, 2016, 8:42:32 AM5/18/16
to ns-3-users
Hi Mr. Marco

Sorry to ask you again.
Could you give some advice how to allocate the left RBs to other UE in ONE TTI?
Thanks for any advice.

Best,
Hongyu.

Marco Miozzo

unread,
May 18, 2016, 9:03:24 AM5/18/16
to ns-3-users
Hi,

you can allocate as you prefer RBs, of course if you want to maintain the RR behavior, you should keep an equal allocation of the resources. Just have just to create the correspondent DCI as done by RR for the allocated UEs.
Regarding the active flow, RR consider as active an UE that have at least one LC that has the RLC queues not empty, if you try to allocate UEs with empty queues you will still have empty TBs.

Best,
marco.



--

hongyu deng

unread,
May 18, 2016, 10:08:26 AM5/18/16
to ns-3-users
Hi Mr.Marco,

Thanks for your quickly reply.
I try to explain my mean clear.
There are 7 UE RX data from remoteHost in downlink,and RR will allocate 7 RBs to them,every UE will get one RBG to RX data.
And it will left 5 RBGs in one TTI(bandwidth 25).I want to allocate the left 5 RBGs to the Eight UE,but it's queues=0.What i should do to achieve that?
As you said,the RR need to know the active flows to allocate RBG equally,if one UE has empty queues and empty TBs,but i want to allocate RBGs to it,what should i do?
can i modify the RR scheduler or RLC layer to achieve that?
Thanks.

Best,
Hongyu.

hongyu deng

unread,
May 19, 2016, 11:10:40 AM5/19/16
to ns-3-users
Hi Biljana Bojović,

Why do you label this topic as down?

Best,
Hongyu.

Biljana Bojović

unread,
May 19, 2016, 2:17:53 PM5/19/16
to ns-3-users
Hi, i marked "completed"/"answered". What do you mean by "down"?

Biljana Bojović

unread,
May 19, 2016, 2:25:34 PM5/19/16
to ns-3-users
I just removed "complete". Anyway, I keep thinking that this topic should be mark as complete as answers are clear, complete and detailed.

hongyu deng

unread,
May 19, 2016, 9:02:03 PM5/19/16
to ns-3-...@googlegroups.com
Hi Biljana,

Thanks you for removing "complete",the first question is complete,yes.
But i ask some questions later.I hope it don't be marked as "complete".
The "down" means "complete",sorry for my English.

Best,
Hongyu.



Have fun,
HongYu.

2016-05-20 2:25 GMT+08:00 Biljana Bojović <biljana...@gmail.com>:
I just removed "complete". Anyway, I keep thinking that this topic should be mark as complete as answers are clear, complete and detailed.
--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/kK0T9mHQ8TQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+...@googlegroups.com.
Reply all
Reply to author
Forward
Message has been deleted
0 new messages