本文内容翻译自Linux之父linustorvalds最近的一篇帖子。并行计算有什么好处?硬件的性能不可能永远提高,目前的趋势实际上是朝着降低功耗的方向发展。那么推广并行技术的灵丹妙药有什么好处呢?我们已经知道适当的乱序CPU是必要的,因为人们想要合理的性能,并且乱序执行已被证明比有序执行更有效。鼓吹所谓的“并行”是对大家时间的极大浪费。“并行更高效”这种高大上的想法纯属扯淡。大缓存可以提高效率。在一些没有缓存的微内核上做并行是没有意义的,除了大量的常规操作(比如图形处理)。没有人会回到原来的样子。那些复杂的无序内核不会消失。扩展不会永远持续下去,人们需要移动性,所以任何提倡扩展到数百核的人都是疯子,不要被他们愚弄了。他们到底是怎么想到那些神奇的并行算法会有用的呢?并行只对图形计算和服务器有意义,在这些领域我们有大量的并行应用。将并行性扩展到其他领域没有意义。所以忘掉并行性吧。它不会来。4个左右的核心对最终用户来说已经足够了,而在移动领域,你不能在不显着增加功耗的情况下塞进更多的核心。任何理智的人都不会阉割一个核心来减小它的尺寸和性能以塞进更多的核心,阉割一个核心的唯一原因是如果你想进一步降低功耗,所以你仍然不会得到很多核心。因此,争论是否要注意程序的并行性是一个谬论,其前提条件都是错误的。这只是一个迟来的流行语。并行程序在上面提到的一些地方是有用的,并且已经被大量使用,比如在服务器领域,人们已经并行很多年了。在其他领域,并行不一定是必须的,甚至在未来一些未知的领域,因为你做不到。如果你要做低功耗的通用计算机视觉,我基本可以保证你不会用通用图形处理器(GPCPU)。你甚至不会使用图形处理器,因为功耗太高了。您可能会使用特殊硬件,可能基于某种神经网络。放弃。“并行是未来”这句话是浮云。莱纳斯
