劉 露,黃海于
(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 611756)
隨著計(jì)算機(jī)仿真技術(shù)被廣泛應(yīng)用到科研和開(kāi)發(fā)領(lǐng)域,仿真任務(wù)的計(jì)算量變得也越來(lái)越大,對(duì)仿真技術(shù)的高效性、精確性、可靠性等要求也越來(lái)越高,因此與分布式仿真有關(guān)的技術(shù)的研究也成為當(dāng)前仿真領(lǐng)域熱門的研究方向之一[1].分布式體系結(jié)構(gòu)給仿真帶來(lái)便利的同時(shí),也帶來(lái)了一些影響仿真系統(tǒng)整體性能至關(guān)重要的因素[2].在分布式構(gòu)架下,通訊的使用引入了一些必須加以重新考慮的方面[3],包括系統(tǒng)體系結(jié)構(gòu)、時(shí)間延遲、通訊調(diào)度、系統(tǒng)的可重構(gòu)性、維護(hù)靈活性、容錯(cuò)能力、模塊間同步以及系統(tǒng)整體性能的保證等[4].
本研究的高速列車數(shù)字化仿真平臺(tái)是基于C/S模式的分布式仿真體系結(jié)構(gòu),其主要的功能模塊包括主控模塊、前處理模塊、耦合計(jì)算模塊、后處理模塊和系統(tǒng)管理模塊[5].為了保證多子系統(tǒng)耦合后的整體仿真效率,仿真平臺(tái)部署在由高速網(wǎng)絡(luò)連接的分布式計(jì)算環(huán)境中.
高速列車數(shù)字化仿真過(guò)程中,數(shù)據(jù)存儲(chǔ)扮演著非常重要的角色,它為仿真過(guò)程分析提供了必需的數(shù)據(jù),為仿真結(jié)果的事后測(cè)試與評(píng)估提供了極大的幫助[6].該仿真平臺(tái)的仿真過(guò)程監(jiān)視子系統(tǒng)用于對(duì)仿真過(guò)程數(shù)據(jù)的監(jiān)視,其主要功能是從數(shù)據(jù)庫(kù)獲取仿真過(guò)程中產(chǎn)生的數(shù)據(jù),并通過(guò)獨(dú)立的計(jì)算過(guò)程監(jiān)視系統(tǒng)對(duì)這些數(shù)據(jù)進(jìn)行圖形化展示,以便及時(shí)發(fā)現(xiàn)計(jì)算中出現(xiàn)的問(wèn)題,提高應(yīng)用效率[5].
高速列車數(shù)字化仿真平臺(tái)是國(guó)家支撐計(jì)劃項(xiàng)目,本研究主要完成了仿真平臺(tái)架構(gòu)的創(chuàng)建,承擔(dān)調(diào)度器、耦合器、代理子系統(tǒng)、圖形建模和數(shù)據(jù)監(jiān)控等幾個(gè)子系統(tǒng)的研究.
本研究從性能提升的角度對(duì)仿真平臺(tái)的數(shù)據(jù)存儲(chǔ)進(jìn)行了探討.為提高仿真數(shù)據(jù)的傳輸效率,仿真平臺(tái)采用UDP 通信.經(jīng)過(guò)測(cè)試發(fā)現(xiàn),通過(guò)不同子系統(tǒng)存儲(chǔ)仿真過(guò)程產(chǎn)生的數(shù)據(jù)對(duì)平臺(tái)仿真性能的影響是不同的.其對(duì)系統(tǒng)仿真性能的影響主要體現(xiàn)在仿真過(guò)程數(shù)據(jù)的產(chǎn)生、傳輸、處理與存儲(chǔ)等方面.
仿真過(guò)程產(chǎn)生的數(shù)據(jù)大部分來(lái)源于分布在不同計(jì)算資源的任務(wù)執(zhí)行模塊(以下簡(jiǎn)稱執(zhí)行機(jī)),為了使其他執(zhí)行機(jī)獲得下一步仿真所需要的計(jì)算數(shù)據(jù),這些執(zhí)行機(jī)將每一步仿真的結(jié)果發(fā)送給耦合器,耦合器根據(jù)耦合關(guān)系表將所收到的數(shù)據(jù)發(fā)送給需要這些數(shù)據(jù)的執(zhí)行機(jī).一個(gè)完整的仿真計(jì)算過(guò)程具體描述如下:
1)數(shù)據(jù)的產(chǎn)生.當(dāng)耦合器代理啟動(dòng)耦合器、計(jì)算資源代理啟動(dòng)任務(wù)執(zhí)行模塊之后,執(zhí)行機(jī)執(zhí)行每一步數(shù)據(jù)的仿真計(jì)算,并將計(jì)算結(jié)果打包,以備發(fā)送給耦合器進(jìn)行數(shù)據(jù)分發(fā),這個(gè)過(guò)程稱之為數(shù)據(jù)的產(chǎn)生.
2)數(shù)據(jù)的傳輸.執(zhí)行機(jī)把每一步仿真過(guò)程數(shù)據(jù)傳輸給耦合器,耦合器又將每一步仿真過(guò)程數(shù)據(jù)傳輸給執(zhí)行機(jī),此過(guò)程為仿真過(guò)程數(shù)據(jù)的傳輸.
3)數(shù)據(jù)的處理.執(zhí)行機(jī)將計(jì)算出的仿真結(jié)果數(shù)據(jù)進(jìn)行打包以備發(fā)送,此過(guò)程為仿真過(guò)程數(shù)據(jù)的打包處理;系統(tǒng)中任何一個(gè)子系統(tǒng)將接收到的數(shù)據(jù)包進(jìn)行拆包,得到可用的仿真過(guò)程數(shù)據(jù),此過(guò)程為仿真過(guò)程數(shù)據(jù)的解析處理;耦合器通過(guò)計(jì)算將收到的數(shù)據(jù)傳送給執(zhí)行機(jī),此過(guò)程為仿真過(guò)程數(shù)據(jù)的分發(fā)處理.
4)數(shù)據(jù)的存儲(chǔ).將仿真過(guò)程數(shù)據(jù)存入數(shù)據(jù)庫(kù)中,此過(guò)程為仿真過(guò)程數(shù)據(jù)的存儲(chǔ).
由于本仿真平臺(tái)不同模塊在執(zhí)行時(shí)可能分布在不同的計(jì)算資源上,其數(shù)據(jù)發(fā)送、接收及處理可以相互獨(dú)立,并行進(jìn)行.同時(shí)執(zhí)行機(jī)、耦合器、數(shù)據(jù)監(jiān)控3個(gè)模塊之間的數(shù)據(jù)交互也不是絕對(duì)串行的,因此仿真一步所需要的時(shí)間并不是單純將每一個(gè)過(guò)程所消耗的時(shí)間進(jìn)行求和得到,而是要進(jìn)行嚴(yán)密的邏輯分析.另一方面,對(duì)于分布式系統(tǒng),沒(méi)有一個(gè)全局的時(shí)鐘,大多數(shù)情況下需要通過(guò)事件發(fā)生的先后順序,引入“邏輯時(shí)鐘”,然后由邏輯時(shí)鐘提供邏輯時(shí)間保證所有進(jìn)程保持事件前后的一致性[7].
結(jié)合高速列車數(shù)字化仿真平臺(tái)的體系架構(gòu)和具體工作原理,平臺(tái)可以采用耦合器存儲(chǔ)、執(zhí)行機(jī)存儲(chǔ)和數(shù)據(jù)監(jiān)控子系統(tǒng)存儲(chǔ)3 種方式存儲(chǔ)仿真過(guò)程數(shù)據(jù).主要參數(shù)定義如下:
1)Tpi[j].表示執(zhí)行機(jī)i 在進(jìn)行第j 步計(jì)算時(shí)所需時(shí)間.
2)Tbci[j].表示耦合器對(duì)執(zhí)行機(jī)i 第j 步仿真輸出數(shù)據(jù)進(jìn)行分發(fā)計(jì)算處理所需時(shí)間.
3)Tbei[j].表示執(zhí)行機(jī)i 對(duì)第j 步仿真輸出數(shù)據(jù)進(jìn)行打包處理時(shí)所需時(shí)間.
4)Tuci[j].表示耦合器對(duì)執(zhí)行機(jī)i 的第j 步仿真輸出數(shù)據(jù)進(jìn)行解析處理時(shí)所需時(shí)間.
5)Tumi[j].表示數(shù)據(jù)監(jiān)控對(duì)執(zhí)行機(jī)i 的第j 步仿真輸出數(shù)據(jù)進(jìn)行解析處理時(shí)所需時(shí)間.
6)Teci[j].表示執(zhí)行機(jī)i 將第j 步仿真輸出數(shù)據(jù)發(fā)送到耦合器時(shí)所需時(shí)間,該時(shí)間還包括數(shù)據(jù)在發(fā)送隊(duì)列等待的時(shí)間(該時(shí)間與耦合器接收?qǐng)?zhí)行機(jī)i第j 步仿真數(shù)據(jù)所需時(shí)間基本相同).
7)Tcei[j].表示耦合器將第j 步仿真輸入數(shù)據(jù)發(fā)送到執(zhí)行機(jī)i 所需時(shí)間,該時(shí)間還包括數(shù)據(jù)在發(fā)送隊(duì)列中等待的時(shí)間(該時(shí)間與執(zhí)行機(jī)i 接收耦合器發(fā)送給該執(zhí)行機(jī)第j 步仿真輸入數(shù)據(jù)所需時(shí)間基本相同).
8)Temi[j].表示執(zhí)行機(jī)i 將第j 步仿真輸出數(shù)據(jù)發(fā)送到數(shù)據(jù)監(jiān)控子系統(tǒng)所需時(shí)間,該時(shí)間還包括數(shù)據(jù)在發(fā)送隊(duì)列中等待的時(shí)間(該時(shí)間與數(shù)據(jù)監(jiān)控接收?qǐng)?zhí)行機(jī)i 第j 步仿真輸出數(shù)據(jù)所需時(shí)間基本相同).
9)Twei[j].表示執(zhí)行機(jī)i 將第j 步仿真輸出數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)所需時(shí)間,該時(shí)間還包括數(shù)據(jù)在存儲(chǔ)隊(duì)列中等待的時(shí)間.
10)Twci[j].表示耦合器將執(zhí)行機(jī)i 的第j 步仿真輸出數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)所需時(shí)間,該時(shí)間還包括數(shù)據(jù)在存儲(chǔ)隊(duì)列中等待的時(shí)間.
11)Twmi[j].表示數(shù)據(jù)監(jiān)控將執(zhí)行機(jī)i 的第j 步仿真輸出數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)所需時(shí)間,該時(shí)間還包括數(shù)據(jù)在存儲(chǔ)隊(duì)列中等待的時(shí)間.
1.2.1 耦合器存儲(chǔ)仿真過(guò)程數(shù)據(jù)對(duì)仿真性能的影響.
耦合器是耦合數(shù)據(jù)的處理和收發(fā)集散中心,所有耦合數(shù)據(jù)都向其匯集并經(jīng)其分發(fā)到各子系統(tǒng)[6].執(zhí)行機(jī)和耦合器之間的數(shù)據(jù)交互方式如圖1 所示.

圖1 任務(wù)執(zhí)行機(jī)和耦合器的交互關(guān)系
由圖1 可知,每一個(gè)執(zhí)行機(jī)和耦合器都是一個(gè)獨(dú)立執(zhí)行的進(jìn)程,因此對(duì)數(shù)據(jù)的處理都是獨(dú)立進(jìn)行的,但是耦合器計(jì)算分發(fā)數(shù)據(jù)時(shí)采用串行方式.
根據(jù)仿真計(jì)算過(guò)程中數(shù)據(jù)歷經(jīng)的4 個(gè)過(guò)程,采用耦合器來(lái)存儲(chǔ)一步仿真過(guò)程數(shù)據(jù)需要耗費(fèi)的時(shí)間由下面4 個(gè)部分構(gòu)成:
1)執(zhí)行機(jī)計(jì)算第j 步仿真輸出數(shù)據(jù)所需時(shí)間Tpi[j].
2)耦合器處理第j 步數(shù)據(jù)所需時(shí)間Tdci[j],該時(shí)間包括Tuci[j]、Tbei[j]及Tbci[j].該系統(tǒng)中,數(shù)據(jù)打包、數(shù)據(jù)解析及數(shù)據(jù)分發(fā)處理均通過(guò)多線程并行處理,運(yùn)行在不同的CPU 核上,因此Tdci[j] =max(Tbei[j],Tuci[j],Tbci[j]).
4)耦合器將第j 步數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)所需時(shí)間Twci[j].
上述過(guò)程中,有些操作是在執(zhí)行機(jī)上完成的,有些操作是在耦合器上完成的.二者分布在不同的計(jì)算機(jī)上,因此可以并行執(zhí)行.即使運(yùn)行在同一臺(tái)計(jì)算機(jī)上,由于數(shù)據(jù)的處理可以通過(guò)多個(gè)CPU 核分別執(zhí)行,因此也可以并行執(zhí)行.數(shù)據(jù)的收發(fā)以及數(shù)據(jù)的處理也可以并行執(zhí)行.所以耦合器完成一步數(shù)據(jù)仿真及存儲(chǔ)所需時(shí)間為,

其中,N 為執(zhí)行機(jī)的個(gè)數(shù).可以看出,當(dāng)任務(wù)增多時(shí),執(zhí)行機(jī)之間耦合關(guān)系復(fù)雜程度會(huì)相應(yīng)增加,由于存儲(chǔ)數(shù)據(jù)參與到仿真過(guò)程,數(shù)據(jù)存儲(chǔ)的耗費(fèi)也會(huì)增加.
1.2.2 執(zhí)行機(jī)存儲(chǔ)仿真過(guò)程數(shù)據(jù)對(duì)仿真性能的影響.
執(zhí)行機(jī)用于各子系統(tǒng)的仿真計(jì)算,由各個(gè)計(jì)算模塊構(gòu)成,包括車輛動(dòng)力學(xué)、線路動(dòng)力學(xué)、弓網(wǎng)動(dòng)力學(xué)、牽引供電及傳動(dòng)和空氣動(dòng)力學(xué)耦合計(jì)算子模塊.執(zhí)行機(jī)和數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交互方式如圖2 所示.

圖2 任務(wù)執(zhí)行機(jī)和數(shù)據(jù)庫(kù)的交互關(guān)系
由圖2 可知,執(zhí)行機(jī)計(jì)算產(chǎn)生某一步仿真過(guò)程數(shù)據(jù)之后,在數(shù)據(jù)打包之前即可存入數(shù)據(jù)庫(kù)中,而耦合器無(wú)需解析即可轉(zhuǎn)發(fā)數(shù)據(jù)包.采用執(zhí)行機(jī)來(lái)存儲(chǔ)一步仿真過(guò)程數(shù)據(jù)的時(shí)間相較于耦合器存儲(chǔ)將會(huì)節(jié)約耦合器解析第j 步數(shù)據(jù)的數(shù)據(jù)包所需時(shí)間Tuci[j].
上述過(guò)程中,執(zhí)行機(jī)向數(shù)據(jù)庫(kù)存儲(chǔ)仿真結(jié)果數(shù)據(jù)與執(zhí)行機(jī)計(jì)算和收發(fā)數(shù)據(jù)均可以通過(guò)多個(gè)CPU核分別執(zhí)行,因此可以并行執(zhí)行.所以,執(zhí)行機(jī)完成一步數(shù)據(jù)仿真及存儲(chǔ)所需時(shí)間為,其中,N 為執(zhí)行機(jī)的個(gè)數(shù).存儲(chǔ)數(shù)據(jù)過(guò)程中無(wú)需解析數(shù)據(jù),可直接存儲(chǔ),因此節(jié)約了仿真時(shí)間消耗.

1.2.3 數(shù)據(jù)監(jiān)控子系統(tǒng)存儲(chǔ)仿真過(guò)程數(shù)據(jù)的對(duì)仿真性能的影響.
數(shù)據(jù)監(jiān)控子系統(tǒng)用于對(duì)計(jì)算過(guò)程進(jìn)行實(shí)時(shí)監(jiān)控,對(duì)異常情況進(jìn)行提示或警告,使計(jì)算過(guò)程透明化[2].數(shù)據(jù)監(jiān)控子系統(tǒng)和執(zhí)行機(jī)之間的交互關(guān)系如圖3 所示.

圖3 數(shù)據(jù)監(jiān)控子系統(tǒng)和執(zhí)行機(jī)之間的數(shù)據(jù)交互關(guān)系
由圖3 看出,執(zhí)行機(jī)和數(shù)據(jù)監(jiān)控子系統(tǒng)之間的數(shù)據(jù)交互方式是單向的,不影響仿真過(guò)程的進(jìn)行.執(zhí)行機(jī)向數(shù)據(jù)監(jiān)控子系統(tǒng)發(fā)送第j 步數(shù)據(jù)所需時(shí)間Temi[j]和數(shù)據(jù)監(jiān)控子系統(tǒng)存儲(chǔ)第j 步數(shù)據(jù)所需時(shí)間Twmi[j]可不計(jì)入仿真一步的總時(shí)間中,因?yàn)樵撨^(guò)程不影響仿真過(guò)程的進(jìn)行.因此,由數(shù)據(jù)監(jiān)控子系統(tǒng)完成一步仿真所需時(shí)間為,

其中,N 為執(zhí)行機(jī)個(gè)數(shù).當(dāng)任務(wù)增多時(shí),仿真時(shí)間消耗幾乎不受數(shù)據(jù)存儲(chǔ)的影響.
由于仿真過(guò)程中,基于計(jì)算機(jī)硬件和軟件性能、網(wǎng)絡(luò)環(huán)境的不確定性,要精確比較每種存儲(chǔ)方式的時(shí)間消耗幾乎是不可能的.但是本研究從每種存儲(chǔ)方式的時(shí)間復(fù)雜度方面著手分析,同樣能夠比較不同存儲(chǔ)方式下的仿真過(guò)程時(shí)間消耗情況,且都以執(zhí)行機(jī)、耦合器、數(shù)據(jù)監(jiān)控所處計(jì)算機(jī)軟硬件性能穩(wěn)定,并處于同一網(wǎng)絡(luò)環(huán)境中為研究前提.
前節(jié)已分析了不同存儲(chǔ)方式對(duì)平臺(tái)性能的影響,針對(duì)3 種存儲(chǔ)方式中仿真過(guò)程數(shù)據(jù)歷經(jīng)的4 個(gè)過(guò)程,可以得出以下理論結(jié)果:
1)耦合器存儲(chǔ)一步數(shù)據(jù)額外多出了數(shù)據(jù)存儲(chǔ)所需時(shí)間,因此耦合器完成一步仿真所需的時(shí)間明顯大于執(zhí)行機(jī)和數(shù)據(jù)監(jiān)控子系統(tǒng);
2)執(zhí)行機(jī)存儲(chǔ)一步數(shù)據(jù)與計(jì)算一步數(shù)據(jù)可以并行完成,但處于同一計(jì)算資源上勢(shì)必會(huì)相互產(chǎn)生降低效率的后果,從而影響執(zhí)行機(jī)的計(jì)算性能;
3)數(shù)據(jù)監(jiān)控子系統(tǒng)存儲(chǔ)一步數(shù)據(jù)的過(guò)程中,執(zhí)行機(jī)會(huì)額外產(chǎn)生一個(gè)向數(shù)據(jù)監(jiān)控子系統(tǒng)發(fā)送數(shù)據(jù)的過(guò)程,但一個(gè)數(shù)據(jù)包發(fā)送行為所需的時(shí)間遠(yuǎn)遠(yuǎn)小于執(zhí)行機(jī)計(jì)算一步數(shù)據(jù)所需的時(shí)間.
本研究中對(duì)于仿真性能的評(píng)價(jià)指標(biāo)是基于仿真速率的,而仿真速率的定義為仿真總步數(shù)與仿真時(shí)間的比值.綜上可知,對(duì)于采用數(shù)據(jù)監(jiān)控子系統(tǒng)存儲(chǔ)仿真結(jié)果數(shù)據(jù)時(shí)在本研究中是非常理想的數(shù)據(jù)存儲(chǔ)方式.
高速列車數(shù)字化仿真平臺(tái)上,以仿真速率V(步/s)作為評(píng)估指標(biāo),采用UDP 作為傳輸協(xié)議,用Oracle 磁盤(pán)數(shù)據(jù)庫(kù)作為存儲(chǔ)介質(zhì),以車輛動(dòng)力學(xué)、線路動(dòng)力學(xué)、弓網(wǎng)動(dòng)力學(xué)和牽引供電耦合計(jì)算子模塊作為任務(wù)執(zhí)行模塊,對(duì)采用不同子系統(tǒng)存儲(chǔ)仿真過(guò)程數(shù)據(jù)的實(shí)例進(jìn)行測(cè)試.
硬件支持,基于Intel(R)Core(TM)2 Quad CPU Q9500 @ 2.83 GHz 雙核處理器,內(nèi)存8 G,64 或者32 位Windows 操作系統(tǒng)PC 機(jī)4 ~6 臺(tái),基于Linux/Unix 操作系統(tǒng)高性能計(jì)算機(jī)集群;軟件支持,基于C/S 架構(gòu)的Oracle 11.2 磁盤(pán)數(shù)據(jù)庫(kù)系統(tǒng);網(wǎng)絡(luò)支持,主網(wǎng)絡(luò)為千兆網(wǎng),其中計(jì)算網(wǎng)絡(luò)采用Infiniband 網(wǎng),帶寬為40 GB/s,網(wǎng)絡(luò)狀態(tài)良好;參與模塊,車輛,線路,弓網(wǎng),牽引供電;測(cè)試組合1,車輛—線路組成兩模塊測(cè)試;測(cè)試組合2,車輛—線路—弓網(wǎng)—牽引供電組成四模塊測(cè)試;測(cè)試次數(shù),每組測(cè)試為10 次.
測(cè)試采取了增加執(zhí)行機(jī)的方式來(lái)測(cè)試不同的子系統(tǒng)存儲(chǔ)仿真結(jié)果數(shù)據(jù)對(duì)仿真速率的影響.
參與測(cè)試的模塊輸入?yún)?shù)設(shè)置如下:
全局仿真參數(shù):總積分時(shí)間=200 000 步,耦合步長(zhǎng)=0.00100.參與仿真的各模塊的仿真參數(shù)設(shè)置如表1 所示.
經(jīng)過(guò)仿真實(shí)驗(yàn)測(cè)試,耦合器、執(zhí)行機(jī)、數(shù)據(jù)監(jiān)控子系統(tǒng)在不存儲(chǔ)數(shù)據(jù)庫(kù)時(shí)仿真速率是一樣的,基本保持在81 步/s 左右.
車線耦合模式下,車輛子系統(tǒng)、線路子系統(tǒng)、耦合器和數(shù)據(jù)監(jiān)控子系統(tǒng)分別部署在不同的計(jì)算資源上,在網(wǎng)絡(luò)狀態(tài)良好的同一網(wǎng)絡(luò)環(huán)境中進(jìn)行仿真測(cè)試.采用不同系統(tǒng)以磁盤(pán)數(shù)據(jù)庫(kù)為存儲(chǔ)介質(zhì)的仿真速率如圖4 所示.

表1 全局仿真參數(shù)

圖4 車—線耦合下不同系統(tǒng)以磁盤(pán)數(shù)據(jù)庫(kù)為存儲(chǔ)介質(zhì)的仿真速率(步/s)
圖4 中,縱軸表示仿真速率V,單位為步/s,橫軸表示仿真次數(shù).在數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)的情況下,耦合器的平均仿真速率為1.6 步/s,執(zhí)行機(jī)平均仿真速率為2.5 步/s,數(shù)據(jù)監(jiān)控子系統(tǒng)平均仿真速率為80 步/s.由數(shù)據(jù)監(jiān)控子系統(tǒng)存儲(chǔ)數(shù)據(jù)的仿真速率比較接近于不寫(xiě)數(shù)據(jù)庫(kù),而且遠(yuǎn)大于執(zhí)行機(jī)和耦合器.在使用耦合器和執(zhí)行機(jī)存儲(chǔ)數(shù)據(jù)的時(shí)候,一方面要計(jì)算數(shù)據(jù),一方面要存儲(chǔ)數(shù)據(jù),因此時(shí)間耗費(fèi)較大,降低了仿真性能,數(shù)據(jù)監(jiān)控子系統(tǒng)不參與數(shù)據(jù)計(jì)算,因此對(duì)仿真過(guò)程基本沒(méi)有影響.
在車線牽弓耦合模式下,各個(gè)任務(wù)模塊、耦合器、數(shù)據(jù)監(jiān)控子系統(tǒng)分別部署在不同的計(jì)算資源上,在網(wǎng)絡(luò)狀態(tài)良好的同一網(wǎng)絡(luò)環(huán)境中進(jìn)行仿真測(cè)試.不同系統(tǒng)以磁盤(pán)數(shù)據(jù)庫(kù)為存儲(chǔ)介質(zhì)的仿真速率如圖5 所示.

圖5 車—線—牽—弓耦合下不同系統(tǒng)以磁盤(pán)數(shù)據(jù)庫(kù)為存儲(chǔ)介質(zhì)的仿真速率(步/s)
由圖5 可以得出,在數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)的情況下,耦合器的平均仿真速率為1.4 步/s,執(zhí)行機(jī)平均仿真速率為2.0 步/s,數(shù)據(jù)監(jiān)控子系統(tǒng)在平均仿真速率為78.5 步/s.除了采用不同子系統(tǒng)存儲(chǔ)數(shù)據(jù)時(shí)仿真速率有差距之外,相較于圖4 各個(gè)子系統(tǒng)本身的存儲(chǔ)速率已有所降低,這就證明了增加仿真任務(wù)模塊會(huì)相應(yīng)降低仿真性能的結(jié)論.
通過(guò)采集樣本測(cè)試可知,不存數(shù)據(jù)時(shí)執(zhí)行任務(wù)模塊的增加,仿真速率降低;耦合器存儲(chǔ)數(shù)據(jù)時(shí)執(zhí)行任務(wù)模塊增加,仿真速率降低;執(zhí)行機(jī)存儲(chǔ)數(shù)據(jù)時(shí)執(zhí)行任務(wù)模塊增加,仿真速率降低;數(shù)據(jù)監(jiān)控子系統(tǒng)存儲(chǔ)數(shù)據(jù)時(shí)執(zhí)行任務(wù)模塊增加,仿真速率降低.在仿真速率的穩(wěn)定性上,增加執(zhí)行任務(wù)模塊對(duì)仿真速率的影響都不太明顯,而且仿真速率也比較高,趨于理想.因此,選擇數(shù)據(jù)監(jiān)控子系統(tǒng)存儲(chǔ)仿真數(shù)據(jù)對(duì)于平臺(tái)來(lái)說(shuō)是比較合適的.
[1]Ajay D.Kshemkalyani,MukeshSinghal.分 布 式 計(jì) 算—原理、算法與系統(tǒng)[M].余宏亮,張冬艷,譯.北京:高等教育出版社,2012.
[2]張玉宏,黃志球,楊俊.分布式系統(tǒng)中性能評(píng)估模型的改進(jìn)方案[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(14):176-180.
[3]Yook J,Tilbury D,Chervela K,et al.Decentralized modular realtime control for machiningapplications[C]//Proceedings of the 1998 American Control Conference.Philadelphia,PA,USA:IEEE Press,1998.
[4]王蘭香.影響分布式控制系統(tǒng)性能的若干因素[J].自動(dòng)化技術(shù)與應(yīng)用,2007,26(5):98-101.
[5]張衛(wèi)華.高速列車耦合大系統(tǒng)動(dòng)力學(xué)理論與實(shí)踐[M].北京:科學(xué)出版社,2013.
[6]馮玉琳,黃濤,金蓓弘.網(wǎng)絡(luò)分布式計(jì)算與軟件工程[M].北京:科學(xué)出版社,2011.
[7]楊艷,李煒,王純.內(nèi)存數(shù)據(jù)庫(kù)在高速緩存方面的應(yīng)用[J].現(xiàn)代電信科技,2011,41(12):59-64.