Hwang在《高级计算机体系结构》一书中描述了一些参数,例如,加速,效率,冗余,利用率和质量,如下图所示。
我了解全部,部分了解最后一个参数质量。问题是,为什么质量与冗余度成反比关系。如前所述,冗余表明软件并行性和硬件之间的匹配。例如,一个处理器运行一条单元指令,因此O(1)= 1。
通过O(n)我们实际上增加了处理器的数量,因此单位操作增加并且上限为n。所以,那很好!是吗?
但是根据质量指标,如果我们增加冗余度,质量就会下降。也许有些词的定义在这里不明确。
有什么想法吗?
答案 0 :(得分:1)
我认为人们误解了O(n),这是所有处理器在整个执行期间执行的单位操作的总数。这没有上限,并且O(1)不一定(并且实际上不是)1;这取决于应用程序。与在单处理器上执行应用程序相比,如果我们必须执行更多操作以在n个处理器上并行化应用程序(即,冗余度大于1),那么这是一件不好的事,并且冗余度越大,软件与软件之间的失配就越大。硬件并行性。理想情况下,冗余度为1。因此,如果要将速度,效率和冗余合并为一个质量指标,则速度和效率应在分子中,而冗余应在分母中。
值得注意的是,本书中提到的这些指标的大多数上限和下限在现代处理器上都过于简单。它们在简单(标量)处理器上最有意义。但是,在现代的多核系统上,它们无法准确捕获现实中可能发生的情况。例如,两处理器系统上的加速可能低于1或高于2。冗余不仅取决于ISA,而且取决于编译器。因此它可以小于1或大于2。尽管指标本身仍然非常有用。