我有一个项目,我需要尽量减少通过网络发送/接收计算数据的影响。
在我的配置中,(小)计算机网格将计算大量值(matrix_i ^ n,每台机器都分配了大量i)。然后,这些值将通过网络发送到另一台计算机,具体取决于计算值的属性(平均而言,每台计算机都接收相同数量的值)。
我想优化计算这些值所需的时间(达到预定的功率m)。为了做到这一点,我需要选择转移中间结果的最佳方式:
由于网络传输非常慢,我觉得我应该尽快开始传输数据,但我不确定CPU上的开销(处理更多异常,因此调度程序的更多工作)不会影响性能计算。
你知道我可以依赖的文档还是一个好的基准测试套件(用C语言编写)我可以自己做一些测试吗?
谢谢
答案 0 :(得分:0)
网络的CPU使用率通常取决于您进行的I / O调用量。如果可以,请设计您的应用程序,以便您轻松调整缓冲区大小,以便进行测试。使用足够的缓冲,10gb / s不会出汗。
您使用的操作系统是什么?我怀疑你是否需要它,但Windows 8有Registered I/O,它的设计用于极低的延迟和CPU使用率。