首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >直接将PCIe与PCIe连接用于通信

直接将PCIe与PCIe连接用于通信
EN

Unix & Linux用户
提问于 2019-11-17 20:02:46
回答 1查看 3.7K关注 0票数 5

有一种情况是,我希望用PCIe x1连接两个运行Fedora的主板到PCIe x1电缆。两个主板并排,相距1厘米。连接的目的是允许计算机1上的应用程序与计算机2上的不同应用程序通信,就好像它们是通过以太网连接的一样。

计算机1通过以太网连接到网络,计算机2需要通过计算机1通过网络访问。

我意识到,如果我把计算机与以太网电缆连接起来,并在计算机1上连接两个端口,那么我就有了一个解决方案。但是我有很好的理由想用主板头连接这两台计算机,而不是支持面板端口。

我还意识到我可以将PCIe插入到每个PCIe端口中的以太网设备中,并在它们之间运行一个短的以太网电缆。但我不想这样复杂。

我想知道是否有可能通过一个简单的端口到端口电缆来实现这个解决方案,使用PCIe x1上的端口。

另一种选择是使用COM端口,但我的阅读表明,使用PCIe??可以获得更好的性能。

EN

回答 1

Unix & Linux用户

发布于 2019-11-17 21:59:26

实际上,与COM端口相比,使用PCIe可以获得更好的性能..。使用异常快的COM端口,您可能获得0.92 Mbps的传输速度,而单PCIe v3.x链接的传输速度为7880 Mbps。

不幸的是,一个简单的端口到端口电缆不是一个可能的解决方案在这里。

卡槽中的PCIe端口是特定的下游端口,必须与PCIe卡中相应的上游端口通信。您正在尝试将下游端口连接到另一个下游端口,这是PCIe标准不允许的。

即使你能解决这个问题,这也意味着这两台计算机中的每一台都可以不受限制地直接访问另一台计算机的系统总线。从本质上说,它们不再可以作为两台单独的计算机处理,而是更像是一个NUMA系统,它的两个部分之间存在相当严重的瓶颈(如果您只使用一个PCIe x1连接)。如果没有任何方法来同步系统各部分之间的访问,您只需权衡硬件的复杂性,从而获得一个非常棘手的编程问题。由于这两部分将是常规主板设计,独立运行,改造,即使是最低限度的硬件同步可能是不可能的。

但你试图实现的概念并不新鲜:它被称为不透明的桥梁。在Linux内核中,自从内核版本3.9以来,就有了一个支持这些东西的基础设施。目前支持NTB的硬件实现 (您会注意到它们大多是相当严重的服务器级硬件的一部分)。甚至还有一个ntb_netdev驱动程序可以使NTB链接看起来像一个非常快的以太网设备。

所以..。要实现你的想法,你必须研究一些现有的NTB芯片,选择一个适合你需要的芯片,为它设计一个PCB (处理高频信号!),构建它,为Linux内核开发必要的补丁来支持你的具体实现,最后调试整个过程。

虽然真正灵巧的硬件工程师可能会称之为“简单”,但对于那些不打算用解决方案填充多个数据中心的普通人来说,一条短的以太网电缆可能要简单得多。

票数 9
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/552684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档