一种基于图形处理单元gpu的路由方法和设备的制造方法

文档序号:8225969阅读:388来源:国知局
一种基于图形处理单元gpu的路由方法和设备的制造方法
【技术领域】
[0001] 本发明涉及网络通信技术领域,具体设计一种基于图形处理单元GPU的路由方法 和设备。
【背景技术】
[0002] 随着信息技术的飞速发展,计算机网络的规模迅速膨胀,如何提高核心路由器的 转发性能成为提高网络整体性能的需要,这为高性能路由设备的设计带来巨大挑战。CIDR 要求路由表中每个基本项目至少由两部分组成:"网络前缀"和"下一跳地址"。同时带来的 问题是,在查找路由表时可能会得到不止一个匹配结果。这样,由于要寻找最长前缀匹配, 使路由表的查找过程变得更加复杂。
[0003] 为了满足路由表高速搜索的需求,现行路由查找的解决方案主要有两个思路,分 别是硬件方法和软件方法:
[0004] 在高端路由器中往往采用硬件方法,通过设计特殊的存储器,如按内容访存的存 储器CAM,实现电路级的匹配,并取出其下一跳路由器,其查找效率是理想的,但是这种方法 最大的缺点在于CAM高昂的价格,随着路由表规模的继续扩大,此方法难度将越来越大。同 时,硬件的解决方法具有编程性差、灵活性差的缺点,很难适应网络协议的快速变化,也很 难配置和管理。为了解决硬件方法的问题,越来越多的路由器使用网络处理器实现路由查 找等应用。然而由于缺乏成熟的编程模型和软件开发环境,网络处理器的编程也很困难。
[0005] 相比之下,软件路由器具有易于编程、高度灵活和成本低廉的优点,现在人们更倾 向于使用现成的通用计算机来实现查表功能,但是此方法天生具有效率低、吞吐量小的缺 点,难以作为高端路由器使用。
[0006] 通过以上分析可发现,现有的路由表搜索方法均存在着不足。然而,近年来GPU硬 件性能和可编程性的提高,以及其在通用计算领域的广泛应用,为改进软件实现核心路由 器的体系结构和性能带来了契机。

【发明内容】

[0007]本发明在普通的个人计算机和服务器上设计出了高性能的路由查找转发方法和 设备,避免了软件路由器的CPU瓶颈,实现了高吞吐量。与传统的基于硬件的核心路由器相 比,本发明提出的技术方案在保证了网络转发性能的同时,使得核心网络路由器的成本方 面大大降低,对网络协议的适应性大大增强。
[0008] 本发明提出的一种基于图形处理单元GPU的路由方法,在主机显卡的所述GPU中 保存路由表Table_24,在主机的中央处理单元CPU中保存路由表Table_long,其特征在于, 所述方法包括:
[0009] S1 :以IP地址的前24位作为查找索引,在所述路由表Table_24中执行路由查找, 若所述IP地址的前缀长度小于或等于24,则从所述路由表Table_24中获得下一跳路由地 址,流程结束;否则从所述路由表Table_24中获得访问路由表Table_long的索引信息,执 行步骤S2 ;
[0010]S2:
[0011] 根据所述索引信息访问所述路由表Table_long,从中获得下一条路由地址。
[0012] 特别地:
[0013] 所述索引信息为路由表Table_long的一级索引编号;
[0014] 所述步骤S2具体为:
[0015] 根据所述一级索引编号在所述路由表Table_long的一级索引表中获得二级索引 表的位置,再通过所述IP地址的最后8位得到所述路由表Table_long的二级索引编号,并 在Table_long中通过二级索引编号得到所述下一跳路由地址。
[0016] 特别地:
[0017] 在更新所述路由表Table_24时,判断所述更新是否导致某一IP地址的前缀长度 由小于等于24变为大于24 ;若是,则分配对应于该IP地址的所述路由表Table_long中的 一级索引编号,将所述一级索引编号对应的二级索引表中的256个表项的内容全部更新为 该IP地址对应的所述路由表Table_24中的内容;更新所述IP地址所覆盖部分的路由信 息,其范围为填入表项,到所述路由表Table_24的末尾。
[0018] 特别地:
[0019] 所述分配对应于该IP地址的所述路由表Table_long中的一级索引编号具体为: 如果有被回收的索引编号,则分配这个索引编号,如果没有,则顺序分配新的索引编号。
[0020] 本发明的有益效果是:本发明中面向GPU计算特点充分挖掘每个路由查找操作之 间的并行性,使得每个路由查找操作完全独立,如此可将简单重复的查找操作置于GPU内 部,利用大量的GPU核心进行并行处理,大大提高了整体的查找转发性能。同时,利用GPU 的异步并发机制,完成了GPU计算和数据传输的重叠,进一步提高的系统的吞吐。这种基于 加速的路由转发引擎构建方法所具有的上述优点,以及本发明设计时基于用户普通的 个人计算机和服务器,利用GPU加速完成了高性能的路由查找转发引擎的设计和实现,避 免了软件路由器的CPU瓶颈,弥补了其性能上的不足,实现了高吞吐量。与传统的基于硬件 的核心路由器相比,本发明在保证了网络转发性能的同时,使得核心网络路由器的成本方 面大大降低,以及提高了对多种网络协议的适应能力。故本发明在实际应用中具有很高的 技术价值和实用价值。
【附图说明】
[0021] 图1是本发明提出的路由表结构示意图;
[0022] 图2是本发明提出的路由查找方法流程图。
【具体实施方式】
[0023] 路由查找的效率依赖于计算机的性能和查找算法的效率,而对路由表项组织的效 率和其中数据结构的选取往往也是关键。传统上的查找算法可由二叉线索来组织。同时, 也可以通过hash函数来进行查找,而理论上最快的查找就是线性函数的查找,即线性函数 H(key) =key。当然,对于Ipv4地址需要232=4G个条目的存储空间。本发明中利用hash 函数查找,重点针对IP地址的前24位进行操作,以优化存储空间。每个路由查找操作的是 完全无关的,这样就给并行处理提供了可能性。
[0024] 发明中对利用Hash线性函数方法查找算法进行改进,并按照CUDA编程模型进行 映射,并完成针对GPU体系结构的优化,最后,基于NvidiaGTX480对系统的设计进行了验 证。
[0025] 本发明的结构设计主要涵盖以下几点:
[0026] (1)GPU路由表的组织方法:
[0027] 最长前缀匹配的的原理在于,在几个匹配的地址中选择更具体的一个。由于GPU 中存储的是一个完全的映射表,所有的地址都应该有内容能够查到,而且查表时不需要前 缀,这样就应当把最长前缀
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1