亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OMNet++的大規(guī)模InfiniBand互連網(wǎng)絡(luò)模擬系統(tǒng)*

        2021-05-18 09:32:10錢德沛
        關(guān)鍵詞:模型

        汪 鑫,林 放,劉 軼,錢德沛

        (北京航空航天大學(xué)計(jì)算機(jī)學(xué)院,北京 100191)

        1 引言

        高性能計(jì)算系統(tǒng)廣泛應(yīng)用于災(zāi)害預(yù)測、環(huán)境監(jiān)控、基因工程和航空航天等領(lǐng)域。由于此類系統(tǒng)規(guī)模龐大、結(jié)構(gòu)復(fù)雜,其實(shí)際性能受到多方面因素的影響,如處理器、內(nèi)存和互連網(wǎng)絡(luò)等。因此,在系統(tǒng)設(shè)計(jì)階段,通過模擬的方法對高性能計(jì)算系統(tǒng)方案進(jìn)行性能評價(jià),從而對設(shè)計(jì)進(jìn)行改進(jìn),將大大節(jié)省經(jīng)濟(jì)和時(shí)間開銷。

        互連網(wǎng)絡(luò)是高性能計(jì)算機(jī)系統(tǒng)的重要組成部分,研發(fā)人員對并行程序運(yùn)行過程中互連網(wǎng)絡(luò)狀態(tài)和性能十分關(guān)注。近年來,以InfiniBand為代表的產(chǎn)品化高速互連網(wǎng)絡(luò)在高性能計(jì)算系統(tǒng)中應(yīng)用日益廣泛。統(tǒng)計(jì)數(shù)據(jù)[1,2]顯示,2019年11月發(fā)布的TOP500名單中,TOP100中采用InfiniBand的比例高達(dá)46%,同比2018年增長5%,其中排名前3的系統(tǒng)全部采用InfiniBand互連網(wǎng)絡(luò)。因此,對InfiniBand進(jìn)行建模模擬是很有必要的。

        在高性能互連網(wǎng)絡(luò)模擬方面通常的做法有數(shù)學(xué)建模法和仿真模擬法。數(shù)學(xué)建模法用參數(shù)刻畫網(wǎng)絡(luò)特征,建立網(wǎng)絡(luò)模型,模擬速度快,容易與高性能計(jì)算機(jī)模擬系統(tǒng)集成,但是誤差較大;仿真模擬方法可使用網(wǎng)絡(luò)模擬器(如OMNet++)完成,其優(yōu)點(diǎn)是可以較為精確地進(jìn)行網(wǎng)絡(luò)建模和模擬,但模擬過程中通信模式相對固定,難以模擬程序運(yùn)行過程中的網(wǎng)絡(luò)狀態(tài)和性能。提供一種模擬精度和效率較高,并且能夠模擬MPI程序運(yùn)行過程中互連網(wǎng)絡(luò)狀態(tài)的網(wǎng)絡(luò)模擬器是一個(gè)需要解決的問題。

        針對于此,本文設(shè)計(jì)了一種基于OMNet++網(wǎng)絡(luò)仿真框架的大規(guī)模InfiniBand互連網(wǎng)絡(luò)模擬系統(tǒng),該系統(tǒng)通過記錄的并行程序MPI消息來驅(qū)動(dòng)網(wǎng)絡(luò)仿真過程,可以較為準(zhǔn)確地模擬InfiniBand互連網(wǎng)絡(luò)在程序運(yùn)行過程中的性能表現(xiàn)。系統(tǒng)支持對不同拓?fù)浜退俾实腎nfiniBand互連網(wǎng)絡(luò)進(jìn)行模擬,并可與高性能計(jì)算機(jī)模擬系統(tǒng)集成。

        2 基于OMNet++的互連網(wǎng)絡(luò)模擬 系統(tǒng)

        2.1 網(wǎng)絡(luò)仿真框架OMNet++簡介

        OMNet++是一個(gè)離散事件仿真框架,具備全開源、高度模塊化和模塊可定制化等優(yōu)點(diǎn)。OMNet++將網(wǎng)絡(luò)抽象成不同簡單模塊和復(fù)合模塊的組合,提供Ned描述語言來快速定義網(wǎng)絡(luò)拓?fù)?,使用ini文件進(jìn)行網(wǎng)絡(luò)參數(shù)初始化,使用C++語言來定義仿真主體各個(gè)網(wǎng)絡(luò)模塊的行為。

        模塊之間通過門連接,通過消息通信,提供Send函數(shù)接口用于發(fā)送消息,handleMessage函數(shù)接口用于處理接收的消息。OMNet++提供CMDENV和QTENV 2種用戶仿真環(huán)境,前者以命令行方式運(yùn)行,多用于批處理模擬任務(wù);后者提供交互界面模式,可直觀地觀察仿真過程中消息的發(fā)送與接收。OMNet++框架如圖1所示。

        Figure 1 Framework of OMNet++圖1 OMNet++框架圖

        用戶主要通過定義網(wǎng)絡(luò)模塊的行為來實(shí)現(xiàn)網(wǎng)絡(luò)的模擬功能,比如數(shù)據(jù)包的接口轉(zhuǎn)發(fā)、擁塞控制等。在網(wǎng)絡(luò)仿真開始之前,進(jìn)行模塊初始化,即進(jìn)行各模塊參數(shù)的設(shè)置,同時(shí)確定模擬通信的形式,如點(diǎn)對點(diǎn)單消息通信或點(diǎn)對點(diǎn)消息集合通信,因?yàn)槭鞘录?qū)動(dòng)模擬,所以第1個(gè)事件的產(chǎn)生至關(guān)重要。仿真環(huán)境內(nèi)部維護(hù)1個(gè)事件隊(duì)列,模塊間通信時(shí),每進(jìn)行一次Send都會(huì)向事件隊(duì)列中添加事件,并且切換當(dāng)前仿真上下文(執(zhí)行操作的模塊),而并非直接到達(dá)目的模塊。然后依次從事件隊(duì)列中取出事件,若事件的所有者和當(dāng)前上下文一致,則執(zhí)行事件;若隊(duì)列為空,則模擬過程結(jié)束。

        2.2 設(shè)計(jì)思路

        現(xiàn)有OMNet++支持的工作方式,每次模擬都是對某次通信或者某種特定場景下消息序列通信的模擬,即仿真任務(wù)都是由配置文件提前配置好的。而要模擬并行程序運(yùn)行過程中的互連網(wǎng)絡(luò)狀態(tài),要求系統(tǒng)能以并行程序運(yùn)行過程中的消息傳輸作為模擬輸入,這在現(xiàn)有框架下難以實(shí)現(xiàn),需要對系統(tǒng)進(jìn)行擴(kuò)展,使其能夠在模擬過程中接收并行程序MPI消息,并以此驅(qū)動(dòng)互連網(wǎng)絡(luò)的模擬。

        一種簡單的設(shè)計(jì)是,每一次新的通信都更新一次配置文件,然后通過命令行方式(CMDENV)啟動(dòng)一次全新的網(wǎng)絡(luò)模擬,這樣也能實(shí)現(xiàn)對實(shí)時(shí)MPI消息的接收并進(jìn)行一次模擬。但是,這種設(shè)計(jì)有一個(gè)嚴(yán)重的問題,由于還是由配置文件確定的通信過程模擬,當(dāng)連續(xù)2次通信的信息(源節(jié)點(diǎn)、目的節(jié)點(diǎn)或消息大小)不一致時(shí),需要對文件進(jìn)行修改,即需要對文件不斷讀寫,這將是一個(gè)極大的開銷。同時(shí)還有每次對同樣網(wǎng)絡(luò)拓?fù)溥M(jìn)行重建帶來的不必要開銷。

        以上問題導(dǎo)致了現(xiàn)有的基于OMNet++實(shí)現(xiàn)的網(wǎng)絡(luò)仿真模型無法直接模擬并行程序執(zhí)行過程中的網(wǎng)絡(luò)狀態(tài)。為了模擬并行程序執(zhí)行過程中的網(wǎng)絡(luò)狀態(tài)和性能,需要解決以下2個(gè)問題:

        (1)系統(tǒng)能接收外部的MPI通信消息,并能以此消息為驅(qū)動(dòng),模擬互連網(wǎng)絡(luò)通信。

        (2)高性能計(jì)算機(jī)模擬器的通信模擬需求可能不是連續(xù)的,存在持續(xù)一段時(shí)間多次調(diào)用I/O操作的情況。在一次通信模擬結(jié)束之后,系統(tǒng)需要繼續(xù)等待外部消息的到來,而不是直接停止工作。

        2.3 互連網(wǎng)絡(luò)模擬系統(tǒng)結(jié)構(gòu)

        為了實(shí)現(xiàn)由外部MPI通信消息驅(qū)動(dòng)的網(wǎng)絡(luò)仿真系統(tǒng),本文在原來的網(wǎng)絡(luò)模型中,增加了管理節(jié)點(diǎn)。管理節(jié)點(diǎn)和每一個(gè)模擬節(jié)點(diǎn)相連,不參與網(wǎng)絡(luò)模擬通信的過程,只接收消息接口轉(zhuǎn)發(fā)的外部節(jié)點(diǎn)MPI通信模擬請求,并根據(jù)消息的起始節(jié)點(diǎn)分發(fā)消息。通信仿真時(shí)延通過模擬節(jié)點(diǎn)發(fā)送給管理節(jié)點(diǎn),并由管理節(jié)點(diǎn)返回給消息接口。

        Figure 2 Structure of the interconnection network simulation system based on OMNet++圖2 基于OMNet++的互連網(wǎng)絡(luò)模擬系統(tǒng)總體結(jié)構(gòu)

        同時(shí)為了滿足高性能計(jì)算機(jī)模擬系統(tǒng)的實(shí)時(shí)MPI通信模擬請求,本文在CMDENV仿真環(huán)境基礎(chǔ)上實(shí)現(xiàn)了CCMDENV(Connectable CMDENV)仿真環(huán)境接口。區(qū)別于OMNet++的仿真環(huán)境接口,在實(shí)現(xiàn)上,CCMDENV設(shè)計(jì)事件隊(duì)列為空時(shí)不直接停止,而是以指定的頻率輪詢隊(duì)列,繼續(xù)等待事件到來。同時(shí)對管理節(jié)點(diǎn)增加分發(fā)消息標(biāo)識,使之不會(huì)影響當(dāng)前正在進(jìn)行的通信模擬。

        基于OMNet++的互連網(wǎng)絡(luò)模擬系統(tǒng)總體結(jié)構(gòu)如圖2所示。并行程序在真實(shí)的高性能計(jì)算系統(tǒng)中運(yùn)行,使用PMPI(MPI Profiling Interface)[3]接口捕獲每個(gè)通信函數(shù),獲取函數(shù)的MPI消息信封(包括源進(jìn)程號、目的進(jìn)程號和數(shù)據(jù)大小等)并輸入至外部節(jié)點(diǎn),外部節(jié)點(diǎn)存儲這些MPI通信消息,并發(fā)起通信模擬請求。消息接口用來接收外部節(jié)點(diǎn)通信請求以及進(jìn)行仿真請求的轉(zhuǎn)發(fā),同時(shí)接收仿真結(jié)果。網(wǎng)絡(luò)配置包括網(wǎng)絡(luò)拓?fù)浜途W(wǎng)絡(luò)參數(shù)(鏈路帶寬、網(wǎng)絡(luò)擁塞等)的設(shè)置。系統(tǒng)通過Ned文件配置網(wǎng)絡(luò)拓?fù)湫畔?,通過ini文件配置網(wǎng)絡(luò)參數(shù)信息。用戶通過網(wǎng)絡(luò)配置模塊生成Ned文件和ini文件。模擬節(jié)點(diǎn)作為網(wǎng)絡(luò)仿真主機(jī)節(jié)點(diǎn),進(jìn)行仿真消息的發(fā)送與接收。仿真內(nèi)核和模型組件庫用來支持OMNet++仿真。

        根據(jù)圖2,網(wǎng)絡(luò)模擬系統(tǒng)的具體工作流程如下所示:

        (1)消息接口接收外部節(jié)點(diǎn)通信模擬請求,如果此時(shí)模型未啟動(dòng),則通過仿真環(huán)境接口啟動(dòng)仿真模型,配置網(wǎng)絡(luò)參數(shù),初始化模型組件;

        (2)消息接口將通信模擬請求發(fā)送給管理節(jié)點(diǎn),管理節(jié)點(diǎn)根據(jù)進(jìn)程與節(jié)點(diǎn)的分布關(guān)系,以及源進(jìn)程號和目的進(jìn)程號,解析通信消息的起始節(jié)點(diǎn),將消息分發(fā)給對應(yīng)的模擬節(jié)點(diǎn);

        (3)模擬節(jié)點(diǎn)根據(jù)通信消息的目的節(jié)點(diǎn)、消息大小等信息,生成仿真通信消息并發(fā)送;

        (4)目的節(jié)點(diǎn)接收到仿真通信消息,將本次通信時(shí)延等信息發(fā)回管理節(jié)點(diǎn),管理節(jié)點(diǎn)再將其發(fā)回消息接口,由消息接口傳回外部節(jié)點(diǎn)。

        3 InfiniBand網(wǎng)絡(luò)的建模與模擬

        3.1 HCA和Switch模型

        針對InfiniBand網(wǎng)絡(luò)的分析,本文將網(wǎng)絡(luò)簡化成由主機(jī)通道適配器HCA(Host Channel Adapter)、交換機(jī)(Switch)和鏈路構(gòu)成,并做以下假設(shè):

        (1)交換機(jī)工作為流水線模型;

        (2)假設(shè)交換機(jī)轉(zhuǎn)發(fā)采取虛切通的工作方式,在虛切通模式下,交換機(jī)接收到包頭之后即可進(jìn)行接口轉(zhuǎn)發(fā),無需等待完整數(shù)據(jù)包接收完畢;

        (3)每個(gè)交換機(jī)含有M個(gè)輸入輸出端口,每個(gè)端口有N個(gè)虛擬鏈路VL(Virtual Link),并對每個(gè)輸入輸出端口建立FCFS隊(duì)列;

        (4)交換機(jī)對不同數(shù)據(jù)包進(jìn)行路由、仲裁等處理的時(shí)延為固定時(shí)延。

        主機(jī)(HCA)和交換機(jī)(Switch)模型如圖3所示,模型中各模塊的含義如表1所示。

        Figure 3 Model of HCA and Switch圖3 HAC和Switch模型

        Table 1 Illustration and function of each module

        在HCA模型中,每個(gè)HCA包含消息產(chǎn)生模塊(app)、包生成模塊(gen)、輸入輸出緩沖模塊、消息接收模塊(sink)和仲裁模塊。app產(chǎn)生消息,消息包含消息大小以及通信的源節(jié)點(diǎn)、目的節(jié)點(diǎn),產(chǎn)生的消息進(jìn)入gen模塊。gen將消息進(jìn)行分包和分片,然后進(jìn)入vlarb模塊。vlarb根據(jù)消息的目的節(jié)點(diǎn)分配VL,進(jìn)入obuf排隊(duì)或者直接輸出;同時(shí)vlarb接收ibuf與遠(yuǎn)程目的節(jié)點(diǎn)協(xié)商的可接收的消息緩沖大小進(jìn)行鏈路控制。obuf根據(jù)vlarb的仲裁消息,決定隊(duì)列消息的發(fā)送;ibuf則接收外部節(jié)點(diǎn)信息,以及接收目的節(jié)點(diǎn)的流量控制信息。

        交換機(jī)模型由交換機(jī)端口模塊、交換機(jī)端口轉(zhuǎn)發(fā)表和交換機(jī)開關(guān)組成。交換機(jī)端口轉(zhuǎn)發(fā)表在網(wǎng)絡(luò)拓?fù)涑跏蓟^程中建立,存儲交換機(jī)到所有計(jì)算節(jié)點(diǎn)(HCA)的轉(zhuǎn)發(fā)端口列表,因?yàn)榫W(wǎng)絡(luò)拓?fù)涞脑?,交換機(jī)到計(jì)算節(jié)點(diǎn)可能存在多個(gè)不同的轉(zhuǎn)發(fā)端口。交換機(jī)端口模型包含ibuf、obuf和vlarb模塊,obuf為輸出緩沖,進(jìn)行消息排隊(duì)和輸出;ibuf接收節(jié)點(diǎn)數(shù)據(jù)消息和鏈路控制信息;vlarb則進(jìn)行obuf隊(duì)列輸出和鏈路控制。

        3.2 消息建模

        為了實(shí)現(xiàn)消息的接收、發(fā)送與鏈路控制,需要針對不同類型的消息進(jìn)行建模。主要消息類型及其作用說明如表2所示。

        Table 2 Illustration and function of messages表2 消息類型及其作用說明

        3.3 路由算法實(shí)現(xiàn)

        對互連網(wǎng)絡(luò)模擬的很重要的一部分包括路由算法的實(shí)現(xiàn)。當(dāng)前主流的互連網(wǎng)絡(luò)路由算法主要有OpenSM[4]中提供的7種:Min Hop、UPDN(UP/Down)、 DNUP(Down/UP)、 胖樹(Fat Tree)、LASH(LAyered SHortest path routing)、 DOR(Dimension Order Routing)和Torus-2Qos。InfiniBand是當(dāng)前高性能計(jì)算使用最多的高性能互連網(wǎng)絡(luò),而胖樹拓?fù)鋭t是InfiniBand互連網(wǎng)絡(luò)的主要拓?fù)浣Y(jié)構(gòu)。本文針對胖樹拓?fù)?,?shí)現(xiàn)了針對該拓?fù)涞穆酚伤惴‵at-Tree。該算法利用胖樹的分層結(jié)構(gòu)特性,避免了環(huán)路路由的問題。胖樹結(jié)構(gòu)中,層級越小則表示靠近根部節(jié)點(diǎn)。路由表在模塊初始化、仿真開始之前建立,算法如算法1所示。

        算法1路由表建立

        1forleavlinL→0:

        2forswinswitchList[level]:

        3sw.upSwitch←send(hcaList,port);

        4forlevelin 0→L:

        5forswinswitchList[level]:

        6sw.downSwitch←Syn(pktForwardList)

        4 實(shí)驗(yàn)與結(jié)果分析

        4.1 實(shí)驗(yàn)環(huán)境與測試方法

        為了驗(yàn)證模擬的精度,本文從高性能集群中采集真實(shí)的通信時(shí)延,將系統(tǒng)模擬時(shí)延結(jié)果與實(shí)際集群節(jié)點(diǎn)通信時(shí)延作對比。集群配置和仿真主機(jī)配置如表3所示。

        Table 3 Parameters of cluster and simulation host表3 集群和仿真主機(jī)配置

        Figure 4 Communication latany of kinds of messages圖4 不同消息長度的通信時(shí)延

        由于集群限制,大多高性能集群的設(shè)計(jì)都是通過一臺InfiniBand交換機(jī)作為根部節(jié)點(diǎn),計(jì)算節(jié)點(diǎn)與InfiniBand交換機(jī)直接相連。實(shí)驗(yàn)數(shù)據(jù)采集于此種集群結(jié)構(gòu);為了減少通信誤差,實(shí)驗(yàn)以2個(gè)節(jié)點(diǎn)之間50次通信時(shí)延的算術(shù)平均值作為通信時(shí)延。通信消息在B、KB和MB 3個(gè)單位下分別選取1,4,16,64和256共5種長度。

        4.2 實(shí)驗(yàn)結(jié)果分析

        實(shí)驗(yàn)結(jié)果如圖4所示。其中圖4a~圖4c分別給出了當(dāng)通信消息單位分別為B、KB和MB時(shí),從實(shí)際集群采集的通信時(shí)延和互連網(wǎng)絡(luò)模擬系統(tǒng)模擬時(shí)延。從圖4a可以看出,當(dāng)消息較小時(shí)(1 B,4 B和16 B),集群通信時(shí)延相差不大。這主要是因?yàn)椴杉瘯r(shí)延為MPI通信時(shí)延,MPI環(huán)境通信本身需要額外的開銷,而小消息通信時(shí)延相對來說可忽略不計(jì)。模擬系統(tǒng)因?yàn)椴捎昧俗钚∠㈤L度(1 024 B),不足則按最小長度計(jì)算,所以在測量區(qū)間內(nèi)模擬結(jié)果不變。當(dāng)消息長度增大時(shí),集群通信時(shí)延和模擬系統(tǒng)模擬時(shí)延結(jié)果相差不大,當(dāng)消息大小上升為MB級別時(shí),如圖4c所示,模擬結(jié)果和實(shí)際集群采集時(shí)延較為吻合,只有在特大通信消息時(shí)(256 MB),出現(xiàn)了一定的差距。這主要是因?yàn)榫W(wǎng)絡(luò)通信的復(fù)雜性,網(wǎng)絡(luò)并不會(huì)長時(shí)間保持相同的擁塞情況。當(dāng)通信過程持續(xù)時(shí)間較長時(shí),通信過程受到網(wǎng)絡(luò)干擾的可能也隨之增加。

        由于集群通信采集時(shí)延是MPI通信時(shí)延,MPI通信本身有通信開銷,當(dāng)通信消息很小時(shí),網(wǎng)絡(luò)通信時(shí)延相比MPI通信接口初始化開銷占比較小,故本文把實(shí)際集群小消息通信時(shí)延作為MPI本身開銷。把MPI開銷作為修正因子加入模擬系統(tǒng)中,圖4d~圖4f表示加入修正因子之后的模擬結(jié)果。

        4.3 性能分析

        為了分析互連網(wǎng)絡(luò)模擬系統(tǒng)的性能,實(shí)驗(yàn)分別記錄不同長度消息的通信仿真所需實(shí)際時(shí)間。過小的通信消息,仿真所需時(shí)間短,故而受外部不穩(wěn)定因素影響波動(dòng)較大,所以不做討論。本實(shí)驗(yàn)主要采集單位為KB的消息,長度分別取64 KB,128 KB,256 KB, 512 KB,1 024 KB和2 048 KB,仿真所需時(shí)間均取多次實(shí)驗(yàn)的算數(shù)平均值,以降低實(shí)驗(yàn)誤差。實(shí)驗(yàn)結(jié)果如圖5所示。

        Figure 5 Time required for simulation圖5 仿真實(shí)際所需時(shí)間

        圖5結(jié)果顯示,仿真所需時(shí)間與仿真消息大小基本成正比關(guān)系。這是因?yàn)橄到y(tǒng)是以消息驅(qū)動(dòng)的模擬仿真,當(dāng)通信消息成倍增長時(shí),產(chǎn)生的仿真消息也是成倍增長,因而仿真所需時(shí)間也是成倍增加。在消息大小為64 KB,128 KB和256 KB時(shí),仿真所需時(shí)間本身也很小,因而測量時(shí)間波動(dòng)較大,所以和消息大小在1 MB和2 MB時(shí)的時(shí)間比率有稍微偏差??傮w來看,仿真所需時(shí)間較短,效率較高。

        從趨勢看,當(dāng)消息長度為256 MB時(shí),仿真時(shí)間將達(dá)到分鐘級別。但是,實(shí)際通信過程中,這類大消息不經(jīng)常出現(xiàn),同時(shí)仿真所需時(shí)間本身也與進(jìn)行仿真的主機(jī)配置相關(guān),所以不影響本模擬系統(tǒng)的正常使用。

        5 相關(guān)工作

        互連網(wǎng)絡(luò)模擬方法通常分為2種:一是通過抽象互連網(wǎng)絡(luò)特征,用參數(shù)模型來刻畫互連網(wǎng)絡(luò),進(jìn)行數(shù)學(xué)參數(shù)建模;二是通過離散事件來模擬網(wǎng)絡(luò)行為,進(jìn)行仿真模擬。

        在數(shù)學(xué)建模方面,最典型的是以LogP[5]為基礎(chǔ)的一系列簡易參數(shù)模型。LogP模型使用4個(gè)參數(shù):互連網(wǎng)絡(luò)單次通信時(shí)延的上限(L)、處理器處理消息開銷(o)、連續(xù)消息傳輸之間的間隔(g)和處理器數(shù)量(P),來刻畫互連網(wǎng)絡(luò)的整體通信時(shí)延。與LogP相比,Alexandrov等人[6]提出的LogGP模型添加了一個(gè)附加參數(shù)G,即長消息中2個(gè)連續(xù)字節(jié)之間的間隙。該模型模擬了大多數(shù)網(wǎng)絡(luò)相對快速地傳輸大型消息的能力,使得每個(gè)字節(jié)的成本度量(G)比在LogP建模中多個(gè)小消息建模方式(受G限制)更精確。LoPC[7]在LogP模型的基礎(chǔ)上考慮了在多處理器或工作站網(wǎng)絡(luò)上并行算法對消息處理資源的爭奪,LoPC直接從LogP模型中獲取L、o和P參數(shù),并使用它們來預(yù)測爭用成本C。LoGPC[8]擴(kuò)展了LogP和LogGP,以考慮網(wǎng)絡(luò)爭用和網(wǎng)絡(luò)接口DMA行為對消息傳遞程序性能的影響。LogGPS[9]模型將發(fā)送方同步添加到模型中,大消息的傳遞通常是通過向接收方發(fā)送小的控制消息來檢查是否有足夠的緩沖來執(zhí)行的。會(huì)合協(xié)議使發(fā)送方與接收方同步,在接收方準(zhǔn)備好接收消息之前,不能發(fā)送消息。S為消息長度的閾值,超過該閾值則采用同步協(xié)議,以分析同步對通信成本的影響。Hoefler等人[10]在LogfP模型中針對基于InfiniBand的小消息建模,增加參數(shù)f表示可同時(shí)發(fā)送的最大消息數(shù)量。

        除了LogP系列模型外,還有對互連網(wǎng)絡(luò)進(jìn)行整體數(shù)學(xué)建模的方法。文獻(xiàn)[11]運(yùn)用排隊(duì)論針對交換端口建立排隊(duì)模型,進(jìn)而建立了虛切通方式下的鏈路延時(shí)模型,最后分別針對不同拓?fù)浣⒉煌穆酚赡P停玫阶罱K網(wǎng)絡(luò)排隊(duì)延時(shí)模型。高性能計(jì)算機(jī)系統(tǒng)模擬器SimHPC[12]集成了文獻(xiàn)[11]的方法,作為其互連網(wǎng)絡(luò)模擬系統(tǒng)。

        數(shù)學(xué)建模方法的參數(shù)少則模型過于簡單,會(huì)導(dǎo)致誤差太大;參數(shù)多則模型復(fù)雜,求解時(shí)間長。與之相對的仿真模擬方法,精度更高且適用性更廣,但模擬時(shí)間比數(shù)學(xué)建模方法長。近年來,隨著計(jì)算機(jī)性能的提升,采用仿真模擬的方法所需時(shí)間不再是不可接受,較之仿真精度高,使用仿真法模擬互連網(wǎng)絡(luò)的比例逐步上升。

        文獻(xiàn)[13]針對InfiniBand互連網(wǎng)絡(luò),使用OMNet++建立網(wǎng)絡(luò)仿真模型,然而卻沒有對路由建模,使用固定端口轉(zhuǎn)發(fā)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)模擬。Liu等人[14]提出了一個(gè)針對Fat-Tree互連網(wǎng)絡(luò)建模的模擬器FatTreeSim,分別從胖樹拓?fù)?、胖樹流量和胖樹路由等方面對網(wǎng)絡(luò)進(jìn)行建模,采用離散事件驅(qū)動(dòng)的仿真方法,但是該方法是基于PDES工具包實(shí)現(xiàn)的,不利于與高性能計(jì)算機(jī)模擬器集成。OMNet++實(shí)現(xiàn)的片級InfiniBand模擬器[15],同樣沒有對路由算法建模,而且不支持最近主流的EDR網(wǎng)絡(luò),僅能支持FDR的模擬。

        6 結(jié)束語

        高性能計(jì)算系統(tǒng)模擬器對高性能計(jì)算機(jī)的研發(fā)與調(diào)優(yōu)有著至關(guān)重要的作用,對其中互連網(wǎng)絡(luò)的模擬也是不可或缺的一部分。本文設(shè)計(jì)了一種基于OMNet++網(wǎng)絡(luò)仿真框架的大規(guī)模InfiniBand互連網(wǎng)絡(luò)模擬系統(tǒng),該系統(tǒng)通過記錄的并行程序MPI消息來驅(qū)動(dòng)網(wǎng)絡(luò)仿真過程,使OMNet++支持以外部消息為驅(qū)動(dòng)的網(wǎng)絡(luò)仿真。系統(tǒng)可做為高性能計(jì)算模擬器的網(wǎng)絡(luò)部分模擬,而不必每次都進(jìn)行新配置文件讀寫、網(wǎng)絡(luò)配置等操作。同時(shí)OMNet++網(wǎng)絡(luò)模型不必是InfiniBand互連網(wǎng)絡(luò),其他使用OMNet++仿真框架的網(wǎng)絡(luò)模型,同樣可以使用本文設(shè)計(jì)的互連網(wǎng)絡(luò)模擬系統(tǒng)實(shí)現(xiàn)由外部消息驅(qū)動(dòng)的網(wǎng)絡(luò)仿真。

        后續(xù)改進(jìn)將針對模擬器的模擬效率展開,系統(tǒng)在針對大消息通信模擬時(shí)所需時(shí)間還有待改進(jìn)。同時(shí),需要增加路由算法的其他實(shí)現(xiàn),因?yàn)榫W(wǎng)絡(luò)拓?fù)涞亩鄻有?,選擇的路由算法應(yīng)有不同,OpenSM中提供的路由算法亦是如此。

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務(wù)本地化模型
        適用于BDS-3 PPP的隨機(jī)模型
        提煉模型 突破難點(diǎn)
        函數(shù)模型及應(yīng)用
        p150Glued在帕金森病模型中的表達(dá)及分布
        函數(shù)模型及應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        3D打印中的模型分割與打包
        亚洲av无码精品色午夜果冻不卡| 国产91精品一区二区麻豆亚洲| 国产精品视频自拍在线| 色一情一乱一伦| 国产精品露脸视频观看| 久久AⅤ无码精品色午麻豆| 亚洲中文中文字幕乱码| 中文字幕日韩人妻在线视频| 伊人久久五月丁香综合中文亚洲 | 国产精品免费看久久久无码| 日本不卡在线视频二区三区| 青草蜜桃视频在线观看| 色噜噜亚洲精品中文字幕| 久久精品国产亚洲av果冻传媒| 日韩内射美女人妻一区二区三区 | 色中文字幕在线观看视频| 乱人伦人妻中文字幕无码| 亚洲熟妇一区无码| 国产喷白浆精品一区二区豆腐| 一区二区三区美女免费视频| 亚洲色欲久久久综合网| 国产成人一区二区三区免费观看| 国产91在线精品观看| 帅小伙自慰videogay男男| 久久精品国产自清天天线| 91久国产在线观看| 亚洲av成熟国产一区二区 | 国产免费av手机在线观看片| 国产涩涩视频在线观看| 国产精品美女黄色av| 少妇精品揄拍高潮少妇桃花岛| 久久精品国产自在天天线| 美女胸又www又黄的网站| 久久伊人中文字幕有码久久国产| 操风骚人妻沉沦中文字幕| 国产无遮挡无码视频免费软件| 国产精品高潮av有码久久| 高清中文字幕一区二区三区| 国产在线精品一区二区中文| 欧美性猛交xxxx乱大交蜜桃 | 亚洲无精品一区二区在线观看|