<source id="4vppl"><ins id="4vppl"></ins></source>
<u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
<object id="4vppl"></object>
  • <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

    <object id="4vppl"></object>
    <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

      <i id="4vppl"><thead id="4vppl"></thead></i>

      <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>

      當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > Joe Armstrong:關(guān)于并行編程和Erlang的十個(gè)問題

      Joe Armstrong:關(guān)于并行編程和Erlang的十個(gè)問題
      2010-01-13 23:13:46  作者:  來源:
      第一部分:關(guān)于并行編程的通用問題

      1)
      Michael:我們進(jìn)入了多核時(shí)代,你認(rèn)為并行計(jì)算最終會(huì)成為主流嗎?或者這僅僅是一個(gè)階段并且很快對(duì)并行編程感興趣的人將(又一次)變成高性能社區(qū)的一員?
      Joe:是的,絕對(duì)主流——我們討論的是雙核時(shí)性能提高兩倍而4核時(shí)性能提高4倍。我曾經(jīng)有一個(gè)在32核的機(jī)器上跑的程序,性能提高了18倍。注意這是18倍——我們習(xí)慣于通過重寫部分程序代碼來提高5%~10%的性能,卻想不到400%或1800%——這是所有軟件的通病。

      2)
      Michael:在網(wǎng)絡(luò)上,一時(shí)間對(duì)共享內(nèi)存編程還是消息傳遞編程是并行編程更好的方式展開了激烈的討論。對(duì)此你的意見是什么?
      Joe:共享內(nèi)存系統(tǒng)很難理解并保證正確,特別是當(dāng)錯(cuò)誤出現(xiàn)的時(shí)候。不出錯(cuò)就不錯(cuò)了,當(dāng)出錯(cuò)時(shí)則根本無法繼續(xù)搞。當(dāng)一個(gè)程序拿了一個(gè)鎖,并且把共享內(nèi)存搞的亂七八糟,然后崩潰了,其他進(jìn)程怎么知道它到底在搞什么東東,更別說幫忙搞定那些錯(cuò)誤了。
      事務(wù)內(nèi)存和純凈的消息傳遞系統(tǒng)不用考慮上述的任何問題。

      3)
      Michael:對(duì)你而言,并行編程在目前或者過去的幾年里最令人興奮的發(fā)展和革新是什么?
      Joe:P2P架構(gòu),分布式哈希表,planet lab等全球伸縮的系統(tǒng)集成。
      類似于bit torrent的東西正在摧毀傳統(tǒng)工業(yè),就像1770年多軸紡織機(jī)摧毀了家庭紡織機(jī)工業(yè)一樣,bit torrent正在歷史記錄上做同樣的事情。這不是是否發(fā)生的問題,而是何時(shí)發(fā)生的問題。

      4)
      Michael:并行編程的未來在哪里?“銀彈”即將到來嗎?
      Joe:是的——純凈的消息傳遞基礎(chǔ)架構(gòu)將解決很多問題(例如amazon簡(jiǎn)單查詢服務(wù))。這回到了Paul Morisson的基于流的編程模型。

      5)
      Michael:目前最緊迫的一個(gè)問題是并行編程仍然很難,并且沒有它的順序編程對(duì)手們高產(chǎn)。對(duì)你而言有什么方式改變這一點(diǎn)嗎?
      Joe:這并不太難——這很難是因?yàn)槟壳罢紦?jù)統(tǒng)治地位的編程模型是鎖、線程和共享內(nèi)存——現(xiàn)在它們是很難的。純凈的消息傳遞系統(tǒng)對(duì)編程實(shí)現(xiàn)和推理很容易。
      世界是并行的——我們是并行的。

      第二部分:關(guān)于Erlang

      6)
      Michael:與其他并行編程系統(tǒng)相比較,Erlang有什么獨(dú)特的優(yōu)勢(shì)和弱點(diǎn)?你希望在哪些方向改進(jìn)它?
      Joe:優(yōu)勢(shì)是Erlang是為容錯(cuò)系統(tǒng)而設(shè)計(jì)的,所以在軟件和硬件出錯(cuò)時(shí)它能很好的降級(jí)。它認(rèn)真對(duì)待出錯(cuò)。進(jìn)程和錯(cuò)誤處理是語言定義的一部分而不是操作系統(tǒng)所提供的。
      弱點(diǎn)是分布式Erlang的安全性是要么全有要么全無的。擁有不同級(jí)別的安全性和能力或者基于信任的安全模型會(huì)更好。

      7)
      Michael:如果你可以再次從零開始設(shè)計(jì)Erlang,你會(huì)做哪些不同的事情?
      Joe:
      1,讓模塊和代碼處理更高級(jí)一些,添加自省功能
      2,為協(xié)議的斷言屬性添加一層契約
      3,在編程語言里讓協(xié)議成為頭等公民
      4,為分布式計(jì)算加一個(gè)信任/能力層
      5,為弱連接的分布式系統(tǒng)分層。分布式Erlang只是為了擁有強(qiáng)大安全性的類集群計(jì)算。

      8)
      Michael:有沒有什么特殊的工具推薦給大家來方便Erlang編程?IDE?編輯器?調(diào)試器?調(diào)優(yōu)器?改錯(cuò)工具?或其他什么的?
      Joe:沒有。編譯器獨(dú)自擁有95%的fun。這樣人們對(duì)他們的IDE十分篤信。我使用emacs和xterm。有些人熱衷于一些東西,但我本人不怎么感興趣。

      9)
      Michael:請(qǐng)給Erlang新手們分享一些小建議!你該怎么入門?有什么書?教程?網(wǎng)絡(luò)資源?提問最好的地方在哪里?
      Joe:
      書籍——(無恥的插入):讀我的新書Programming Erlang。
      教程:www.trapexit.org
      發(fā)布:www.erlang.org
      提問:erlang郵件列表(登錄www.erlang.org)

      10)
      Michael:你在Erlang程序里遇到的最糟糕的錯(cuò)誤是什么?
      Joe:沒有文檔的程序——我討厭人們說“讀代碼”——代碼是問題的解決方案——通過讀代碼我不得不猜測(cè)問題是什么,并且這很可能出錯(cuò)。我喜歡別人告訴我問題是什么,而不是靠猜。
      所以最糟糕的錯(cuò)誤是當(dāng)我寫在程序里一個(gè)長(zhǎng)達(dá)多頁的注釋來解釋一些特殊的技巧點(diǎn)時(shí),結(jié)果發(fā)現(xiàn)在稍后的版本中別人刪除了整個(gè)注釋。

      安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
      国产午夜福三级在线播放_亚洲精品成a人片在线观看_亚洲自慰一区二区三区_久久棈精品久久久久久噜噜
      <source id="4vppl"><ins id="4vppl"></ins></source>
      <u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
      <object id="4vppl"></object>
    1. <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

      <object id="4vppl"></object>
      <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

        <i id="4vppl"><thead id="4vppl"></thead></i>

        <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>
        日韩国产网站一区 | 亚洲AV色影在线 | 中文字幕免费不卡一区 | 午夜国产亚州视频在线 | 亚洲人成电影在线观看网色 | 九色九热国产在线视频 |