3.5 减小交互开销

  前面已经讨论过,减小并行算法中的交互开销对开发高效的并行程序来说具有重要的意义。因此,在对并行程序进行优化时,在最小化由于空闲和额外计算带来的额外开销的同时,我们也需要努力使交互的额外开销最小化。

  有两个通用的策略来处理并行算法中的交互开销
  ☆ 在交互的同时作某些有用的工作
   (隐藏交互开销)
  ☆ 减小交互的开销

  这两种策略都需要对程序的结构作某种程度的改变,并且可能需要底层硬件的某种程度的支持。本节中将集中讨论减少并行程序中交互开销的一些常用的技术。

 3.5.1 开发数据局部性

  最小化数据访问量

  最小化交互的频度