开发BGP的线程级并行可以满足不断膨胀的互联网应用对协议性能的迫切需求。本文提出了一种面向多核处理器的多实例并行BGP协议模型,它以邻居会话划分为基础,借助数据并行思想实现了不同邻居会话在多个线程上的并行处理。首先,通过分析BGP协议特点,我们给出了该模型的总体框架设计,然后在Quagga BGP的基础上完成了具体实现。在Intel Xeon四核服务器上的性能测试结果显示,多实例并行BGP协议较BGP协议的性能加速均值在2.73左右,并且能够有效利用多核处理器计算资源,为改善协议处理能力提供了更大的提升空间。
The urgent requirement for the high-efficiency of routing protocols on the Internet will be satisfied by exploiting the thread-level-parallelism of BGP on multicores.A multi-threaded BGP model is proposed based on neighbor session division,and it achieves the parallel processing of different sessions on multiple threads by the use of data parallelism.Firstly,the framework of the multi-threaded BGP is put forward,and is then implemented based upon Quagga BGP.The experimental results on the Intel Xeon quad-core server show that,the multi-threaded BGP yields the speedup of 2.73 in comparison with BGP,and can make full use of the computing resources on multicores to provide more performance improvement for the protocol.