与硬件相比,算法进步带来的加速


14

我回想起不久前的一篇研究或文章,声称过去几十年来计算机程序中出现的大多数加速来自更好的算法,而不是更快的硬件。有人知道这项研究或文章吗?


8
可能更适合CS.StackExchange。
Yuval Filmus,2012年

确实是有过去的几年WRT摩尔定律,时钟速度和并行性和内一个大的范式转变已经涵盖了许多文章/论文....
VZN

Answers:


8

这是一个无意的复杂问题。软件收益超过硬件收益的想法显然扎根于真实的政府报告中,但是(如您的问题所示),由于被误解或误解,可能接近轻微的城市传奇状态。摘要/咬人头条与报告中提出的实际观点不符。

参见[1]或[2],其中指出

白宫的一个独立的科学和技术顾问小组的报告于去年12月发表,引用了一项研究,该研究表明,由于软件算法的改进而导致执行计算任务时的性能提升通常远远超过了因处理器速度更快而带来的收益。
……
但是白宫咨询报告引用了研究报告,其中包括对基准生产计划任务在15年内的进展进行的研究。在此期间,完成计算的速度提高了4,300万倍。根据德国科学家和数学家马丁·格罗切尔(Martin Grotschel)的研究,其中约有1000倍是由于处理器速度更快。然而,由于软件算法效率的提高,造成了43,000倍的损失。

但是软件与硬件的问题远非一维简化,而是更为复杂,Lohrs博客更准确—软件和硬件形成了一种阴阳共生融合,并且两者都取得了显着进步,甚至令人吃惊几十年。

警告/精打细算:人们不能在特定的软件算法中获得个人收益,在某些情况下这是非常重要的,并在所有算法中将其推广。

该报告的实际报价在第71页上:

更值得注意的是,在许多领域,由于算法改进而导致的性能提升已经远远超过了由于处理器速度提高而带来的显着性能提升,甚至在人们的理解中也得到了越来越少的了解。在过去的十年中,我们今天用于语音识别,自然语言翻译,下棋,后勤计划的算法有了显着的发展。但是,很难量化改进,因为它在质量方面与执行时间一样多。

因此,这份政府报告经过了深入研究和完善,在某些领域由于理论软件的发展而获得巨额收益的基本主张是正确的,并且在此基础上正在推动(理论/算法)研究。

但是,近年来还有其他一些新的/最近的基本/大量现象/趋势/转变,或者在硬件与软件设计中出现了Intels Grove所说的“拐点”。亦称“游戏规则改变者”:

  • 由于硬件缩放限制,“ Exascale”超级计算的兴起可能不如“ Petascale”那么容易实现
  • 时钟速度是先前速度增益的主要驱动力,已经稳定(部分由于热/冷却限制)
  • 硬件正在朝着计算量少,能效更高的设备(例如移动设备,数据中心/虚拟化/云计算等)的方向发生重大转变
  • 因此,改善软件和硬件(例如“多核”)中的并行性对于提高性能变得越来越重要(理论上关于如何并行化算法有很多话要说)

[1]怀疑论者,算法的进步是否超过了硬件的进步

[2] 软件进步超越了洛尔(Lohr)的摩尔定律纽约时报博客

[3] 总统和国会关于数字未来设计的报告:网络和信息技术的联邦资助研究与开发 2010年12月


附录。可能有一些重要算法的好(反)示例,这些示例几十年来在实现效率上根本没有进步。想法?一个候选领域可能是不可并行化的矩阵算法或其他似乎本质上不可并行化的算法...此外,某些算法在下界复杂度方面已进行了理论上的改进,但这些算法实际上并未实现或对于典型算法不可行大小的输入等...例如矩阵乘法?
vzn 2012年

1
这是一个很好的答案-充满细节,细微差别和知识丰富的讨论!
约书亚·格罗肖
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.