精華區beta Programming 關於我們 聯絡資訊
> ==>發信人: cywang.bbs@bbs.cs.nthu.edu.tw (cc), 信區: programming > ※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言: > > 現在的命令式語言與 OOPL 要寫出一個程式在單 CPU 上可以跑, 兩者 > > 都沒有問題. 但要進一步把這個已寫好的程式不做修改就直接改放到 > > 分散的兩個 CPU 去跑, 命令式語言的程式就沒希望了, 封裝成 Class > > Object 的程式就很自然可以分散. 這就是 scalable 的具體現象. > 你要的是 process network modeling, 而非 OO, > 使用 C++ 以及 multi-thread 來製作 process network modeling, > 可以充分利用SMP處理器的好處,並且提供了很好的設計方法, > 至於寫好的程式不做修改就可以分散的, > openmp是一個機會,可以動到最少的狀況下,獲得一些好處, > 然而這樣的平行化有其極限, 對於 Networked/Cluster Computer 與 SMP 這兩種形式的 Architecture , 前者以 Java CORBA 出名, 另一個就是配合各種程式(通常是 FORTRAN)的 MPI . 對於 SMP 如果是想加速平行計算, 出名的是 Parallel FORTRAN , 或是您提到的 OpenMP . 後兩者通常使用 directive 加註 與 修改原始程 式中的 data partition 相互配合. 但這種修改除了配合傳統的 Matrix Do Loop 外, 還需假設有個方便的 shared memory . 假如將來還是得要使用分離的多部電腦, 整個計算模擬的程式設計就必須 思考能降低藕合度的可能做法. 況且 object 具有 self contained 的特 性, 最適合分散式環境. 不過, 目前配合計算的習慣, FORTRAN 與 SMP 環境還是被物理, 機械 專業者所喜愛 . 但 Middleware 的興起, Architecture 的趨勢可能就是 由多個 SMP 的單機經 Cluster 或 network 再彙總而成. -- ◎ Origin: 中央松濤站□bbs.csie.ncu.edu.tw From: 140.115.6.234