是否有绩效和能效的指标?

时间:2014-05-14 16:32:54

标签: parallel-processing metrics hpc energy

对于许多并行程序而言,并行化带来了巨大的成本,使得加速次优。在这种情况下,并行版本的能量效率低于顺序版本。 但是,人们可能同时关注时间性能和能效,是否有任何特定的指标通常用于此目的?

更具体地说,一个度量标准可以确定最佳能量和性能目标的线程数。

1 个答案:

答案 0 :(得分:3)

最常见的指标是每瓦性能。看看“Green500列表”。维基百科也有一篇关于每瓦性能的文章。该指标并不像第一次出现那样明确,因为“表现”并不明确。 FLOPS目前非常受欢迎,但它有很多不足之处。我不同意性能/瓦特不能用于评估软件的性能。根据您的应用,您可能需要使用性能/瓦特/秒。

我不知道为什么你要确定能源效率,如果并行性花费你。事实上,我并不真正理解并行性如何降低能效,除非你使用单核机器,进行纯计算,并且在线程之间进行大量的颠簸。我猜这不是你自己的代码。

软件电源效率:最重要的两个因素是:

  • 更快地完成计算
  • 确保计算之间的时间段真正无效

这些因素分解为一系列其他更具体的指导原则:

  • 避免定时中断和(快门)轮询
  • 最小化同步构造
  • 利用并行性(线程和向量化)
  • 使用优秀的优化编译器
  • 如果您不断创建和终止大量线程,则使用线程池
  • 使用高效的高性能库
  • 避免虚拟机(例如java和flash)
  • 使用现代(无滴答)操作系统
  • 等。等等。

在并行线程之间划分计算应该减少计算时间,或者为什么要增加其复杂性? (是的,我理解一些编程结构,例如递归,可以导致更简单和更清晰的代码,但性能更差,但这些都是例外。)减少计算应该提高能效。如果没有,请查看算法和代码实践。

如果您可以向我提供有关您的应用的更多详细信息,我可以提出更具体的建议。