Parallel processing 性能和能源效率是否都有衡量标准?

Parallel processing 性能和能源效率是否都有衡量标准?,parallel-processing,metrics,hpc,energy,Parallel Processing,Metrics,Hpc,Energy,对于许多并行程序,并行化带来了巨大的成本,使得加速比次线性。在这种情况下,并行版本的能效低于顺序版本。 然而,人们可能同时关心时间性能和能源效率,是否有任何特定的指标通常用于此目的 更具体地说,这是一个可以确定线程数以实现最佳能耗和性能目标的指标。最常见的指标是每瓦的性能。看看“绿色500强名单”。维基百科也有一篇关于每瓦特性能的文章。衡量标准并不像第一次出现的那样清晰,因为“性能”并不清晰。翻牌现在很流行,但它有很多不足之处。我不同意性能/瓦特不能用来评估软件的性能。根据您的应用程序,您可能希

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


更具体地说,这是一个可以确定线程数以实现最佳能耗和性能目标的指标。

最常见的指标是每瓦的性能。看看“绿色500强名单”。维基百科也有一篇关于每瓦特性能的文章。衡量标准并不像第一次出现的那样清晰,因为“性能”并不清晰。翻牌现在很流行,但它有很多不足之处。我不同意性能/瓦特不能用来评估软件的性能。根据您的应用程序,您可能希望使用性能/瓦特/秒

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

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

  • 加快计算速度
  • 确保两次计算之间的时间段是真正空闲的
这些因素可分解为一系列其他更具体的准则:

  • 避免定时中断和(快门)轮询
  • 最小化同步构造
  • 利用并行性(线程和矢量化)
  • 使用一个好的优化编译器
  • 如果连续创建和终止大量线程,请使用线程池
  • 使用高效的高性能库
  • 避免使用虚拟机(如java和flash)
  • 使用现代的(无滴答声的)操作系统
  • 等等等等等等
在并行线程之间划分计算会减少计算时间,否则为什么会增加复杂性?(是的,我知道一些编程构造,如递归,可能导致代码更简单、更干净,但性能更差,但这些都是例外。)减少计算应该提高能源效率。如果没有,请查看算法和代码实践


如果你能给我更多关于你的应用程序的细节,我可能会提出更具体的建议。

最常见的指标是每瓦的性能。看看“绿色500强名单”。维基百科也有一篇关于每瓦特性能的文章。衡量标准并不像第一次出现的那样清晰,因为“性能”并不清晰。翻牌现在很流行,但它有很多不足之处。我不同意性能/瓦特不能用来评估软件的性能。根据您的应用程序,您可能希望使用性能/瓦特/秒

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

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

  • 加快计算速度
  • 确保两次计算之间的时间段是真正空闲的
这些因素可分解为一系列其他更具体的准则:

  • 避免定时中断和(快门)轮询
  • 最小化同步构造
  • 利用并行性(线程和矢量化)
  • 使用一个好的优化编译器
  • 如果连续创建和终止大量线程,请使用线程池
  • 使用高效的高性能库
  • 避免使用虚拟机(如java和flash)
  • 使用现代的(无滴答声的)操作系统
  • 等等等等等等
在并行线程之间划分计算会减少计算时间,否则为什么会增加复杂性?(是的,我知道一些编程构造,如递归,可能导致代码更简单、更干净,但性能更差,但这些都是例外。)减少计算应该提高能源效率。如果没有,请查看算法和代码实践


如果你能给我更多关于你的应用程序的细节,我可能会提出更具体的建议。

最常见的指标是每瓦的性能。看看“绿色500强名单”。维基百科也有一篇关于每瓦特性能的文章。衡量标准并不像第一次出现的那样清晰,因为“性能”并不清晰。翻牌现在很流行,但它有很多不足之处。我不同意性能/瓦特不能用来评估软件的性能。根据您的应用程序,您可能希望使用性能/瓦特/秒

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

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

  • 加快计算速度
  • 确保两次计算之间的时间段是真正空闲的
这些因素可分解为一系列其他更具体的准则:

  • 避免定时中断和(快门)轮询
  • 最小化同步构造
  • 利用并行性(线程和矢量化)
  • 使用一个好的优化编译器
  • 如果您是contin,请使用线程池