国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種高效MPI設(shè)備層擴展庫的設(shè)計與實現(xiàn)

2017-02-22 08:01雷詠梅
計算機技術(shù)與發(fā)展 2017年2期
關(guān)鍵詞:雙通道數(shù)據(jù)包進(jìn)程

方 鈴,雷詠梅

(上海大學(xué) 計算機工程與科學(xué)學(xué)院,上海 200072)

一種高效MPI設(shè)備層擴展庫的設(shè)計與實現(xiàn)

方 鈴,雷詠梅

(上海大學(xué) 計算機工程與科學(xué)學(xué)院,上海 200072)

PCI Express作為新一代的總線接口,能支持各個設(shè)備之間并發(fā)的數(shù)據(jù)傳輸。每個設(shè)備在要求傳輸數(shù)據(jù)時各自建立專用的傳輸通道,這樣的操作使得數(shù)據(jù)能夠高效傳輸,因此PCI Express互聯(lián)結(jié)構(gòu)已被廣泛地應(yīng)用到高性能領(lǐng)域。用PCI Express總線代替以太網(wǎng),不僅能實現(xiàn)不同設(shè)備之間高速的數(shù)據(jù)傳輸,而且能夠縮減結(jié)構(gòu)規(guī)模,并很好地應(yīng)用于工業(yè)等領(lǐng)域。但基于這種互聯(lián)結(jié)構(gòu)來實現(xiàn)并行程序運行,需要設(shè)計和實現(xiàn)相應(yīng)的MPI設(shè)備層擴展庫,以實現(xiàn)不同板卡系統(tǒng)的進(jìn)程間通信。結(jié)合PCI Express互聯(lián)結(jié)構(gòu)特點,基于MPICH的PMI KVS空間的功能,提出控制和數(shù)據(jù)雙通道的通信模式??刂菩畔⒁揽靠煽總鬏攨f(xié)議TCP進(jìn)行傳輸,數(shù)據(jù)信息通過高速的PCI Express總線進(jìn)行傳輸,以實現(xiàn)異構(gòu)系統(tǒng)之間高效的數(shù)據(jù)傳輸,并通過模擬實驗證明了設(shè)備層擴展庫的可行性。

高性能;PCI Express互聯(lián)結(jié)構(gòu);MPI設(shè)備層擴展庫;雙通道

1 概 述

近年來,隨著高效能技術(shù)的發(fā)展,各種高性能總線互聯(lián)技術(shù)層出不窮,包括嵌入式領(lǐng)域的RapidIO技術(shù)[1]、針對PC機的PCI Express技術(shù)[2]以及面向服務(wù)機群的InfiniBand技術(shù)[3]。其中,PCI Express作為新一代的總線接口,能夠通過交換器實現(xiàn)多臺設(shè)備之間通信的串行、點對點類型的互聯(lián),而PCI Express的高速數(shù)據(jù)傳輸使其廣泛地應(yīng)用于高性能計算等領(lǐng)域[4-6]。

同時還有基于FPGA的PCI Express接口的設(shè)計[7-8]。目前已提出的PCI Express總線互聯(lián)結(jié)構(gòu)中,通過母板PCI Express的插槽連接不同的帶有FPGA和ARM混合異構(gòu)的嵌入式子板,這些子板上運行MPI[9]應(yīng)用進(jìn)程,而不同子板的應(yīng)用進(jìn)程之間通過PCI Express把數(shù)據(jù)傳輸給PC host,然后再由PC host把數(shù)據(jù)傳輸給目的板卡上的應(yīng)用進(jìn)程。用PCI Express代替以太網(wǎng)來傳輸數(shù)據(jù),能很好地解決網(wǎng)絡(luò)帶寬限制的問題,而且該結(jié)構(gòu)規(guī)模較小,能很好應(yīng)用在工業(yè)等領(lǐng)域。然而基于這種互聯(lián)結(jié)構(gòu)實現(xiàn)并行程序運行,需要設(shè)計和實現(xiàn)相應(yīng)的MPI設(shè)備層擴展庫,實現(xiàn)不同板卡系統(tǒng)的進(jìn)程間通信,軟件架構(gòu)如圖1所示。

圖1 系統(tǒng)軟件架構(gòu)

通過對MPI各個層次結(jié)構(gòu)的分析,文中提出一種構(gòu)建MPI設(shè)備層擴展庫的實現(xiàn)方法。利用MPICH3的PMI KVS空間的功能[10],每個進(jìn)程通過PMI put操作保存本地節(jié)點端口等信息到本地KVS中,同時同步到遠(yuǎn)程服務(wù)端KVS,而其他節(jié)點通過PMI get操作獲取各節(jié)點所在端口等信息,從而建立通信關(guān)系。同時結(jié)合PCI Express互聯(lián)結(jié)構(gòu)的特點,提出控制和數(shù)據(jù)雙通道的通信模式。一方面通過以太網(wǎng)傳輸必需的控制信息,另一方面使用高速的PCI Express傳輸數(shù)據(jù)信息,以實現(xiàn)這種嵌入式混合異構(gòu)系統(tǒng)運算節(jié)點之間高效的數(shù)據(jù)傳輸。

2 MPICH結(jié)構(gòu)的分析

MPICH[11]作為MPI實現(xiàn)之一,也是目前主流的并行函數(shù)庫,主要包括兩個工作:實現(xiàn)進(jìn)程管理;實現(xiàn)MPI庫接口。第一部分主要通過Hydra[12]的作業(yè)加載程序在每個節(jié)點創(chuàng)建一個進(jìn)程管理代理PMP,并通過PMP在本地節(jié)點創(chuàng)建和管理應(yīng)用進(jìn)程。第二部分是通過分層、模塊化等方法實現(xiàn),層次結(jié)構(gòu)圖如圖2所示。

MPI應(yīng)用程序接口MPIR動態(tài)運行庫ADI抽象設(shè)備接口CH3通道接口Nemesis層接口特定通信設(shè)備接口

圖2 MPICH3層次結(jié)構(gòu)圖

從分層結(jié)構(gòu)中可看出,要實現(xiàn)設(shè)備層擴展庫,需有MPI最后一層——特定通信設(shè)備接口層的相關(guān)實現(xiàn)。

2.1 數(shù)據(jù)結(jié)構(gòu)

MPICH3工程設(shè)計中體現(xiàn)出了面向?qū)ο笏枷?。MPICH3中有許多重要的數(shù)據(jù)結(jié)構(gòu),比如:ADI層的進(jìn)程(MPID_PerProcess)、虛連接(MPIDI_VC)結(jié)構(gòu)和收發(fā)請求(MPID_Request)結(jié)構(gòu)等。

設(shè)備層有兩個重要的結(jié)構(gòu)體:

(1)struct MPID_nem_netmod_funcs,該結(jié)構(gòu)中定義了需要實現(xiàn)的初始化、發(fā)送、接收等回調(diào)函數(shù),在CH3層初始化時,需要將實現(xiàn)好的MPID_nem_netmod_funcs_t指針傳遞到上層。而對于設(shè)備層已有實現(xiàn)的網(wǎng)絡(luò)設(shè)備,用戶要通過填寫Makefile參數(shù)去選擇需要的設(shè)備層。

(2)struct MPIDI_Comm_ops,包含主要的通信函數(shù),ADI層對函數(shù)指針進(jìn)行判斷,而且程序優(yōu)先調(diào)用struct MPIDI_Comm_ops內(nèi)函數(shù),主要函數(shù)有發(fā)送函數(shù)send、接收函數(shù)recv_posted、標(biāo)準(zhǔn)通信模式isend、同步通信模式irsend等。

由于雙通道設(shè)計實現(xiàn)需要有初始化的過程,所以文中選擇只實現(xiàn)帶有初始化函數(shù)的結(jié)構(gòu)體MPID_nem_netmod_funcs中的函數(shù)。

2.2 虛連接與請求管理

虛連接是MPICH3 ADI層的一個重要結(jié)構(gòu)體,MPI的每一個應(yīng)用進(jìn)程都會維護一張自己的虛連接表,在ADI層初始化的時候,會為虛連接表分配空間,也就是初始化虛連接的每一個表項,主要是根據(jù)進(jìn)程所在節(jié)點,為各個進(jìn)程之間建立通信方式,并且虛連接表是以數(shù)組方式進(jìn)行存儲的。例如,現(xiàn)在0號進(jìn)程中要初始化VC數(shù)組的第二個下標(biāo)對應(yīng)的VC,也就是VC[1],這個VC[1]就是0號進(jìn)程和1號進(jìn)程間的虛連接。

虛連接內(nèi)部包含了一個重要的結(jié)構(gòu)體struct MPIDI_CH3I_VC,該結(jié)構(gòu)體包含兩個重要的函數(shù),同時還包括虛連接自身的一個函數(shù),分別是iStartContigMsg、iSendContig、sendNoncontig_fn。它們都和發(fā)送相關(guān)。當(dāng)應(yīng)用程序調(diào)用MPI_Send時,MPICH根據(jù)rank號取到對應(yīng)的VC,按照參數(shù)選擇調(diào)用以上三個VC中的函數(shù)。這三個函數(shù)需要在設(shè)備層擴展庫進(jìn)行具體實現(xiàn),當(dāng)虛連接初始化時根據(jù)進(jìn)程是節(jié)點間還是節(jié)點內(nèi)選擇是否對VC的函數(shù)指針進(jìn)行賦值。

由于MPI存在非阻塞通信,而且在實際數(shù)據(jù)發(fā)送過程中可能出現(xiàn)信道阻塞,所以需要有緩存。MPICH3設(shè)備層緩存和CH3層對接收請求的組織方式相同,都是以請求隊列[13]的形式存在的。當(dāng)出現(xiàn)阻塞時,將消息封裝成請求并入隊,等待出隊發(fā)送,所以設(shè)備層需要在虛連接內(nèi)維護一個請求隊列。對一個進(jìn)程來說,對應(yīng)所有其他進(jìn)程都有一個虛連接就有一個請求隊列,設(shè)備層擴展庫的發(fā)送接口實現(xiàn)時需要利用請求隊列作為緩存。

3 MPI設(shè)備層擴展庫的設(shè)計

設(shè)備層擴展庫主要包括虛連接初始化和通過MPICH PMI KVS方法實現(xiàn)對控制數(shù)據(jù)傳輸雙通道的支持以及系統(tǒng)功能設(shè)計。

3.1 虛連接初始化和自定義結(jié)構(gòu)體

虛連接初始化接口,主要包括兩個步驟:第一是在作業(yè)初始化階段為進(jìn)程初始化與其他進(jìn)程之間調(diào)用過程;第二是初始化設(shè)備層相關(guān)數(shù)據(jù)結(jié)構(gòu)并保存到虛連接內(nèi)。結(jié)構(gòu)體MPIDI_CH3I_VC中有一個很重要的成員,該成員變量描述如下:

union

{

char padding[MPID_NEM_VC_NETMOD_AREA_LEN];

void*align_helper;

}netmod_area;

netmod_area中的char padding[]用來保存設(shè)備層重要的數(shù)據(jù)結(jié)構(gòu)到虛連接,文中需要保存的自定義結(jié)構(gòu)體如下:

typedef struct{

fileopt_t*fo; //設(shè)備文件描述符

reqq_t send_queue; //發(fā)送隊列

}MPID_nem_file_vc_area;

typedef struct{

int fd; //每一個進(jìn)程獲得的文件描述符

MPIDI_VC_t*vc; //本進(jìn)程和目的進(jìn)程的虛連接

int endpoint; //端口號

}fileopt_t;

通過這兩個結(jié)構(gòu)體可以保存需要操作的設(shè)備文件描述符和發(fā)送隊列以及端口號等。

VC初始化的具體流程如下:

(1)初始化iStartContigMsg、iSendContig、sendNoncontig_fn三個函數(shù)指針。

(2)初始化發(fā)送隊列send_queue。

(3)將文件描述符保存到對應(yīng)的虛連接結(jié)構(gòu)體。

(4)得到各個目的進(jìn)程的business card,通過查詢server端得到端口號保存在相應(yīng)的虛連接結(jié)構(gòu)體中。

3.2 控制和數(shù)據(jù)傳輸雙通道模式

由于總線互聯(lián)結(jié)構(gòu)支撐軟件提供的操作設(shè)備方法無法像傳統(tǒng)TCP一樣,以IP地址作為主機標(biāo)識進(jìn)行數(shù)據(jù)傳輸,而它一般以端口作為主機標(biāo)識,如PCI Express,而在進(jìn)程管理部分通過SSH等進(jìn)行遠(yuǎn)程控制訪問。另一方面,數(shù)據(jù)傳輸是通過PCI Express總線,所以整體數(shù)據(jù)的流通是以控制和數(shù)據(jù)相分離的,控制信息主要是進(jìn)程管理相關(guān)的信息通過TCP進(jìn)行傳輸,而數(shù)據(jù)信息主要是發(fā)送、接收等通過PCI Express總線傳輸。

但是發(fā)送數(shù)據(jù)時,發(fā)送進(jìn)程需要知道接收進(jìn)程所在運行板卡的端口,才能將數(shù)據(jù)準(zhǔn)確地發(fā)送給接收進(jìn)程。文中采用將端口號等信息和設(shè)定的key,如字符串“endpoint”,通過PMI_KVS_Put方法寫入本地KVS中,再從整個樹形結(jié)構(gòu)中層層提交到遠(yuǎn)程的Launch node端KVS中,其他進(jìn)程按照這個key值在對應(yīng)的進(jìn)程KVS中去查找需要的端口號等信息。因為每一塊板卡有一個唯一的IP地址,也對應(yīng)一個唯一的端口,本地初始化時可以通過kernel提供的方法獲得端口號,然后通過上面的方法進(jìn)行保存,在每個進(jìn)程虛連接初始化時通過PMI_KVS_Get方法查詢每個進(jìn)程rank值對應(yīng)的端口號等信息,并保存到虛連接中,流程如圖3所示。

圖3 控制與數(shù)據(jù)雙通道結(jié)構(gòu)圖

3.3 系統(tǒng)功能實現(xiàn)

系統(tǒng)功能實現(xiàn)主要包括發(fā)送和接收功能。在上一節(jié)介紹的數(shù)據(jù)結(jié)構(gòu)中已說明要實現(xiàn)struct MPID_nem_netmod_funcs中發(fā)送相關(guān)的函數(shù),其中三個函數(shù)的不同點在于調(diào)用iStartContigMsg時,上層沒有創(chuàng)建request對象,而調(diào)用iSendContig和sendNoncontig_fn時已經(jīng)創(chuàng)建好request對象。因為MPICH3考慮到request對象管理頻繁,造成資源的浪費,同時由于大量非阻塞通信的使用,需要對request對象進(jìn)行出隊入隊耗時的操作,就區(qū)分了兩種發(fā)送數(shù)據(jù)的方式。iStartContigMsg、iSendContig都是發(fā)送連續(xù)數(shù)據(jù),sendNoncontig_fn是發(fā)送非連續(xù)數(shù)據(jù)。和接收相關(guān)的需要在設(shè)備層擴展庫實現(xiàn)的是MPID_nem_poll函數(shù)。

當(dāng)進(jìn)程數(shù)據(jù)傳輸時發(fā)送進(jìn)程得到目的進(jìn)程的所在節(jié)點端口號,先將端口以及要發(fā)送的數(shù)據(jù)大小等信息發(fā)送給PC host,然后將需要發(fā)送的數(shù)據(jù)發(fā)給PC host,最后由PC host轉(zhuǎn)發(fā)給相應(yīng)端口的節(jié)點,所以這種互聯(lián)結(jié)構(gòu)的數(shù)據(jù)發(fā)送是通過PC host去中轉(zhuǎn),并非點對點的數(shù)據(jù)傳輸。文中針對這種結(jié)構(gòu)定義了相應(yīng)的數(shù)據(jù)包格式以及數(shù)據(jù)的發(fā)送和接收方式。

3.3.1 數(shù)據(jù)包格式

發(fā)送方要向PC端發(fā)送的消息有兩種:一種是需要預(yù)先向PC發(fā)送接收方的端口號、進(jìn)程號等控制信息;另一種是向接收方發(fā)送的用戶數(shù)據(jù)。所以通過消息頭的ID字段將兩種消息進(jìn)行區(qū)分,同時定義兩種數(shù)據(jù)包的格式,如圖4所示。

圖4 數(shù)據(jù)包格式

ID字段:ID字段只有一位,當(dāng)ID為0時,表示控制信息數(shù)據(jù)包,當(dāng)ID為1時表示用戶數(shù)據(jù)包。

序列號:根據(jù)進(jìn)程號為每個進(jìn)程分配連續(xù)的且不同的序列號,保證同時一個端口不同進(jìn)程向PC端發(fā)送數(shù)據(jù)時,可以以不同的序列號進(jìn)行區(qū)分。

分片號:當(dāng)數(shù)據(jù)以分片發(fā)送,分片號從1開始,以分片號標(biāo)識每片數(shù)據(jù),當(dāng)數(shù)據(jù)不以分片發(fā)送,分片號字段為0。

3.3.2 數(shù)據(jù)的發(fā)送與接收

當(dāng)發(fā)送方向接收方發(fā)送數(shù)據(jù)時,先為本次通信過程分配唯一的序列號,再填充源端口號和目的端口號,源進(jìn)程號和目的進(jìn)程號以及數(shù)據(jù)長度信息,將控制信息數(shù)據(jù)包發(fā)送給PC端;PC端接收到控制信息數(shù)據(jù)包,得到目的端號和序列號等信息,并等待發(fā)送方發(fā)送數(shù)據(jù);發(fā)送方將數(shù)據(jù)發(fā)送給PC端;當(dāng)PC端接收到所有數(shù)據(jù)時,將數(shù)據(jù)發(fā)送到目的端號。

由于一塊板卡上運行多個應(yīng)用進(jìn)程,而每一個進(jìn)程會從同一個端口讀取數(shù)據(jù),從而使得數(shù)據(jù)讀取混亂,所以文中采用為板卡上每一個進(jìn)程預(yù)設(shè)內(nèi)存緩沖池的方式存放PC端發(fā)送來的數(shù)據(jù)。當(dāng)設(shè)備層擴展庫讀取數(shù)據(jù)時,按進(jìn)程號讀取對應(yīng)緩沖池上的數(shù)據(jù),再拷貝到用戶數(shù)據(jù)區(qū)。發(fā)送與接收數(shù)據(jù)過程如圖5所示。

4 實驗結(jié)果及分析

實驗對MPI設(shè)備層擴展庫的通信模式進(jìn)行驗證。

圖5 發(fā)送與接收數(shù)據(jù)過程

實驗環(huán)境:處理器為Intel(R) Core(TM) i3-2130 CPU@3.4 GHz;內(nèi)存為4GB;操作系統(tǒng)為Ubuntu 14.04.1。對用梯形積分法求面積的應(yīng)用進(jìn)行測試,應(yīng)用實例并行計算過程的通信關(guān)系如圖6所示。

圖6 進(jìn)程通信關(guān)系和調(diào)用過程

采用普通文件的方式進(jìn)行模擬實驗,測試功能包括MPI應(yīng)用程序接口中初始化、發(fā)送、接收功能的正確調(diào)用,以驗證MPI設(shè)備層擴展庫支持多進(jìn)程并行程序的正確運行。

梯形積分法求面積思想是將整個面積區(qū)域劃分成多個近似矩形區(qū)域,然后求解所有矩形面積之和。實驗中計算y=x2與x=0,x=3圍成的區(qū)域面積。算法中預(yù)先將整個區(qū)域分成1 024小塊,再將這些小塊按照進(jìn)程數(shù)均等劃分。

選取8、64、128個進(jìn)程分別進(jìn)行測試,運行結(jié)果如下:

root@node1:/home/fangling/github# /usr/fl1/mpi/bin/mpirun-np8 ./compute

usetime:0.000 653,processsize:8,ourestimation=

9.000 004 291 534 424e+00

root@node1:/home/fangling/github# /usr/fl1/mpi/bin/mpirun-np64 ./compute

usetime:0.043 264,processsize:64,ourestimation=

9.000 004 291 534 424e+00

root@node1:/home/fangling/github# /usr/fl1/mpi/bin/mpirun-np128 ./compute

usetime:0.057 931,processsize:128,ourestimation=

9.000 004 291 534 424e+00

程序中以0號進(jìn)程作為master進(jìn)程,其他進(jìn)程作為slave進(jìn)程,每一個slave進(jìn)程計算自己的矩形面積,然后把結(jié)果發(fā)給master進(jìn)程。分別以3組進(jìn)程數(shù)啟動MPI并行程序,過程中控制命令和數(shù)據(jù)傳輸運行正確,并行程序運行結(jié)果證明數(shù)據(jù)傳輸正確,程序結(jié)果運行正確。

上述實驗驗證了文中所設(shè)計的數(shù)據(jù)通信模式、數(shù)據(jù)包格式及數(shù)據(jù)的發(fā)送和接收方式準(zhǔn)確可行,所構(gòu)建的MPI通信庫,可以有效實現(xiàn)基于PCIExpress的嵌入式混合異構(gòu)系統(tǒng)之間的數(shù)據(jù)傳輸。

5 結(jié)束語

文中利用PCIExpress結(jié)構(gòu)的特點和MPICH的PMIKVS空間,提出數(shù)據(jù)和控制雙通道的通信模式,并通過模擬實驗驗證了設(shè)備層擴展庫接口的正確使用。下一步將開發(fā)和移植典型應(yīng)用,并且進(jìn)行完善的性能測試以及性能優(yōu)化。

[1]RapidIOTradeAssociation.RapidIOtechnologyoverviewandapplication[EB/OL].2008.http://www.rapidio.org/.

[2]RaviBudrukR,AndersonD,ShanT.PCIExpress系統(tǒng)體系結(jié)構(gòu)標(biāo)準(zhǔn)教材[M].北京:電子工業(yè)出版社,2005.

[3]InfiniBandTradeAssociation.AnInfiniBandtechnologyoverview[EB/OL].2008.http://www.infinibandta.org/.

[4] 張偉達(dá),黃芝平,唐貴林.基于PCIExpress的高速數(shù)據(jù)傳輸系統(tǒng)研究與開發(fā)[J].計算機測量與控制,2009,17(12):2555-2557.

[5] 馬 萍,唐衛(wèi)華,李緒志.基于PCIExpress總線高速數(shù)采卡的設(shè)計與實現(xiàn)[J].微計算機信息,2008,24(25):116-118.

[6] 王 偉,傅其祥.基于PCIe總線的超高速信號采集卡的設(shè)計[J].電子設(shè)計工程,2010,18(5):43-45.

[7] 李木國,黃 影,劉于之.基于FPGA的PCIe總線接口的DMA傳輸設(shè)計[J].計算機測量與控制,2013,21(1):233-235.

[8]KavianipourH,MuschterS,BohmC.HighperformanceFPGA-basedDMAinterfaceforPCIe[J].IEEETransactionsonNuclearScience,2012,61(2):1-3.

[9]MessagePassingInterfaceForum.MPI:amessage-passinginterfacestandardversion3.1[EB/OL].2015.http://www.mpi-forum.org/docs.

[10]GrahmL,ShipmanM,BarrenW,etal.OpenMPI:ahigh-performanceheterogeneousMPI[C]//Proceedingsof2006IEEEinternationalconferenceonclustercomputing.Piscataway,NJ:IEEE,2006:1-9.

[11]GroppW,LuskE,DossN,etal.MPICH:ahigh-performance,portableimplementationfortheMPImessage-passinginterface[J].ParallelComputing,1998,22(6):789-828.

[12]ArgonneNationalLaboratory.Hydraprocessmanagementframework[EB/OL].2009.http://wiki.mpich.org/mpich/in-dex.php/Hydra_Process_Management_Framework.

[13]KellerR,GrahamRL.CharacteristicsoftheunexpectedmessagequeueofMPIapplications[C]//Recentadvancesinthemessagepassinginterface-EuropeanMpiusersgroupmeeting.Stuttgart,Germany:[s.n.],2010:179-188.

Design and Implementation of an Efficient MPI Device Layer Extension Libraries

FANG Ling,LEI Yong-mei

(School of Computer Engineering and Science,Shanghai University,Shanghai 200072,China)

As a new generation of bus interface,PCI Express can support the concurrent data transmission between all kinds of devices,and each of these devices can establish their own transmission channel what is proprietary when it requires transmitting data,which makes the transmission of data more efficient.So PCI Express interconnect structure has also been applied to high performance areas.When Ethernet replaced by PCI Express,high speed transfer between different devices can be achieved,and the scale of the structure is effectively reduced,which can be well applied to the industry and other fields.But in order to run parallel programs based on this interconnect structure,it is necessary to design and implement the corresponding MPI device layer extension libraries,achieving that the process communication of different boards.The communication mode of control and data dual channel is presented taking advantage of the features of PCI Express interconnect structure and based on the function of MPICH PMI KVS space.Control information depends on reliable TCP to transmit and data information transmits via a high-speed PCI Express bus,so that efficient data transmission between heterogeneous systems can be implemented.The feasibility of device layer extension libraries is proved through the simulation experiment.

high performance;PCI Express interconnect structure;MPI device layer extension libraries;dual channel

2016-04-13

2016-08-02

時間:2017-01-10

國家“863”高技術(shù)發(fā)展計劃項目(2009AA012201);上海市科研計劃重大項目(08dz501600)

方 鈴(1989-),男,碩士研究生,研究方向為高性能計算;雷詠梅,博士,教授,研究方向為高性能計算。

http://www.cnki.net/kcms/detail/61.1450.TP.20170110.1028.072.html

TP302.1

A

1673-629X(2017)02-0006-05

10.3969/j.issn.1673-629X.2017.02.002

猜你喜歡
雙通道數(shù)據(jù)包進(jìn)程
二維隱蔽時間信道構(gòu)建的研究*
近端胃切除雙通道重建及全胃切除術(shù)用于胃上部癌根治術(shù)的療效
福建省醫(yī)保局率先上線省級“雙通道”電子處方流轉(zhuǎn)服務(wù)
民用飛機飛行模擬機數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
債券市場對外開放的進(jìn)程與展望
改革開放進(jìn)程中的國際收支統(tǒng)計
C#串口高效可靠的接收方案設(shè)計
電力信息網(wǎng)絡(luò)雙通道故障自動探測策略探究
智典DDR2 800 2GB/4GB
社會進(jìn)程中的新聞學(xué)探尋