<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 智能計算 > 業(yè)界動態(tài) > Linux之父Linus:并行計算基本是浪費大家時間

          Linux之父Linus:并行計算基本是浪費大家時間

          作者: 時間:2020-07-01 來源: 收藏

          并行計算有什么好的?

          本文引用地址:http://www.ex-cimer.com/article/202007/414948.htm

          硬件的性能無法永遠提升,當(dāng)前的趨勢實際上趨于降低功耗。那么推廣并行技術(shù)這個靈丹妙藥又有什么好處呢?我們已經(jīng)知道適當(dāng)?shù)膩y序CPU是必要的,因為人們需要合理的性能,并且亂序執(zhí)行已被證明比順序執(zhí)行效率更高。

          推崇所謂的“并行”極大地浪費了大家的時間?!安⑿懈咝А钡母叽笊侠砟罴兇馐浅兜4笕萘烤彺婵梢蕴岣咝?。在一些沒有附帶緩存的微內(nèi)核上搞并行毫無意義,除非是針對大量的規(guī)則運算(比如圖形處理)。

          沒人會回到從前了。那些復(fù)雜的亂序運行內(nèi)核不會消失。擴展不會一直進行下去,人們需要的是移動性,因此那些主張擴展至上百內(nèi)核的都是瘋子,不要鳥他們。

          他們究竟是如何幻想那些神奇的并行算法會有用武之地的呢?

          并行只有對圖形計算和服務(wù)器有意義,而在這些領(lǐng)域我們已經(jīng)大量應(yīng)用并行了。把并行推廣到其他的領(lǐng)域沒有意義。

          所以說忘記并行吧。它不會到來的。4個左右的內(nèi)核對終端用戶來說沒有問題,在移動領(lǐng)域里,不大幅增加能耗的情況下,你沒辦法再塞進更多的核。任何一個理智的人都不會為了要塞入更多的內(nèi)核而閹割內(nèi)核以降低其大小和性能,閹割內(nèi)核的唯一理由是你想進一步降低功耗,因此你還是不會得到大量的核。

          所以爭論是否要講究程序的并行性根本就是謬誤,其前提條件都是錯誤的。它只不過是一個早該過時的時髦術(shù)語罷了。

          并行程序在上面提到的一些地方是有用的,并且已經(jīng)大量地運用了,比如在服務(wù)器領(lǐng)域,人們已經(jīng)并行很多年了。

          在其他的領(lǐng)域,并行不是一定必須的,即便是在將來的一些未知領(lǐng)域也是如此,因為你做不到。假如你要做低功耗通用計算機視覺,我基本可以保證你不會使用通用圖形處理器(GP CPU)。你甚至不會用圖形處理器,因為其功耗也太高了。你大概會用特殊的硬件,很可能是基于某些神經(jīng)網(wǎng)絡(luò)的硬件。

          放棄吧?!安⑿芯褪俏磥怼钡恼f法就是一片浮云。

          英文原文:Linus: Parallel computing is a huge waste of everybody's time ]

          http://www.realworldtech.com/forum/?threadid=146066&curpostid=146227




          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();