网络传输对cpu的影响

时间:2012-12-03 15:06:55

标签: c networking cpu-usage data-transfer

我有一个项目,我需要尽量减少通过网络发送/接收计算数据的影响。

在我的配置中,(小)计算机网格将计算大量值(matrix_i ^ n,每台机器都分配了大量i)。然后,这些值将通过网络发送到另一台计算机,具体取决于计算值的属性(平均而言,每台计算机都接收相同数量的值)。

我想优化计算这些值所需的时间(达到预定的功率m)。为了做到这一点,我需要选择转移中间结果的最佳方式:

  • 预先计算所有内容,然后将所有值交换到正确的计算机
  • 将所有值发布到正确的计算机上
  • 在计算过程中交换小数据包的混合解决方案

由于网络传输非常慢,我觉得我应该尽快开始传输数据,但我不确定CPU上的开销(处理更多异常,因此调度程序的更多工作)不会影响性能计算。

你知道我可以依赖的文档还是一个好的基准测试套件(用C语言编写)我可以自己做一些测试吗?

谢谢

1 个答案:

答案 0 :(得分:0)

网络的CPU使用率通常取决于您进行的I / O调用量。如果可以,请设计您的应用程序,以便您轻松调整缓冲区大小,以便进行测试。使用足够的缓冲,10gb / s不会出汗。

您使用的操作系统是什么?我怀疑你是否需要它,但Windows 8有Registered I/O,它的设计用于极低的延迟和CPU使用率。