如何确定计算通信比率

时间:2012-04-23 16:13:55

标签: parallel-processing granularity

鉴于并行程序和定义良好的硬件,如何确定其计算通信比(CCR)。这是为了确定程序的粒度和后续分析。文献描述了这个术语,并将其用于与程序的粒度相关,但是我没有找到任何可以估算CCR(如果它是高还是低)的东西。

1 个答案:

答案 0 :(得分:1)

要比较计算和通信,您必须在公共单元中进行测量。一般来说,我会用一段时间。然后,您可能会发现程序的比率为80:20(计算:通信)

虽然人们可能断言50:50的比率对于沟通来说是一个很高的价值,但这些数字实际上只对其他并行程序的可比数字有意义。因此,如果程序A和程序B解决了相同的问题,但A的比率为80:20,而B的比率为70:30,那么你可以在时钟的每个刻度中做出A比B计算更多的声明。如果他们没有解决同样的问题,你可能会发现自己在比较苹果和橘子。

虽然计算通常比通信更受欢迎,但这些因素也是相对的。给定程序A和B,确定B进行(相对)更多的通信,但也可能B总体上比A花费更少的时间 - 可能B花费时间在进程之间发送更大的消息而A进行更多的重复计算以避免发送更大的消息。根据自己喜欢的理由选择自己喜欢的课程。

如果你对这些问题有足够的经验,你通常可以通过检查程序结构对这个比例进行一些有根据的猜测,但最终你必须对其进行测量以得出任何合理的结论。