並行演算法的設計技術

來源:互聯網
上載者:User
1. 劃分設計技術1.1均勻劃分技術

n個元素A[1..n]分成p組,每組A[(i-1)n/p+1..in/p],i=1~p

樣本:MIMD-SM模型上的PSRS排序

    begin

       (1)均勻劃分:將n個元素A[1..n]均勻劃分成p段,每個pi處理

                             A[(i-1)n/p+1..in/p]

       (2)局部排序:pi調用串列排序演算法對A[(i-1)n/p+1..in/p]排序

       (3)選取樣本:pi從其有序子序列A[(i-1)n/p+1..in/p]中選取p個樣本元素

       (4)樣本排序:用一台處理器對p2個樣本元素進行串列排序

       (5)選擇主元:用一台處理器從排好序的樣本序列中選取p-1個主元,並

                              播送給其他pi

       (6)主元劃分:pi按主元將有序段A[(i-1)n/p+1..in/p]劃分成p段

       (7)全域交換:各處理器將其有序段按段號交換到對應的處理器中

       (8)歸併排序:各處理器對接收到的元素進行歸併排序

    end.

PSRS排序過程。N=27,p=3,PSRS排序如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



1.2方根劃分技術

n個元素A[1..n]分成A[(i-1)n^(1/2)+1..in^(1/2)],i=1~n^(1/2)

 

1.3對數劃分技術

n個元素A[1..n]分成A[(i-1)logn+1..ilogn],i=1~n/logn

1.4功能劃分技術

n個元素A[1..n]分成等長的p組,每組滿足某種特性。

2. 分治設計技術

並行分治設計步驟:

§ 將輸入劃分成若干個規模相等的子問題;

§ 同時(並行地)遞迴求解這些子問題;

§ 並行地歸併子問題的解,直至得到原問題的解。

3. 平衡樹設計技術

以樹的葉結點為輸入,中間結點為處理結點,由葉向根或由根向葉逐層進行平行處理。

4. 倍增設計技術

Ø  又稱指標跳躍(pointerjumping)技術,特別適合於處理鏈表或有向樹之類的資料結構;

Ø  當遞迴調用時,所要處理資料之間的距離逐步加倍,經過k步後即可完成距離為2k的所有資料的計算。

5. 流水線設計技術

Ø  將演算法流程劃分成p個前後銜接的任務片斷,每個任務片斷的輸出作為下一個任務片斷的輸入;

Ø  所有任務片斷按同樣的速率產生出結果。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.