zoukankan      html  css  js  c++  java
  • LTE Module User Documentation(翻译2)——配置LTE MAC 调度器

    LTE用户文档 

    (如有不当的地方,欢迎指正!)

    5 配置 LTE MAC 调度器

     
    这里有几种 LTE MAC 调度器用户可以选择。使用下面的代码定义调度器的类型:
    Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
    lteHelper->SetSchedulerType ("ns3::FdMtFfMacScheduler");    // FD-MT scheduler
    lteHelper->SetSchedulerType ("ns3::TdMtFfMacScheduler");    // TD-MT scheduler
    lteHelper->SetSchedulerType ("ns3::TtaFfMacScheduler");    // TTA scheduler
    lteHelper->SetSchedulerType ("ns3::FdBetFfMacScheduler");  // FD-BET scheduler
    lteHelper->SetSchedulerType ("ns3::TdBetFfMacScheduler");  // TD-BET scheduler
    lteHelper->SetSchedulerType ("ns3::FdTbfqFfMacScheduler");  // FD-TBFQ scheduler
    lteHelper->SetSchedulerType ("ns3::TdTbfqFfMacScheduler");  // TD-TBFQ scheduler
    lteHelper->SetSchedulerType ("ns3::PssFfMacScheduler");    //PSS scheduler
     
    TBFQ 和 PSS ,与其他调度器相比,参数更多。用户可以按照以下方式定义这些参数:
     
    * 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
    在TBFQ中,根据论文 [FABokhari2009],debt limit 和 credit limit 默认的值分别设置为 -5Mb 和 5Mb 。当前实现中并没有考虑 credit 阈值( C = 0)。 在 PSS 中,如果用户不定义 nMux(TD调度器选择的最大用户数目), PSS 默认设置该值为用户总数的一半。 默认的 FD 调度器是 PFsch。
     
    此外, TBFQ 的令牌产生率和 PSS 的目标比特率需要通过 epc bearer QoS 参数中的 Guarantee Bit Rate (GBR,保证比特率)Maximum Bit Rate (MBR,最大比特率) 配置。用户可以使用下列代码在上行和下行链路定义 GBR 和 MBR :
     
    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->ActivateDedicatedEpsBearer (ueDevs, bearer, EpcTft::Default ());
    在 PSS 中, TBR(业务比特率)根据承载级别 QoS 参数的 GBR 获得的。在 TBFQ 中,令牌产生率是根据承载级别 QoS 参数的 MBR 设置获得的,因此,承载级别的 QoS 参数需要始终配置。 对于 constant bit rate (CBR,恒定比特率)业务, 建议设置 MBR 为 GBR。 对于 variable bit rate (VBR,可变比特率。PS:文档中写的是 variance bit rate,个人觉得有问题,应该是 variable bit rate) 业务, 建议设置 MBR 为 GBR 的 k 倍大,目的是为了覆盖峰值业务速率。在当前实现中,基于论文 [FABokhari2009] ,k 设置为3。此外,当前版本的 TBFQ 并不会考虑 MBR 和 GBR 中 RLC 头部 和 PDCP 头部的长度。  TBFQ  的另一个参数是数据包到达率。该参数在调度器中计算,值等于历史平均吞吐量(用于 PF 调度器)。
     
    以下子章节会描述 LTE-EPC 模型很多有用的属性。当然,设计或用户文档中仍有很多属性没有明确提及, 但是使用 ns-3 属性系统可以很清楚地记录下来。 你可以轻易地 print 给定对象的属性列表及其描述和默认值传递--PrintAttributes= 到一个仿真程序中,比如:
    ./waf --run lena-simple --command-template="%s --PrintAttributes=ns3::LteHelper"
     
    你也可以尝试其他的 LTE 和 EPC 对象,比如:
    ./waf --run lena-simple --command-template="%s --PrintAttributes=ns3::LteEnbNetDevice"
    ./waf --run lena-simple --command-template="%s --PrintAttributes=ns3::LteEnbMac"
    ./waf --run lena-simple --command-template="%s --PrintAttributes=ns3::LteEnbPhy"
    ./waf --run lena-simple --command-template="%s --PrintAttributes=ns3::LteUePhy"
    ./waf --run lena-simple --command-template="%s --PrintAttributes=ns3::PointToPointEpcHelper"
     

    参考文献

    https://www.nsnam.org/docs/models/html/lte-user.html

     
  • 相关阅读:
    python-观察者模式
    python-迭代器模式
    python-策略模式
    python-组合模式
    python-享元模式
    python-代理模式
    虚基类与虚继承
    指针与地址的关系
    大数相加和大数相乘以及打印从1到最大的n位数
    各种排序实现以及稳定性分析
  • 原文地址:https://www.cnblogs.com/alice123/p/5491094.html
Copyright © 2011-2022 走看看