我有10个服务器,每个CPU有两个CPU,每个CPU有一个Mellanox100GInfiniband NIC。每个网卡连接到一个单一的Mellanox 36端口100 G IB交换机。我的RDMA应用程序作为每个NUMA节点的一个进程运行,并绑定到本地NIC,以避免跨CPU通信。每个节点/进程需要使用RC模式连接到每个其他节点。本质上,我想让OpenSM认为每个网卡都在它自己的服务器上,即。假装没有QPI流量是可能的。相关代码:https:/
尽管CPU和内存消耗很低,但我们面临着严重的性能问题。
应用程序(VS2005/C++)创建多个网络套接字,每个套接字接收来自以太网的组播UDP视频流。为了测试,除了纯粹的套接字IO工作之外,为了确保最小的CPU和内存消耗,应用程序什么也不做,也不做任何磁盘/文件IO。应用程序进程配置为使用机器上的所有可用核心(默认关联设置不变)。在此阶段,总CPU负载仍然非常低(即10-15%),并且有大量空闲内存可用。但是Task-Manager显示了极其片面的CPU负载: CPU 0接近100%