我想知道的是,PCI架构是分层的。因此,即使我有两个PCIx4插槽,也有可能无法充分利用它,因为时隙将连接在一个节点中,而节点的带宽可能不足以处理2x PCIex4。
我问题的背景是:我正在尝试使用8个PCIe 1GBit接口。我有两张有两个端口的卡片,一张有四个端口的卡片。我可以在4个网卡接口上得到最大。激活第五个端口后,每五个接口的性能都会略有下降。激活第6、7、8 8ht界面后相同。
主要问题是:如何在机器上获得PCIe结构,“绘制”它,查看它的节点和连接,并推断出该树中最弱的节点?
发布于 2009-06-26 10:39:16
每个PCIe (v1)车道应该舒适地处理2x1GbE链接。
此时,DDR2可以轻松地处理10 the的数据速率。
一般来说,机器的PCIe布局是由芯片组决定的,如果您可以从Intel或任何人那里找到一个图表,那么您应该能够找出任何瓶颈所在。
例如:

发布于 2009-06-26 12:16:19
发布于 2009-06-28 00:00:19
这里涉及的不仅仅是PCI架构,还有所有芯片组的FSB、内存带宽和内部带宽。请注意Wazoox的评论--即使是最近的Xeon平台,也表现得很糟糕。
通过阅读您的其他评论,我了解您正在软件中进行包生成,并通过您的gige nics将其推送出去。如果您不了解如何生成数据,则很可能会使内存带宽饱和。如果您在内存中执行多个副本,同时生成数据包,DDR2将处理10 if,bit,实际上您正在执行更多的内部通信。
此外,如果所有的8个核心是固定的,那么你没有跟上他们任何一个。无论是中断加载还是数据包生成过程中糟糕的代码路径,都有一些东西在妨碍您。我建议先解决这个问题。分析你的代码,找出是否有什么明显的事情占用了你的大部分时间。
如果这没有帮助,并且取决于您的使用需求,您可以考虑一些真正的网络处理/捕获/传输卡,比如Endace的S DAG卡(我建议使用用于PCI-e的DAG 7.5 G2/G4 )。这些不是中断驱动的,因此没有因中断而增加的处理负载。它们不是网卡本身,所以您必须构建整个数据包和有效负载并处理layer2,但这并不昂贵。
免责声明:我为Endace工作。
https://serverfault.com/questions/32073
复制相似问题