论文部分内容阅读
现有互联网在扩展性、安全性、高性能等方面的不足,激发人们对下一代互联网的研究热情,而下一代互联网与现有网络在体系结构上互不兼容,因此需要一个同时支持多个不同网络的创新实验床。可编程虚拟化路由器不仅解决了多个网络共存的问题,还具备未来网络创新研究所需的动态可扩展、灵活可编程、高性能等特性。路由器作为网络的核心设备,它的转发性能是至关重要的。现代的高端路由器一般都采用控制平面与数据平面相分离的结构,数据转发平面大多采用网络众核处理器,它不仅拥有众多的核心能完全并行的对数据包进行处理,而且还具有针对网络数据包处理进行特殊优化的协处理器,加快了数据包的处理速度。现有任务划分方式不适合路由器这种功能单一的系统,而且现有的核资源分配方法也存在资源利用率低的情况,上述问题导致路由器的整体性能有待提升。针对上述问题,文章的主要研究内容包括以下两方面:第一,文章通过任务划分的方式提高了数据包处理的灵活性。合理的任务划分能有效的提高数据包处理的灵活性和并行性能,文章将数据包处理过程划分成了3个主要模块(解析、查找、转发)和2个辅助模块(上传、控制),然后分配一定数量的众核处理器核资源给各模块并行执行,这样既加快了数据包的并行处理速度,也提高了可编程虚拟化路由器的灵活性。用户通过远程协议的方式方便的插入其他模块,如防火墙,入侵检测等。第二,提出了一种众核处理器核资源优化方法。针对现有的均衡分配方法EQUI的不足,提出了一种基于网络流量数学期望的众核处理器核资源优化方法。该方法的实现可分为3个步骤:首先,网络中的数据包分为控制层面和数据平面,两个平面的处理过程不同,导致各子模块的执行次数不同,在一个相对稳定的网络中,可以通过网络测量等方法统计出各种类型包的概率,进一步可得到各个模块间的调度概率及执行次数。其次,各模块完成一个任务所需要的CPU周期数可以通过在程序中插入计数器来统计,再根据前面得到的总执行次数,可计算出各模块所需要的CPU周期总数。最后,根据各模块所需要的总CPU资源的比例,分配同比例的众核处理器核数量,经过实验测试后发现性能比已有的均衡分配方法EQUI提高了20%以上。