论文部分内容阅读
随着云计算、物联网、大数据等众多新技术和应用的空前发展以及智能终端的爆炸式增长,要求网络必须能够像用户应用程序一样可以被定制和编程,基于专用硬件的网络设备已经很难适应企业和用户对业务和网络的快速部署、灵活管理和控制,以及开放协作的需求。软件路由设备正是在保证转发性能的前提下兼顾可编程性和可扩展性,更强调面向应用,强调多样化与高性能的任务处理能力,获得业界的广泛认同。但相比于专用硬件网络设备,软件路由设备在报文处理速度上完全处于劣势,受限于操作系统协议栈软件架构和CPU的处理性能。随着以Intel为代表的通用多核处理器技术的飞速发展,网络报文的软件并行处理性能已经达到10G-40G,未来几年预计能够突破100G处理能力,结合未来路由设备在多业务和高性能融合方面的需求,基于通用多核处理器的软件路由设备成为了当前网络领域研究的热点。本文针对基于通用多核处理器报文处理引擎的体系架构和性能优化问题进行研究,基于多任务流水思想,提出一种基于通用多核处理器的DMP(Dynamic Multitask Parallel)体系架构,采用串并混合(任务簇间串行、任务簇内并行)的并行流水技术,将报文的整个处理序列分解为多个任务分派到多个处理器上去运行,以充分利用处理器的并行特性;并在此基础上提出一种基于任务复制策略的动态自适应负载均衡调度方法,避免任务簇长短不均引起的流水瓶颈,并且通过动态自适应调度机制来保证多个核间的负载均衡,避免单核拥塞造成系统吞吐率下降,提高了处理器资源的利用率;最后,利用无锁的通信矩阵实现了流水线中上下游任务簇间的串接,有效保证任务簇间报文传递效率的同时避免了互斥开销问题,相比传统基于共享内存队列的通信方式,通信时延降低了4倍,大大缩短了报文处理时延。