【技术实现步骤摘要】
本专利技术涉及计算机
,尤其涉及一种队列管理方法和装置。
技术介绍
随着网络技术的发展,人们对网络带宽需求增大,对相关设备的带宽、服务质量(英文全称:Quality of Service,英文简称:QoS)和成本都提出了很高的要求,体现在网络芯片上就要求其可以缓存和处理更多的报文、具备精准的调度能力和更低的芯片成本,这些都体现在产品的竞争力上。网络芯片中的流量管理(英文全称:Traffic Manage,英文简称:TM)芯片的主要功能就是对报文的缓存、入队、调度和出队。其中,对报文的缓存、入队和出队是由队列管理模块来完成的,主要是对队列的链表的操作。对报文的调度是由调度模块来完成的,如果考虑成本去增大每个报文的长度信息的粒度,又会影响调度的准确性、造成很大的突发和抖动。现有技术中常见的队列管理流程可包括如下步骤:1、从网络芯片的入口接收报文;2、将接收到的报文缓存在网络芯片外的随机存储器;3、报文缓存之后生成报文描述符(英文全称:Packet Descriptor,英文简称:PD),然后将PD入队到对应的实体队列中,入队由队列管理模块来完成。其中,PD是描述报文的信息,包括实体队列中的某一个报文指向的下一个报文的指针等。在目前的队列管理方案中至少存在如下问题:因为大带宽的设备要求缓存更多的报文,通常报文数据都缓存在片外的随机存储器中,但报文的队列信息(包括链表的头指针、下一个报文指针和链表的尾指针)和每个报文的长度通常都放在芯片的内部,除队列的头指针和尾指针是按实体队列来维护之外,下一个报文指针和报文长度是按照每个报文来维护的,这些信息用于维护实体 ...
【技术保护点】
一种队列管理方法,其特征在于,包括:将第一报文存储到第一宏单元包括的第一缓存单元,所述第一宏单元入队到第一实体队列,所述第一宏单元包括:连续的N个缓存单元,所述N为大于或等于2的自然数,所述第一缓存单元属于所述N个缓存单元;根据所述第一报文的报文长度对所述第一宏单元存储了所述第一报文之前的平均报文长度进行修正,得到第一宏单元的当前平均报文长度;根据所述第一宏单元和所述第一实体队列生成所述第一宏单元对应的队列信息,所述第一宏单元对应的队列信息包括:所述第一宏单元在所述第一实体队列中的宏单元标识、所述第一宏单元内部的头指针、所述第一宏单元内部的尾指针和所述第一宏单元的当前平均报文长度。
【技术特征摘要】
1.一种队列管理方法,其特征在于,包括:将第一报文存储到第一宏单元包括的第一缓存单元,所述第一宏单元入队到第一实体队列,所述第一宏单元包括:连续的N个缓存单元,所述N为大于或等于2的自然数,所述第一缓存单元属于所述N个缓存单元;根据所述第一报文的报文长度对所述第一宏单元存储了所述第一报文之前的平均报文长度进行修正,得到第一宏单元的当前平均报文长度;根据所述第一宏单元和所述第一实体队列生成所述第一宏单元对应的队列信息,所述第一宏单元对应的队列信息包括:所述第一宏单元在所述第一实体队列中的宏单元标识、所述第一宏单元内部的头指针、所述第一宏单元内部的尾指针和所述第一宏单元的当前平均报文长度。2.根据权利要求1所述的方法,其特征在于,所述第一实体队列,至少包括:第一宏单元和在所述第一实体队列中处于所述第一宏单元之前且相邻的第二宏单元,所述方法还包括:从所述第一实体队列中确定出需要报文出队的宏单元为第二宏单元,所述第二宏单元对应的队列信息包括:所述第二宏单元在所述第一实体队列中的宏单元标识、所述第二宏单元内部的头指针、所述第二宏单元内部的尾指针和所述第二宏单元的当前平均报文长度;根据所述第二宏单元内部的头指针读取到需要出队的第二报文,并修改所述第二宏单元内部的头指针对应的偏移值。3.根据权利要求2所述的方法,其特征在于,所述根据所述第二宏单元内部的头指针读取到需要出队的第二报文之后,所述方法还包括:将所述第二宏单元的当前平均报文长度发送给调度器和限速器,以使所述调度器根据所述第二宏单元的当前平均报文长度刷新所述调度器的权重,所述限速器根据所述第二宏单元的当前平均报文长度刷新所述限速器的令牌。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述第一宏单元和所述第一实体队列生成所述第一宏单元对应的队列信息之后,所述方法还包括:根据所述第一宏单元对应的队列信息维护所述第一实体队列的链表。5.根据权利要求1至3中任一项所述的方法,其特征在于,所述将第一报文存储到第一宏单元包括的第一缓存单元,包括:将所述第一宏单元内部的尾指针分配给第一报文,并修改所述第一宏单元内部的尾指针对应的偏移值。6.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述第一报文的报文长度对所述第一宏单元存储了所述第一报文之前的平均报文长度进行修正,得到第一宏单元的当前平均报文长度,包括:获取所述第一宏单元存储所述第一报文之前已经存储的所有报文数量;根据所述已经存储的所有报文数量、所述第一宏单元存储了所述第一报文之前的平均报文长度和所述第一报文的报文长度计算第一宏单元的当前平均报文长度。7.一种队列管理装置,其特征在于,包括:存储模块,用于将第一报文存储到第一...
【专利技术属性】
技术研发人员:郑盛巍,丁德宏,杨雄,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。