不打的蹲远点你看到加速卡几点思考

您的位置: &
对专用卡业务的几点思考
优质期刊推荐4817人阅读
一直以来,Linux给人的印象都是服务器级别的,虽然有人拿它当桌面,也有手机使用它,但这都是少数,几乎从来都没有人拿它放在骨干网上当路由器,哪怕是接入层都少到几乎没有人使用Linux。Netfilter机制可以改变这个事实,因为Netfilter机制太强悍了,它几乎可以让你完全重新定制协议栈的行为。&&&&&&& 不要以为只有iptables之类的防火墙/NAT软件才使用Netfilter,其实Netfilter是一个统一的过滤框架,它的本质在于可以在协议栈的某些地方截获数据包,然后你怎么去处理截获的数据包,那就是你自己的事了,对于iptables而言,它只是执行一系列的match,然后执行一个target,然而Netfilter还可以做得更多。&&&&&&& 很早就听过网络加速器,但是一直觉得光靠软件,优化一些算法,是绝对不可能造成性能统计数据的数量级的提升的,肯定需要某种硬件的帮助,即便Cisco这样的专业级别的设备,也是使用了大量的ASIC芯片来转发报文的,实际上就是使用了某种硬件的cache机制。如果这些硬件也能插入运行Linux的网关内,那么Linux的网络转发性能势必也会大幅提高。然而硬件插上去很简单,如何让软件配合硬件工作呢?我们知道硬件没有软件的配合就是一堆废品,因此必须要让插入的加速卡在软件的指导下工作起来,这又谈何容易啊,我们不得不修改协议栈的代码。&&&&&&& 幸运的是,Linux上有Netfilter,这样事情就简单多了。如何操作加速卡硬件,那是硬件厂商的事情,买来的硬件如果没有开发手册,那其实也是一堆废品。因此买来的硬件一定要有一个开发手册,起码要提供在各个平台上都能使用的API,适当得可以再给一些Demo,这样我们就可以根据API和Demo比葫芦画瓢的完成新硬件的接入了。对于某些平台,你可能需要为新硬件新开发一个协议栈,这纯粹是为了对接硬件的,然而对于Linux平台,内置的Netfilter框架可以帮你轻松完成和加速卡的对接。大体的架构如下图所示:很多硬件网络加速卡内置了千兆乃至万兆以太网卡,这意味着加速卡驱动本身就包含以太网卡驱动。这样事情就更简单了,一般而言,硬件驱动都是厂商提供的,你要做的就是根据厂商的API来操作硬件就行了,这些代码不用单独置于一个程序中,而是接在Netfilter的函数里面就可以了,我们可以单独开发一个nf_hook_ops,也可以修改现有的,比如说按照上图,厂商提供了线速转发ASIC芯片,那么如何实现一个基于流的快速转发呢?实际上我们可以修改ip_conntrack_in以及confirm函数,使它将初始化好的nf_conn信息不再存于内核内存,而是通过API存于硬件,实际上大多数情况只有一个流的头包会到达内核,其它的后续包直接由ASIC转发出去,对于头包则继续向上,如果到达filter表则将filter结果也存入硬件,这样就真的俨然一个硬件Firewall了,随后将路由信息(主要是出口设备信息)也存入硬件,这样硬件加速卡就完全具备了转发一个数据包所需要的所有信息了,接下来的包进而被直接硬件转发,无需再进入内核。&&&&&&& 本质上,所谓的硬件加速卡就是一系列的Cache Line,这些都是硬件实现的,它们容量巨大,不是软件所能比的。它们将软件上的比如路由表,arp表,策略表等一系列的静态表格映射成了一系列的Cache Line,加上复杂的逻辑开关进而实现快速转发。此为硬件加速卡的特性之一,之二就是提供丰富且易用的API来减轻研发人员的开发工作量,接下来就是开发人员的平台选择了,选择Linux可以使得工作量减少到最低限。有了网络加速器以及Linux,任何人都有能力自己DIY一台性能超猛的网关,目前正想淘一块最便宜的加速卡,然后使用最便宜的已经被淘汰的PC机,加上免费的Linux,如此一来,...即便如此,我也没有什么办法搞压力测试...&&&&&&& 如今的硬件越来越可定制策略了,很多本来应该由软件完成的复杂的策略都可以由硬件来完成了,这正得益于集成电路工艺水平的提高,面对硬件越来越强悍,似乎复杂的软件越来越跟不上步伐了,近期在做Open***的压力测试,我心中十分忐忑,我不想用太高端的硬件,因为它几乎不能给Open***的性能带来大幅的提升,反而更是让人觉得是Open***拖了后腿...置于百兆环境,使用Open***传输加密数据和不使用Open***传输数据的差异仅仅是加密和不加密的差别,性能几乎仅仅受影响于CPU的加密带宽(没必要使用加密卡),然而置于千兆环境,两者的性能差别则是数量级的差别,除了CPU的加密还有什么拖垮了Open***,是其本身的软件架构。因此软件远远跟不上硬件的发展了。到底为什么造成了如此尴尬的局面,在应用如此丰富的今天,是否应该仔细思考一下了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4821652次
积分:61447
积分:61447
排名:第26名
原创:1323篇
评论:2268条
(10)(6)(17)(14)(9)(12)(1)(1)(2)(5)(1)(8)(2)(22)(9)(8)(2)(7)(10)(12)(14)(21)(7)(1)(2)(9)(13)(10)(12)(11)(10)(5)(11)(14)(14)(1)(16)(12)(7)(15)(11)(5)(1)(5)(2)(11)(10)(6)(7)(6)(16)(4)(15)(15)(16)(8)(22)(25)(7)(13)(10)(13)(13)(19)(19)(9)(11)(29)(10)(16)(9)(19)(28)(26)(28)(27)(39)(7)(414)(1)(10)硬件加速卡
hardware accelerator card
硬件加速卡
基于1个网页-
hardware accelerator card
&2,447,543篇论文数据,部分数据来源于
所有的硬件处理效果与视频加速器卡。
All effect are hardware processed with video accelerator card.
注意:有两个RGBT完全由硬件,如图形加速卡来决定支持哪一种格式类型。
Note: There are two RGBT'; s which is purely a hardware issue as to what graphics cards support which type of format.
讨论了四种射频回波信号实时仿真方法,即:使用专用硬件加速卡的射频回波信号实时仿真;
This paper deals with four methods of real-time simulation of RF echo signal of 3D targets: the adoption of special hardware accelerating cards to calculate RF echo signal in real-time;
$firstVoiceSent
- 来自原声例句
请问您想要如何调整此模块?
感谢您的反馈,我们会尽快进行适当修改!
请问您想要如何调整此模块?
感谢您的反馈,我们会尽快进行适当修改!

参考资料

 

随机推荐