代码之家  ›  专栏  ›  技术社区  ›  mahmood

并行性的定量度量

  •  0
  • mahmood  · 技术社区  · 8 年前

    enter image description here

    我完全理解和部分理解最后一个参数,质量。问题是,为什么质量和冗余度成反比。如前所述,冗余表示软件并行性和硬件之间的匹配。例如,一个处理器运行一条单元指令,因此,O(1)=1。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Hadi Brais    8 年前

    我认为误解了O(n),它是所有处理器在整个执行期间执行的单元操作总数。这没有上界,O(1)不一定是(实际上不是)1;这取决于应用程序。如果我们必须在n个处理器上执行更多的操作来并行化应用程序,而不是在单处理器上执行它(即冗余大于1),那么这是一件坏事,冗余越大,软件和硬件并行性之间的不匹配就越大。理想情况下,冗余度为1。因此,如果我们想将加速比、效率和冗余度组合成一个质量度量,则加速比和效率应在分子中,冗余度应在分母中。

    值得注意的是,书中提到的这些指标的大多数上下限在现代处理器上过于简单化。它们在简单(标量)处理器上最有意义。然而,在现代多核系统中,它们并不能准确地捕捉到现实中可能发生的事情。例如,双处理器系统的加速比可能低于1或高于2。冗余不仅取决于ISA,还取决于编译器。因此它可以小于1或大于2,尽管度量本身仍然非常有用。

    推荐文章