Doug Lea談JDK7的Fork/Join框架
Doug Lea是著名的平行計算專家,NIO socket最初來源其設計框架,最近接受InfoQ影片訪問,談論具有革命性意義的Fork/Join框架, 這個新特性將計劃在Java 7的java.util.concurrent中提供。
Fork/Join是一個更容易執行高效能 平行計算以及細粒度的任務的引擎,因為目前主流是關注伺服器端非同步通訊,它工作於多核晶片系統。類似將任務分兩部分同時執行,然後將結果融合。
就像同時在做某件事,你會隔段時間將一些任務放到一個佇列中,看看有沒有別人會偷些任務去做,如果有,說明他們的任務不飽和,能夠幫助你做些事情,如果你掛Hang在那裡,表明你有很多事情要做。
Scala 和Clojure 都已經能很好實現Fork/Join這些平行計算模型。Clojure 和Scala actor模型使用類似引擎實現並行拆封。 這個基本的work-stealing框架適合很多很多應用場景。
Fork/Join框架希望將來能夠支撐數百個CPU,並試圖挑戰1000核。
該訪談也談到了程式設計模式的挑戰,過去大家學習的都是先後順序程式設計正規化,而平行計算帶來了併發平行計算正規化,程式碼執行可能是隨意無先後的執行,如何適應這種新變化?Doug Lea認為這已經不只是技術問題,而是藝術問題了,建議看看"The art of multiprocessor programming"多核程式設計藝術這本書。
更多可參考訪談原文。
Fork/Join是一個更容易執行高效能 平行計算以及細粒度的任務的引擎,因為目前主流是關注伺服器端非同步通訊,它工作於多核晶片系統。類似將任務分兩部分同時執行,然後將結果融合。
就像同時在做某件事,你會隔段時間將一些任務放到一個佇列中,看看有沒有別人會偷些任務去做,如果有,說明他們的任務不飽和,能夠幫助你做些事情,如果你掛Hang在那裡,表明你有很多事情要做。
Scala 和Clojure 都已經能很好實現Fork/Join這些平行計算模型。Clojure 和Scala actor模型使用類似引擎實現並行拆封。 這個基本的work-stealing框架適合很多很多應用場景。
Fork/Join框架希望將來能夠支撐數百個CPU,並試圖挑戰1000核。
該訪談也談到了程式設計模式的挑戰,過去大家學習的都是先後順序程式設計正規化,而平行計算帶來了併發平行計算正規化,程式碼執行可能是隨意無先後的執行,如何適應這種新變化?Doug Lea認為這已經不只是技術問題,而是藝術問題了,建議看看"The art of multiprocessor programming"多核程式設計藝術這本書。
更多可參考訪談原文。
[該貼被banq於2010-01-26 14:13修改過]
相關文章
- Fork/Join 框架框架
- Fork/Join框架框架
- Java Fork/Join 框架Java框架
- JUC之Fork/Join框架框架
- 談談fork/join實現原理
- Java併發 -- Fork/Join框架Java框架
- Fork/Join框架實現原理框架
- Doug Lea併發設計模式(JUC學習前奏)設計模式
- Doug Lea大師的佳作CopyOnWriteArrayList,用不好能坑死你!
- 並行執行任務的Fork/Join框架並行框架
- Fork Join 併發任務執行框架框架
- Java併發6:阻塞佇列,Fork/Join框架Java佇列框架
- Java7提供的並行執行任務框架:Fork、Join框架Java並行框架
- JDK 7 中的 Fork/Join 模式JDK模式
- 使用Java 7.0的 Fork/Join框架進行併發程式設計Java框架程式設計
- java多執行緒8:阻塞佇列與Fork/Join框架Java執行緒佇列框架
- Java執行緒(十一):Fork/Join-Java平行計算框架Java執行緒框架
- 面試官:說說你對Fork/Join的平行計算框架的瞭解?面試框架
- Java併發程式設計(07):Fork/Join框架機制詳解Java程式設計框架
- 重做一道Java面試題(Fork/Join)Java面試題
- MapReduce框架-Join的使用框架
- Java通過Fork/Join來優化平行計算Java優化
- jdk7:淺談 AIO NIO2.0JDKAI
- Java併發基礎-Fork、Join方式的平行計算研究分析Java
- 《CSS揭祕》作者Lea Verou訪談問題有獎徵集(圖靈訪談)CSS圖靈
- ☕【Java技術指南】「併發程式設計專題」Fork/Join框架基本使用和原理探究(原理及原始碼篇)Java程式設計框架原始碼
- JDK7集合框架原始碼學習-ArrayDequeJDK框架原始碼
- php的lavarel框架中join和orWhere的用法PHP框架
- Apache Hadoop creator — Doug CuttingApacheHadoop
- JDK7集合框架原始碼學習-ArrayList(0)JDK框架原始碼
- JDK7集合框架原始碼學習-ArrayList(1)JDK框架原始碼
- 多執行緒高併發程式設計(8) -- Fork/Join原始碼分析執行緒程式設計原始碼
- 《CSS 揭祕》作者Lea Verou:我喜歡分享開源的行業文化(圖靈訪談)CSS行業圖靈
- join、inner join、left join、right join、outer join的區別
- JDK7集合框架原始碼學習-ArrayList(4)SubListJDK框架原始碼
- [英文版]《CSS揭祕》作者Lea Verou:I love the openness of our industry (圖靈訪談)CSS圖靈
- 談談出入React框架踩過的坑React框架
- JDK7集合框架原始碼學習-ArrayList(3)迭代器JDK框架原始碼