- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
有人可以解释 IPoIB 和 TCP over infiniband 的概念吗?我了解 native infiniband 提供的总体概念和数据速率,但不太了解 TCP 和 IPoIB 如何适应。您为什么需要它们以及它们有什么作用?有人说他们的网络使用 IPoIB 或 TCP 和 infiniband 有什么区别?哪一个更好?我没有很强的网络背景,所以如果你能详细说明就太好了。
感谢您的帮助。
最佳答案
InfiniBand 适配器(“HCA”)提供了一些可以通过 native “verbs”编程接口(interface)使用的高级功能:
IPoIB (IP-over-InfiniBand) 是一种协议(protocol),它定义了如何通过 IB 发送 IP 数据包;例如,Linux 有一个实现此协议(protocol)的“ib_ipoib”驱动程序。该驱动程序为系统上的每个 InfiniBand 端口创建一个网络接口(interface),使 HCA 像普通 NIC 一样工作。
IPoIB 没有充分利用 HCA 的能力;网络流量通过普通 IP 堆栈,这意味着每条消息都需要系统调用,并且主机 CPU 必须处理将数据分解为数据包等。但这确实意味着使用普通 IP 套接字的应用程序将在IB 链接的全速(尽管 CPU 可能无法足够快地运行 IP 堆栈以使用 32 Gb/秒的 QDR IB 链接)。
由于 IPoIB 提供了一个普通的 IP NIC 接口(interface),因此可以在其上运行 TCP(或 UDP)套接字。使用最近的系统,TCP 吞吐量远超过 10 Gb/sec 是可能的,但这会消耗相当多的 CPU。对于您的问题,IPoIB 和 TCP 与 InfiniBand 之间并没有真正的区别——它们都指的是在 IB 硬件之上使用标准 IP 堆栈。
真正的区别在于将 IPoIB 用于普通套接字应用程序与将 native InfiniBand 用于已直接编码为 native IB 动词接口(interface)的应用程序。 native 应用程序几乎肯定会获得更高的吞吐量和更低的延迟,同时在网络上花费更少的 CPU。
关于networking - Infiniband 上的 IPoIB 和 TCP 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6051832/
我正在阅读一份关于 InfiniBand 的文档,名为《 InfiniBand™ Host Channel Adapter Verb Implementer’s Guide 》--Intel,在第6.
infiniband (RDMA) 的最大电缆长度是多少? 例如。这里已经说过,对于四 channel 铜缆可以达到 10 M 。并使用光纤连接电缆,与标准 InfiniBand 4x 和以太网 10
是否可以在不使用 IPoIB 的情况下通过 native InfiniBand 使用 RDMA(仅使用 guid 或 lit)? 我查过Infiniband addressing - host nam
Linux 命令 ibstat 和 ibv_devinfo 的手册页说 ibstat - query basic status of InfiniBand device(s) ibv_devinfo
我有几台通过 Infiniband 网络连接的多核计算机。我想在共享内存池上进行一些低延迟计算,并进行远程原子操作。我知道 RDMA 是可行的方法。在每个节点上,我将注册一个内存区域(和保护域)以进行
谁能解释一下 InfiniBand 是什么?与以太网相比的主要区别是什么,这些差异如何使其比以太网更快? 在官方description从 mellanox 写到 Introduce InfiniBan
我正在尝试在 Azure 上的 A8 计算机上使用 InfiniBand。实际上,乒乓测试工作正常,但是我无法运行基于 RDMA 的简单程序。我可以通过 ibv_get_device_list(NUL
我正在集群上运行 MPI 应用程序,使用 4 个节点,每个节点有 64 个核心。该应用程序执行所有对所有的通信模式。 通过以下方式执行应用程序运行良好: $: mpirun -npernode 36
我正在尝试在 Azure 上的 A8 计算机上使用 InfiniBand。实际上,乒乓测试工作正常,但是我无法运行基于 RDMA 的简单程序。我可以通过 ibv_get_device_list(NUL
我正在集群上运行 MPI 应用程序,使用 4 个节点,每个节点有 64 个核心。该应用程序执行所有对所有的通信模式。 通过以下方式执行应用程序运行良好: $: mpirun -npernode 36
我正在使用 iperf 测量 InfiniBand 的性能。 它是服务器和客户端之间的一对一连接。 我测量了请求网络 I/O 的线程的带宽变化数。 (集群服务器有: “用于系统 x 的 Mellano
我正在编写一个多线程OpenMPI应用程序,使用来自多个线程的MPI_Isend和MPI_Irecv在InfiniBand RDMA的各个列之间每秒交换数百条消息。 传输量约为400-800KByte
我正在尝试用 C++ 制作一个小型服务器,它可以简单地回显它通过无限带宽连接接收到的任何内容。我还在 Ubuntu 下使用套接字直接协议(protocol)和 POSIX 套接字。 不幸的是,我在互联
在我的应用程序中,我使用无限带宽基础设施将数据流从一台服务器发送到另一台服务器。我习惯于通过 infiniband 轻松开发 ip,因为我更熟悉套接字编程。到目前为止,性能(最大带宽)对我来说已经足够
我正在尝试在具有无限带宽互连的 HPC 集群中使用 Spark。此集群不提供对IPoIB的支持。我在here看到俄亥俄州立大学的Spakr-RDMA项目。我找不到其他人在做这件事,或者 apache
以下是一些具体细节。 当进程调用ibv_post_send()时,HCA 的 PCI 接口(interface)会发生什么? WQE是否封装在PCIe门铃内并通过Programmed IO写入?或者
我有两台机器。每台机器上有多张特斯拉卡。每台机器上还有一张 InfiniBand 卡。我想通过 InfiniBand 在不同机器上的 GPU 卡之间进行通信。只需点对点单播就可以了。我当然想使用 GP
我刚开始使用 Microsoft Azure 进行科学计算,并且在设置时遇到了一些问题。 我有一个跳线盒设置,它充当我想要使用的软件的许可证服务器,还有一个通用驱动器来存储所有软件。还设置了 6 个计
我正在尝试以编程方式查找名称未知的 Infiniband 接口(interface)的 inet 地址先验。 我在 Linux 上,我想避免解析 ifconfig (8) 输出。我已经阅读了关于 th
我可以在不使用 DMA Controller 的情况下通过 Infiniband 发送数据吗?我可以发送的最小包大小是多少? 也就是说,我可以使用简单的指针直接从当前 CPU1-Core 访问远程 C
我是一名优秀的程序员,十分优秀!