當前位置:聚美館>智慧生活>心理>

分佈式編程教程

心理 閱讀(2.74W)
分佈式編程教程

1、建立隊列Queue,用來進行進程間的通信。

(1)服務進程創建任務隊列task_queue,用來作爲傳遞任務給任務進程的通道

(2)服務進程創建結果隊列result_queue,用來作爲任務進程完成任務後回覆服務進程的通道

2、把創建的隊列在網絡上註冊,暴露給其他進程

(1)透過ster創建Queue接口來作爲添加任務的通道,typeid是調用的方法名,callable是綁定的本地獲取Queue的方法

3、創建一個對象(Manage)的實例manager,綁定端口和驗證口令

(1)透過Manage綁定本地端口,指定authkey,authkey接受bytes類型

4、啓動manager,開始監聽資訊通道

(1)t()

5、透過管理實例的方法(第2步中註冊的typeid的參數)獲得透過網絡訪問的Queue對象,即再把網絡隊列實例化成可以使用的本地隊列

(1)task = _task_queue()

6、創建任務到本地隊列中,會自動上傳到網絡隊列中,分配給任務進程去處理

(1)()

分佈式並行式編程是指在並行機上將一個應用分解成多個子任務,分配給不同的處理器,處理器之間相互協同,並行地執行子任務,從而達到加速求解速度,或者提升求解規模的目的。

MPI 是全世界工業、科研和政府部門聯合建立的消息傳遞編程標準,以便爲並行程序的設計提供一個高效、統一的編程環境

它是目前最通用的分佈式並行編程方式,也是分佈式並行系統的主要編程環境。

OpenMP 則是爲共享內存系統設計的多線程計算模式。

在編程時,只需要在特定的原始碼片段前面加入 OpenMP 專用的預編譯指令

就可以將該段程序自動進行並行化處理,OpenMP 可以讓我們把更多的精力投入到並行算法本身,而非其具體實現細節。

分佈式內存系統在每一個節點內部屬於共享內存系統,因此在使用 MPI 進行並行求解的同時,可以使用 OpenMP 語法來實現每個節點內的多線程並行計算。

在大規模計算中,隨着體系規模的增加,計算量及存儲量呈指數增長,對計算機的計算和存儲能力是嚴峻的挑戰。

而透過分佈式並行計算可以在多臺機器上平衡計算負載,從而提高計算效率,對大規模計算將會起到重要的推動作用