论文部分内容阅读
网络处理器已经成为新一代网络交换机与路由器的核心,随着网络带宽的急剧增长,对网络处理器传输带宽的要求也越来越高,而存储系统和调度算法由于直接影响到网络处理器的传输性能,已经成为克服网络处理器传输性能瓶颈要重点考虑的因素。同时由于网络处理器是基于IC的设计,还要求网络处理器的各个功能部件在保证性能的同时具有较低的硬件实现开销。本文从提高网络处理器的传输性能和降低硬件实现开销入手,对网络处理器存储系统和调度算法的设计进行了系统的研究和分析,并取得了以下创新点:
1.提出了一种基于行的线性地址分配方法。基于行的线性地址分配方法直接使用DRAM存储器的行作为空闲缓冲区管理和分配的基本单位,通过降低空闲缓冲区管理指针的数目减少了SRAM资源的占用率,最大限度地提高了DRAM存储器开页(Open page)访问的机会。同时还由于该算法允许剩余的行空间可以继续存放新的分组数据,有效解决了碎片问题,尤其适用于平均分组长度较大的网络环境。
2.提出了一种区分队列指令重排序算法。针对网络处理器中存储控制器的设计,本文在建立访存指令三队列模型的基础上提出了区分队列指令重排序算法。该算法和线性地址分配方法相配合可以提高DRAM存储器开页访问的机会,并且由于三个队列的操作数集合相互独立,避免了数据相关问题,同时,通过使用排序窗口,该算法还降低了对网络处理器其他性能的影响。
3.提出了一种基于位图的空闲缓冲区管理方法。在对线性地址分配方法的具体实现和网络处理器的存储管理效率进行分析的基础上,本文提出了一种基于位图的空闲缓冲区管理方法。该方法将空闲缓冲区的操作从存储管理的关键路径上分离出来,提高了网络处理器的存储管理效率,并且和链表管理方法相比,更利于线性地址分配方法的实现。同时由于该方法使用了索引表、预取缓冲区、位图压缩技术、并行查找和改进的释放控制逻辑,具有较快的空闲块分配速度,同时具有占用存储资源少、逻辑简单和易于实现的特点。
4.提出了一种DWQ(Deficit weight Queuing)差额权重排队调度算法。该调度算法通过简单的差额运算来计算队列的调度优先级,使该算法易于硬件实现,同时具有较低的计算复杂度和接近WFQ(weighted Fair Queuing)的公平性能和延迟性能。此外,该算法还通过计算与相应GPS(Generalized Processor Sharing)系统中帧发送时间的误差,利用优先级修正参数来调节调度优先级,使其在抑制突发方面能达到接近WF<2>Q(worst Case Fair weighted Fair Queueing)算法的性能。由于该算法计算复杂度较低且易于硬件实现,又有较好的调度性能,适合在网络处理器中实现。
5.提出了一种有利于发挥网络处理器整体性能的存储系统优化设计方法。该方法采用了一种改进的系统存储总线仲裁策略和传输协议。所采用的仲裁策略兼顾网络处理器的传输性能、处理性能和调度性能,在保证网络处理器传输性能的基础上,使分组处理效率得到了提高,并降低了对调度性能的影响。同时,改进的系统存储总线传输协议保证了指令重排序算法和开页访问控制策略的实现,有利于提高网络处理器的传输带宽。大量实验结果表明,本文所提出的方法能在保证较好的性能和较低硬件实现开销的同时有效提高网络处理器的传输性能。