6.4. 多执行绪最佳化

关于多执行绪,有三个cache使用的面向是很重要的:

  • 并行(Concurrency)
  • 最小处理(Atomicity)
  • 频宽

这些面向也适用于多行程的情况,但因为多行程(大多数)是独立的,因此为它们最佳化并没有那么容易。可能的多行程最佳化是那些可用于多执行绪情况的子集。所以这里我们会专门讨论后者。

在这种前后文下,并行指的是在一次执行多于一条执行绪时,一个行程所历经的memory影响。执行绪的一个特性是它们全都共享相同的定址空间,因此全都能够存取相同的memory。在理想的情况下,执行绪所使用的memory区域在多数时候都是不同的。在这种情况下,那些执行绪仅稍许耦合(couple)(举例来说,共有的输入与/或输出)。若是多于一条执行绪使用相同的资料,就需要协调:这即是最小处理发挥作用的时候。最后,视机器架构而定,可用的memory与可用于处理器的处理器之间的总线频宽是有限的。我们将会在接下来的章节分别论及这三个面向 –– 虽然它们是紧密相连的。

results matching ""

    No results matching ""