读取网络数据的最快方法?

用户名

在最快的时间内读取数据包的替代方法是什么?

在用户空间中编写驱动程序?

我从未编写过网卡驱动程序(尽管如果不像编写整个操作系统那样困难,我会感兴趣吗?)。我能否获得Linux中某个地方必须已经存在的驱动程序代码,并将其从字面上“移植”到用户空间中?Linux Kernel驱动程序和我的驱动程序都将尝试竞争同一数据包吗?

不是编写驱动程序,而是从C / C ++应用程序堆栈之后立即访问网络数据?

我对这种方法不太了解-因此,如果有人可以在这里提供帮助,我会很感兴趣。

我对实现自己的零复制技术以尽可能快地获取数据包数据感兴趣。这台计算机不需要使用普通的Internet,它可以是两台计算机之间的专用网络连接(用于TCP和UDP)。

编辑:

我的意思是等待时间,而不是吞吐量

amdn

如您所说,在Linux中接收数据包的最低延迟是绕过Linux内核,这需要特殊的驱动程序。来自Mellanox,Solarflare,Myricom,Chelsio等的高端网络适配器提供了内核绕过软件。例如,Mellanox声称您可以使用其ConnectX-3卡和VMA 6.0软件在2微秒内收到数据包

本周,Mellanox宣布了其最新版本的VMA 6.0 Messaging Accelerator,其中包括通过ConnectX-3 VPI适配器卡增强的TCP和UDP加速支持。据报道,这种消息传递技术的UDP延迟低于1.4微秒,TCP套接字延迟低于1.7微秒,因此其速度是竞争产品的两倍以上。

http://insidehpc.com/2012/01/10/interview-mellanox-vma-6-0-tackles-latency-for-high-frequency-trading/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章