对于许多并行程序而言,并行化带来了巨大的成本,使得加速次优。在这种情况下,并行版本的能量效率低于顺序版本。 但是,人们可能同时关注时间性能和能效,是否有任何特定的指标通常用于此目的?
更具体地说,一个度量标准可以确定最佳能量和性能目标的线程数。
答案 0 :(得分:3)
最常见的指标是每瓦性能。看看“Green500列表”。维基百科也有一篇关于每瓦性能的文章。该指标并不像第一次出现那样明确,因为“表现”并不明确。 FLOPS目前非常受欢迎,但它有很多不足之处。我不同意性能/瓦特不能用于评估软件的性能。根据您的应用,您可能需要使用性能/瓦特/秒。
我不知道为什么你要确定能源效率,如果并行性花费你。事实上,我并不真正理解并行性如何降低能效,除非你使用单核机器,进行纯计算,并且在线程之间进行大量的颠簸。我猜这不是你自己的代码。
软件电源效率:最重要的两个因素是:
这些因素分解为一系列其他更具体的指导原则:
在并行线程之间划分计算应该减少计算时间,或者为什么要增加其复杂性? (是的,我理解一些编程结构,例如递归,可以导致更简单和更清晰的代码,但性能更差,但这些都是例外。)减少计算应该提高能效。如果没有,请查看算法和代码实践。
如果您可以向我提供有关您的应用的更多详细信息,我可以提出更具体的建议。