|
两个模块都要DBA加速模块进行交互,并反过来与MPCP模块进行通信。硬件DBA模块应用高度优化的ASIC设计,而软件DBA模块则由OLT的内置微处理器控制。
这两个DBA模块接受以下四种输入:
1) ONU SLA配置信息,包括已认可的参数,如峰值信息速率(PIR)、约定信息速率(CIR)、最大爆发规模,最大延时与最小变异程度。 2) 由系统供应商为个体OLT设定的参数——如周期长度、许可调度模式、连续工作模式与发现/注册窗口大小。 3) ONU注册信息,包括在给定时间注册的有源ONU数量,及共享上行带宽的需要。 4) 报告表格(Report Table)——由DBA硬件加速器维护,并包含从它们的REPORT消息中获知的每个ONU队列长度,以此作为其带宽需求的指标。注意,在每个周期中,即使不允许进一步发送流量,系统也为每个ONU批准一个最小的上行时间空档来发送REPORT消息——这样就不会丢失ONU。
应用这四个输入,DBA模块执行它的DBA算法,为下一个周期中的ONU生成传输许可计划。这一计划包含下一个周期中每个ONU许可的起始时间与长度,这些被写入到许可表格(Grant Table)中。然后,DBA加速模块应用此许可表格来生成适当的GATE消息,再通过MPCP模块将它们送交给各个ONU。
DBA周期长度各不相同,硬件模块的周期长度可短至0.4毫秒,而软件模块可为1毫秒,最长可达10毫秒,这充分显示了系统的适应性。尽管周期长度较短一般会使减小延时与变异程度,但它增加了处理MPCP消息与激光开关次数的时间,因而可能会降低上行通道的利用率。因此,设置一个相对宽泛的且可修改的周期长度范围,MIB-DBA可以为上传提供充分的适应性和贴合性。
MIB-DBA算法
此算法应用计算机网络领域内的知名概念——“最大最小公平性”概念。最大最小公平性是在有着各自资源需求的多个相互竞争的实体间分配资源的一种策略。此策略试图为当前接受最少资源的实体提供更多资源,并保证没有实体获得超过其需求的资源——同时,剩下的任何资源则在所有需求尚未满足的实体间平均共享。
这种典型的公平性策略并未考虑指定最小保证带宽与最大可分配带宽的SLA,因此,MIB-DBA算法给每个ONU一个“权重”来扩充此策略。在应用一个权重最大最小公平性策略时,带宽以增加需求的顺序、按权重进行标准化来分配。例如,如果一个特定的ONU的权重为N,而系统中所有ONU的总权重为M,那么此ONU收到的资源为总资源分配的N/M。
此算法的详细说明不在本文的讨论范围之内,因此我们只简单地列举算法的主要决策过程,并为希望了解更多细节的读者提供完整的算法流程图
I在每个周期中,第一个问题(A)是这样:“我们有足够的带宽为当前在线的ONU提供在SLA中承诺的所有最小带宽吗?”如果确实如此(B),你要确保每个ONU得到这个最小带宽,然后你看到两个数据:首先,每个ONU的需求超出最小带宽多少;第二,在每个ONU收到其SLA最小带宽后,还剩下多少有效带宽。
应用这些数据我们进入第一个叠合过程。在每个叠合过程中,我们(C)认为所有的ONU仍有未满足的需求,并且我们定义一个“公平共享”方案,在ONU间按权重比例分配剩余的有效带宽——所以权重最大的得到的带宽最多(生活就是这样)。满足这一分配的ONU(D)将它作为下一个周期的“动态许可”——因为它们没有另外的“需求”——此后,它们即退出计算。然后我们再重复叠合过程,但愿接下来未满足需求的ONU会更少一些。
将这样一个叠合过程应用到在线操作中的问题是:从理论上说,可能会发生许多次叠合过程,因此在下一个GATE消息出现之前,可能会出现严重的延时。但实际上,该算法十分倾向于一个最终理想的答案,那么“简单行事”并限制叠合的次数就是可行的。让人高兴的是,MIB-DBA算法确实能够迅速达成一致,即使有64个ONU互相竞争时,你也只有进行5次叠合就能得到相当公平的答案。这一限制已通过模拟与分析进行过大量的测试,结果表明最佳公平性只有非常细微的变异,同时运行速度更快,执行过程更为简单。特别地,它还支持小至1毫秒的DBA周期,以极低的延时与变异程度进行服务传送。
因此,每个叠合在(E)处结束,在提出另一个叠合请求前,它检查是否已完成了足够的叠合次数。当叠合过程终止时,要对剩余的带宽向那些仍在发出请求的ONU作最后的公平分配。而且,还可对总数目N进行调整,以满足操作员的需要,这种灵活性用于平衡速度与供应的绝对公平性。
|