2009年7月5日 星期日

平行計算介紹(草稿)

因為要報告,所以整理了一下我所了解的平行計算。簡報內容如下:
===========================
平行計算介紹
0.介紹
  多組數據或任務同時作業的計算方式

1.平行計算分類
  a.平行型式
    1.位元並行處理Bit-level parallelism
      8 bit -> 16 bit -> 32 bit -> 64 bit
      由增加同時計算之位元數來達成加速資料處理
    2.指令並行處理Instruction-level parallelism
      Pipeline
      Superscale
    3.資料並行處理Data parallelism
      Single Instruction Multiple Data(SIMD)
      PC:MMX,SSE,3D Now
    4.任務並行處理Task parallelism
      function parallelism
      control parallelism
  b.硬體實現:並行電腦
    1.多核心Multicore computing
    2.對稱多處理器Symmetric multiprocessing
    3.分散式運算Distributed computing
      a.大型平行處理器Massive parallel processing
      b.叢集運算Cluster computing
      c.網格運算Grid computing
  c.硬體實現:特殊電腦
    1.Reconfigurable computing with field-programmable gate arrays(FPGA)
    2.Scalable Embedded Array Processor
    3.Vector processors
    4.General-purpose computing on graphics processing units (GPGPU)
      SIMT
    5.Application-specific integrated circuits(ASIC)
   
2.平行計算軟體方法
  a.Multi-Process
  b.Multi-Thread
  c.OpenMP
  d.Erlang
  e.OpenCL、CUDA
  f.VHDL、Verilog
 
3.平行計算的使用場合
  a.電腦模擬及預測
    天氣預報
    電磁波
    機構
    電子
  b.電腦影像處理
    照片
    影片
    3D-Game
  c.感測器矩陣Sensor Array
    天文望遠鏡
    大型強子對撞器
    CCD
  d.特殊應用
    非破壞性檢測
    醫療領域
 
4.即時平行計算
  a.應用領域
    醫療
    視覺檢測
    On-line-Game Server
    電腦影像處理應用:大型印表機
  b.因成本降低,現在可以採用
    a.Multicore
      1.成本低
      2.軟體變動小,可以套用在原有程式上
      3.效率提升和核心數成比例
      4.仍受限於其它資源的效能
    b.GPGPU
      1.成本低
      2.軟體變動中等,但寫法不同會有很大的效能差異
        要了解GPGPU內部結構
      3.只有資料無緊密關係時才有加速力
        矩陣運算
        影像處理
        可達100-250倍CPU運算量
      4.高資料流頻寬
      5.有回傳問題
        GPGPU記憶體是獨立的
    c.FPGA
      1.成本中低,需電子能力
      2.獨立於PC運作,使用PC界面連接
      3.除錯變成和電子系統混合,難度較高
      4.即時性極高,但運算格式受限
        整數系統很好,浮點數不好
5.結論
  人類慾望無止盡。
  硬體成本下降。
  電腦應用的普及化。
  原先的先進技術,將會平民化。
  舊技術因成本下降,會造就新市場。
=======================
剛好學了FPGA加上現在的CUDA,所以實現有望了。