模塊設計說明書_第1頁
模塊設計說明書_第2頁
模塊設計說明書_第3頁
模塊設計說明書_第4頁
模塊設計說明書_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、FiTMPI 模塊設計說明書1模塊設計說明書模塊設計說明書mmd(總體設計)(總體設計) 作者作者:毛佳音毛佳音創(chuàng)建時間創(chuàng)建時間:2005 年 11 月 28 日穩(wěn)定程度穩(wěn)定程度:修改歷史修改歷史版本版本 日期日期 修訂人修訂人 說明說明1.02005 年 11 月 28 日毛佳音第一版FiTMPI 模塊設計說明書2目目 錄錄1. 引言引言.31.1 模塊名稱 MMD.31.2 模塊背景和內(nèi)容概要.31.3 相關(guān)資料、縮略語、定義.32. 模塊功能模塊功能.42.1 MMD與其它模塊的關(guān)系.42.2 MMD的子模塊設計.53. MMD_EXEC 子模塊子模塊.53.1 MMD_EXEC子模塊功

2、能介紹 .53.2 狀態(tài)與流程.53.3 協(xié)議格式與命令集.63.4 程序文件清單.73.5 主要數(shù)據(jù)結(jié)構(gòu).8FiTMPI 模塊設計說明書31. 引言引言1.1 模塊名稱模塊名稱mmd1.2 模塊背景和內(nèi)容概要模塊背景和內(nèi)容概要mmd 是運行在每一個結(jié)點的后臺的管理進程。它的主要功能包括(1)接收來自 Mpiexec的命令(2)生成并管理任務(3)向其它的 mmd 發(fā)送任務信息(4)啟動子進程(5)與子進程通信。這個模塊的功能比較復雜,可以分為多個子模塊,在本文檔中描述這個模塊的主要功能,每一個子模塊的功能在相應的文檔中。TODO,子模塊文檔名1.3 相關(guān)資料、縮略語、定義相關(guān)資料、縮略語、定

3、義Mmd: Mpi Management DaemonFiTMPI 模塊設計說明書42. 模塊功能模塊功能2.1 mmd 與其它模塊的關(guān)系與其它模塊的關(guān)系圖 1 FiTMPI 模塊部署圖整個 FiTMPI 項目可以部署在一個分布式的系統(tǒng)上。該系統(tǒng)主要由兩種結(jié)點組成,一種是用戶(程序員)提交 MPI 任務的前端結(jié)點,一種是執(zhí)行并行程序的計算結(jié)點。在前端結(jié)點上含有 mpiexec 模塊;在計算結(jié)點上含有 mmd 模塊和鏈接在客戶并行程序中的 MPI 庫的各個模塊。前端結(jié)點和計算結(jié)點可以在同一臺機器上,如圖 1 中的 Node1。用戶(并行程序員)直接和 mpiexec 模塊交互,mpiexec 通

4、過 informer 接口將用戶請求execlist 傳給 Mmd 模塊,接收 execlist 的 mmd 稱主 mmd,主 mmd 生成新的任務 jobnode,并將任務分配給其它的 mmd(從 mmd) 。從 mmd 通過 forker 接口在本地創(chuàng)建新的進程,并負責與進程之間傳遞信息。FiTMPI 模塊設計說明書52.2 mmd 的子模塊設計的子模塊設計圖 2 mmd component diagramMmd 模塊由四個子模塊組成。Mmd_exec 負責從 mpiexec 模塊接收用戶命令,以execlist 的形式傳遞。接收一個完整的消息之后,調(diào)用 Job_manager 的 new

5、job 接口生成新的任務。Job_manager 負責管理任務,分配每個機器上的進程等。分配好的任務信息將被mmd_mmd 子模塊傳到從 mmd 中,從 mmd 調(diào)用 forker。3. mmd_exec 子模塊子模塊3.1 mmd_exec 子模塊功能介紹子模塊功能介紹該子模塊的主要功能是與 mpiexec 模塊通信,從 mpiexec 接收任務信息。使用 TCP 方式,mmd 作為服務器,開一個監(jiān)聽端口等待 mpiexec 連接,mpiexec 連接后向 mmd 發(fā)送命令,全部發(fā)完后 mpiexec 主動關(guān)閉連接。3.2 狀態(tài)與流程狀態(tài)與流程Mpiexec 的狀態(tài)轉(zhuǎn)移如圖 3 所示。在用戶

6、輸入之后進入 Parse User Command 狀態(tài),完成之后主動連接 mmd,連接成功后進入 Authorize 狀態(tài),得到 mmd 的認可后進入 Send execlist 狀態(tài),將整個 execlist 發(fā)給 mmd 后進入 Close Connection 狀態(tài)關(guān)閉連接并退出。FiTMPI 模塊設計說明書6圖 3 mpiexec state diagramMmd 的狀態(tài)轉(zhuǎn)移如圖 4 所示。Mmd 在后臺運行,為 mpiexec 打開一個 TCP 監(jiān)聽端口,處于 Listening 狀態(tài)。有 mpiexec 連接后進入 Connected 狀態(tài),對收到的消息進行認證,通過認證后進入

7、Receive execlist 狀態(tài),完全接收完后退出這一模塊,進入 job manger 模塊生成新的任務,生成新的任務后回到 Listening 狀態(tài),等待下一任務的到來。需要注意的是這里使用的是單進程單線程的方式,因此在開始處理一個連接之后 mmd 拒絕其它的連接請求,直到 New Job 返回到 Listening 狀態(tài)。 圖 4 mmd state diagram3.3 協(xié)議格式與命令集協(xié)議格式與命令集Mpiexec 的 informer 模塊與 mmd 的 mmd_exec 模塊之間的消息傳遞是以字符串的形式進行的。每個命令以一個命令號開頭,后面加冒號,命令內(nèi)容,最后以#結(jié)束。例

8、如:0201:FiTMPI mmd version:1.0#一共 22 對命令,每個命令均是 mpiexec 發(fā)出,mmd 應答。具體命令如表 1 所示。命令定義文件:Mpiexec/include/me_comm.h, Mmd/include/mmd.hFiTMPI 模塊設計說明書7MMD_EXEC 模塊MPIEXEC 模塊命令名稱命令號命令名稱命令號狀態(tài) FMPI_MMD_CMD_VERIFYRES0201 FMPI_MPIEXEC_CMD_VERIFY0101 FMPI_MMD_CMD_BUSYRES0201 FMPI_MMD_CMD_AUTHRES0202 FMPI_MPIEXEC_C

9、MD_AUTH0102AuthFMPI_MMD_CMD_NEWNODERES0203FMPI_MPIEXEC_CMD_NEWNODE0103 FMPI_MMD_CMD_ARGSRES0204 FMPI_MPIEXEC_CMD_ARGS0104 FMPI_MMD_CMD_DUMPRES0205 FMPI_MPIEXEC_CMD_DUMP0105 FMPI_MMD_CMD_ENVRES0206 FMPI_MPIEXEC_CMD_ENV0106FMPI_MMD_CMD_EXECFILERES0207FMPI_MPIEXEC_CMD_EXECFILE0107 FMPI_MMD_CMD_PATHRES0

10、208 FMPI_MPIEXEC_CMD_PATH0108FMPI_MMD_CMD_PWDFILERES0209 FMPI_MPIEXEC_CMD_PWDFILE0109FMPI_MMD_CMD_SYSARCHRES0210 FMPI_MPIEXEC_CMD_SYSARCH0110 FMPI_MMD_CMD_DBGRES0211 FMPI_MPIEXEC_CMD_DBG0111 FMPI_MMD_CMD_LOCALRES0212 FMPI_MPIEXEC_CMD_LOCAL0112 FMPI_MMD_CMD_LOGONRES0213 FMPI_MPIEXEC_CMD_LOGON0113 FMP

11、I_MMD_CMD_NOMPIRES0214 FMPI_MPIEXEC_CMD_NOMPI0114 FMPI_MMD_CMD_PLAINRES0215 FMPI_MPIEXEC_CMD_PLAIN0115 FMPI_MMD_CMD_PORTRES0216 FMPI_MPIEXEC_CMD_PORT0116 FMPI_MMD_CMD_PRIRES0217 FMPI_MPIEXEC_CMD_PRI0117 FMPI_MMD_CMD_PNORES0218 FMPI_MPIEXEC_CMD_PNO0118FMPI_MMD_CMD_TIMEOUTRES0219 FMPI_MPIEXEC_CMD_TIMEOUT0119 FMPI_MMD_CMD_HOSTRES0220 FMPI_MPIEXEC_CMD_HOST0120FMPI_MMD_CMD_ENDNODERES0221FMPI_MPIEXEC_CMD_ENDNODE0121 FMPI_MMD_CMD_ENDLISTRES0222 FMPI_MPIEXEC_CMD_ENDLIST0122Recv表 1 mmd_exec 子模塊的命令集3.4 程序文件清單程序文件清單Mpiexec/informer/me_comm.h mpiexec 的 informer 模塊頭文件Mpiexec/informer/me_com

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論