通信判据
下面的问题可以帮助检查通信设计得是否合理。
(1)所有任务是否执行大致同样多的通信?若不是,所设计的算法的可扩展性可能会不好。
(2)每个任务是否只与少数的近邻通信?若不是,则可能导致全局通信。此时应设法将全局通信换成局部通信。
(3)诸通信操作能否并行执行?若不能,所设计的算法可能是低效的和不具可扩展性的。此时可试用分治策略来开发并行性。
(4)不同任务的计算能否并行执行?是否会因为等待数据而降低并行度?若不能并行执行,所设计的算法可能是低效的和不具可扩展性的。此时可考虑重新安排通信和计算的顺序以改善这种情况。
|