劉兆慶,于洪彬,梁洋洋,梁軍
(哈爾濱工業(yè)大學(xué) 電氣工程及其自動(dòng)化學(xué)院,黑龍江 哈爾濱 150001)
網(wǎng)絡(luò)化測試系統(tǒng)在武器裝備測試、核爆炸試驗(yàn)、航空航天測試等領(lǐng)域有著廣泛的應(yīng)用[1]。實(shí)時(shí)性是網(wǎng)絡(luò)化測試系統(tǒng)面臨的主要問題之一[2]。除了采用高性能測試儀器和高速通信網(wǎng)絡(luò)外,測試數(shù)據(jù)的處理是影響系統(tǒng)實(shí)時(shí)性的關(guān)鍵。
目前,網(wǎng)絡(luò)化測試系統(tǒng)中大多采用集中式數(shù)據(jù)處理方式。在該方式下,數(shù)據(jù)全部存儲(chǔ)在主控計(jì)算機(jī),由數(shù)據(jù)庫管理系統(tǒng)進(jìn)行統(tǒng)一管理,主控計(jì)算機(jī)承擔(dān)所有測試數(shù)據(jù)的計(jì)算、綜合和處理任務(wù)。集中式數(shù)據(jù)處理方式對計(jì)算機(jī)的性能要求較高,骨干網(wǎng)絡(luò)帶寬壓力大,測試數(shù)據(jù)在數(shù)據(jù)庫中的查詢時(shí)間變長,數(shù)據(jù)處理時(shí)效性差[3]。隨著測試系統(tǒng)規(guī)模的增大,這些問題越來越凸顯出來。
在不投入更多硬件資源的情況下,為了提升網(wǎng)絡(luò)化測試系統(tǒng)的實(shí)時(shí)性,必須充分挖掘系統(tǒng)內(nèi)的計(jì)算資源并設(shè)計(jì)相應(yīng)的數(shù)據(jù)處理模式。由于嵌入式技術(shù)在儀器領(lǐng)域的應(yīng)用不斷模糊著計(jì)算機(jī)與儀器的界限,智能儀器大多有獨(dú)立的CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)接口等一系列資源,具有一定的數(shù)據(jù)處理能力。而且隨著并行處理或分布式處理技術(shù)支持的日漸成熟,將儀器資源共享出來,聯(lián)合多個(gè)儀器資源,在主控計(jì)算機(jī)的管理調(diào)度下,協(xié)同地進(jìn)行部分或全部數(shù)據(jù)處理任務(wù),使數(shù)據(jù)處理任務(wù)以一種空間并行的方式在儀器節(jié)點(diǎn)本地運(yùn)行,存在著降低時(shí)延,提高系統(tǒng)實(shí)時(shí)性的可能。這種方式有利于實(shí)時(shí)性的根本原因在于以下2點(diǎn):
(1) 利用并行方式的可擴(kuò)展性引入更多計(jì)算資源加入進(jìn)數(shù)據(jù)處理任務(wù);
(2) 數(shù)據(jù)傳輸以局部傳輸為主,避免了集中式處理僵硬的數(shù)據(jù)傳輸模式。
在利用儀器資源進(jìn)行數(shù)據(jù)處理應(yīng)以不犧牲測試任務(wù)的執(zhí)行性能為前提,這要求在儀器上引入隔離技術(shù)。本文設(shè)計(jì)了一種基于儀器資源的并行數(shù)據(jù)處理計(jì)算架構(gòu)。在該架構(gòu)下,在主控計(jì)算機(jī)根據(jù)數(shù)據(jù)處理任務(wù)的資源需求,為任務(wù)分配滿足資源需求的物理節(jié)點(diǎn);在儀器節(jié)點(diǎn)上,使用隔離技術(shù),將任務(wù)進(jìn)程限制在特定的資源上。構(gòu)建并行數(shù)據(jù)處理平臺(tái),利用并行FFT(faster Fourier transformation)應(yīng)用驗(yàn)證數(shù)據(jù)處理架構(gòu)的可行性,分析了該模式的計(jì)算性能和在這種計(jì)算模式下進(jìn)一步提升數(shù)據(jù)處理效率進(jìn)而提高系統(tǒng)實(shí)時(shí)性的關(guān)鍵因素,為后續(xù)研究指出了研究方向。
文獻(xiàn)[4]指出了在一個(gè)分布式系統(tǒng)上構(gòu)建計(jì)算平臺(tái)的要解決的一般問題:
(1) 管理系統(tǒng)中多種硬件資源;
(2) 定義用戶可以發(fā)現(xiàn)、請求和使用資源;
(3) 實(shí)現(xiàn)在資源上并行計(jì)算的執(zhí)行。
目前,尚未查找到基于嵌入式儀器進(jìn)行并行計(jì)算平臺(tái)的構(gòu)建方案。本文將根據(jù)網(wǎng)絡(luò)化測試系統(tǒng)簡潔、高效、實(shí)時(shí)的應(yīng)用需求,結(jié)合現(xiàn)有并行技術(shù)、集群技術(shù)及隔離技術(shù)的技術(shù)支持,設(shè)計(jì)適宜在網(wǎng)絡(luò)化測試系統(tǒng)的平臺(tái)構(gòu)建方案。文獻(xiàn)[5]提出了一種基于MPI(message passing interface)的云計(jì)算模型,該模型替換了Hadoop中的MapReduce編程模型,實(shí)現(xiàn)了在MPI計(jì)算平臺(tái)上的云計(jì)算。文獻(xiàn)[6]提出了利用MPI構(gòu)建云計(jì)算的非虛擬化平臺(tái),利用MPI對異構(gòu)環(huán)境的支持,直接在異構(gòu)環(huán)境上構(gòu)建MPI集群,避免了虛擬化的性能損耗,并進(jìn)一步在對MapReduce的替換、多級(jí)容錯(cuò)機(jī)制等方面進(jìn)行了研究。文獻(xiàn)[7]實(shí)現(xiàn)了在Docker容器上部署MPI集群用于高性能計(jì)算。MPI是一個(gè)高性能的消息傳遞模型,在注重時(shí)效性的并行計(jì)算中有著廣泛應(yīng)用。但以上都是以云計(jì)算為應(yīng)用環(huán)境展開的,在網(wǎng)絡(luò)化測試應(yīng)用環(huán)境中存在著不適宜。
對于硬件設(shè)備的處理主要由2種處理方式——非虛擬化技術(shù)和虛擬化技術(shù)。非虛擬化技術(shù)應(yīng)用以網(wǎng)格計(jì)算為代表,直接對物理資源進(jìn)行管理,按照批處理方式對資源進(jìn)行調(diào)度。虛擬化技術(shù)以云計(jì)算為代表,對底層硬件使用虛擬化技術(shù)構(gòu)成虛擬資源,在虛擬資源上以數(shù)據(jù)為驅(qū)動(dòng)進(jìn)行調(diào)度。
網(wǎng)絡(luò)化測試系統(tǒng)中的計(jì)算平臺(tái)構(gòu)建應(yīng)強(qiáng)調(diào)高效實(shí)時(shí)。智能儀器相對于PC來說資源有限,虛擬化技術(shù)的性能開銷較大,影響節(jié)點(diǎn)計(jì)算性能和通信性能。非虛擬化技術(shù)會(huì)保留原有硬件性能,通信性能更好,有利于系統(tǒng)的實(shí)時(shí)性要求。網(wǎng)絡(luò)化測試系統(tǒng)中的并行數(shù)據(jù)處理不宜構(gòu)建虛擬化的計(jì)算平臺(tái)。因此,資源的管理調(diào)度應(yīng)以具體物理硬件為基礎(chǔ),作業(yè)資源需求通過資源參數(shù)或?qū)傩悦枋鲋苯佣ㄎ坏骄唧w物理節(jié)點(diǎn)。這可以通過本地的資源管理器實(shí)現(xiàn)[8]。
事實(shí)上,虛擬化技術(shù)在構(gòu)建統(tǒng)一資源類型的同時(shí)也實(shí)現(xiàn)了資源的隔離與控制。虛擬機(jī)由于Hypervisor的存在,在獲得良好隔離性的同時(shí)產(chǎn)生了很大的系統(tǒng)開銷。LXC(Linux containers)和Docker是輕量級(jí)虛擬化技術(shù),在云計(jì)算中具有廣泛應(yīng)用,是滿足云計(jì)算環(huán)境需求的技術(shù)架構(gòu),但對于網(wǎng)絡(luò)化測試系統(tǒng)存在冗余封裝。LXC基于Linux內(nèi)核Cgroups和Namespace構(gòu)建,Cgroups進(jìn)行資源管理,Namespace用于安全隔離[9-10]。本文直接調(diào)用Linux的Cgroups內(nèi)核支持,實(shí)現(xiàn)對計(jì)算任務(wù)的資源控制。
綜上所述,本文將采用本地資源管理器實(shí)現(xiàn)系統(tǒng)資源的管理分配,采用Cgroups實(shí)現(xiàn)儀器節(jié)點(diǎn)資源的隔離與控制,采用MPI消息傳遞模型構(gòu)建計(jì)算平臺(tái)。
在分析了網(wǎng)絡(luò)化測試系統(tǒng)體系結(jié)構(gòu)的基礎(chǔ)上,本文提出了一種雙層資源模型,用來解決網(wǎng)絡(luò)化測試系統(tǒng)中的資源問題。
雙層資源模型如圖1所示。在系統(tǒng)的層面上,主控計(jì)算機(jī)管理系統(tǒng)中所有儀器節(jié)點(diǎn)及其附帶的資源屬性。服務(wù)中心是系統(tǒng)的核心,作為全局的用戶的唯一接口,可以對系統(tǒng)進(jìn)行查詢、配置,提交計(jì)算任務(wù)、進(jìn)行任務(wù)狀態(tài)監(jiān)測。調(diào)度中心根據(jù)計(jì)算任務(wù)提出的資源屬性需求,按照可插拔式的調(diào)度策略配置,以物理儀器節(jié)點(diǎn)作為基本單位,從系統(tǒng)中選出可以滿足計(jì)算需求的節(jié)點(diǎn)集合,給出任務(wù)運(yùn)行的節(jié)點(diǎn)建議。
在儀器節(jié)點(diǎn)上,將計(jì)算所需的資源(CPU、內(nèi)存等)以一定的形式聯(lián)合起來,構(gòu)成資源容器,計(jì)算進(jìn)程僅可使用容器內(nèi)的全部資源,從而避免了不同進(jìn)程間的資源搶占。
圖1 雙層資源模型Fig.1 Two-level resource model
本文采用TORQUE資源管理器實(shí)現(xiàn)位于頂層的面向用戶的作業(yè)管理和系統(tǒng)資源管理分配[11]。TORQUE是基于PBS(portable batch system)工程的高級(jí)開源產(chǎn)品,包含了目前最好的社區(qū)版和專業(yè)版。它具有良好的可擴(kuò)展性、穩(wěn)定性和功能性,因此在全世界的政府、科研、商業(yè)領(lǐng)域有著廣泛應(yīng)用[12]。由于TORQUE可以免費(fèi)被使用、修改、發(fā)布,為后續(xù)進(jìn)一步研究開發(fā)提供可能,本文采用TORQUE社區(qū)版作為資源管理器。
通過在網(wǎng)絡(luò)化測試系統(tǒng)中布置TORQUE,可以達(dá)到以下目的:①以節(jié)點(diǎn)為基本資源單位,將節(jié)點(diǎn)具有的資源和特性進(jìn)行定義或統(tǒng)計(jì)。②根據(jù)資源或特性需求,為作業(yè)找到合適節(jié)點(diǎn)運(yùn)行。③使作業(yè)按照創(chuàng)建、提交、執(zhí)行、結(jié)束的工作流運(yùn)行,通過命令對作業(yè)進(jìn)行監(jiān)控或控制。
PBS有4個(gè)主要部件:命令、作業(yè)服務(wù)器、作業(yè)執(zhí)行器以及作業(yè)調(diào)度器。網(wǎng)絡(luò)化測試系統(tǒng)是多機(jī)系統(tǒng),其中主控計(jì)算機(jī)性能較強(qiáng)且更為穩(wěn)定,所以主控計(jì)算機(jī)中布置服務(wù)進(jìn)程(Server)和執(zhí)行進(jìn)程(MOM),負(fù)責(zé)上述用戶服務(wù)器的基本功能和部分計(jì)算任務(wù)。此外,調(diào)度進(jìn)程(Scheduler)運(yùn)行在主控計(jì)算機(jī)上,一方面從服務(wù)器獲取集群系統(tǒng)上的作業(yè)信息,另一方面獲取本分區(qū)節(jié)點(diǎn)資源信息。主控計(jì)算機(jī)作為面向用戶的接口,需要布置客戶命令。
在儀器節(jié)點(diǎn)上布置執(zhí)行進(jìn)程,接受來自Server的加載、查詢等命令,并負(fù)責(zé)作業(yè)狀況的監(jiān)測以及向Server報(bào)告作業(yè)結(jié)果信息。
PBS組件在網(wǎng)絡(luò)化測試系統(tǒng)中結(jié)構(gòu)如圖2所示。
圖2 PBS組件在網(wǎng)絡(luò)化測試系統(tǒng)中結(jié)構(gòu)Fig.2 Structure of PBS components in net-centric ATS
Cgroups(control groups)是Linux內(nèi)核的一個(gè)功能,用來限制、統(tǒng)計(jì)和分離一個(gè)進(jìn)程組的資源(CPU、內(nèi)存、磁盤輸入輸出等),從而實(shí)現(xiàn)Linux操作系統(tǒng)環(huán)境下的物理分割。在Cgroups中,任務(wù)就是系統(tǒng)中的一個(gè)進(jìn)程,控制族群是按照某種標(biāo)準(zhǔn)劃分的進(jìn)程,資源控制都是以控制族群為單位實(shí)現(xiàn)的。一個(gè)加入控制族群的進(jìn)程可以使用到為控制族群分配的資源,同時(shí)受到以控制族群為單位的限制。一個(gè)子系統(tǒng)就是一個(gè)資源控制器,Cgroups為每種可以控制的資源定義了一個(gè)子系統(tǒng),比如cpu子系統(tǒng)就是控制CPU時(shí)間分配的一個(gè)控制器。子系統(tǒng)必須附加到一個(gè)層級(jí)上才能起作用,層級(jí)就是一棵控制族群樹,通過在Cgroups文件系統(tǒng)中創(chuàng)建、移除、重命名等操作構(gòu)建的。
本文主要涉及到計(jì)算資源的控制,所以我們只關(guān)注系統(tǒng)的CPU資源和內(nèi)存資源的控制,涉及到Cgroups子系統(tǒng)有cpuset,cpu和memory。將運(yùn)行進(jìn)程的進(jìn)程號(hào)分別寫入相應(yīng)子系統(tǒng)下的task文件,即完成了一個(gè)硬件容器的劃分并將進(jìn)程限制在該容器內(nèi)運(yùn)行。
cpuset子系統(tǒng)為cgroup中的任務(wù)分配獨(dú)立CPU(在多核系統(tǒng))和內(nèi)存節(jié)點(diǎn)。通過cpuset.cpus和cpuset.mems可分別選擇使用的CPU節(jié)點(diǎn)和內(nèi)存節(jié)點(diǎn)。
cpu子系統(tǒng)使用調(diào)度程序提供對CPU的cgroup任務(wù)訪問。比如,通過cpu子系統(tǒng)下的cpu.cfs_quota_us調(diào)整至cpu.cfs_period_us數(shù)值的比例限定了單位時(shí)間內(nèi)使用CPU時(shí)間。
memory子系統(tǒng)設(shè)定cgroup中任務(wù)使用的內(nèi)存限制,并自動(dòng)生成由那些任務(wù)使用的內(nèi)存資源報(bào)告。通過memory.limit_in_bytes限制內(nèi)存使用量。
多種儀器資源整合與限制如圖3所示。
圖3 多種儀器資源整合與限制Fig.3 Integration and limitation of multiple instruments’ resources
本文采用1臺(tái)主控計(jì)算機(jī)和4塊Digilent公司的Zedboard實(shí)驗(yàn)載板,通過商用交換機(jī)和網(wǎng)線互聯(lián),用來模擬網(wǎng)絡(luò)化測試硬件環(huán)境。本文在該硬件平臺(tái)上,構(gòu)建了基于MPI消息傳遞模型的程序開發(fā)和運(yùn)行環(huán)境[13-14]。MPI標(biāo)準(zhǔn)的功能通過MPICH和Hydra進(jìn)程管理器配合實(shí)現(xiàn)。通信系統(tǒng)通過一系列網(wǎng)絡(luò)配置,使用戶無需對每個(gè)節(jié)點(diǎn)進(jìn)行顯示登錄操作,屏蔽了底層IP通信,在程序開發(fā)時(shí)關(guān)心的對象是計(jì)算進(jìn)程。進(jìn)程管理系統(tǒng)在機(jī)群上派生計(jì)算進(jìn)程,管理用戶參數(shù)、環(huán)境變量及進(jìn)程開啟節(jié)點(diǎn)信息等,并進(jìn)行進(jìn)程控制[15]。在此基礎(chǔ)上進(jìn)行并行FFT的MPI程序進(jìn)行實(shí)驗(yàn)驗(yàn)證。
分3種模式進(jìn)行實(shí)驗(yàn),分別是:①在單一節(jié)點(diǎn)讀取全部數(shù)據(jù),在該節(jié)點(diǎn)上進(jìn)行串行FFT計(jì)算,計(jì)算結(jié)束后,將計(jì)算結(jié)果上傳主控機(jī),在特定文件夾下生成結(jié)果文件;②依次在2個(gè)、4個(gè)節(jié)點(diǎn)上展開并行FFT計(jì)算,每個(gè)節(jié)點(diǎn)上數(shù)據(jù)子向量分別為完整數(shù)據(jù)文件的1/2和1/4,讀取數(shù)據(jù),節(jié)點(diǎn)間利用本地?cái)?shù)據(jù)或向其余節(jié)點(diǎn)請求各步FFT計(jì)算所需數(shù)據(jù),完成相應(yīng)部分的FFT計(jì)算,隨后計(jì)算結(jié)果被主控計(jì)算機(jī)收集并綜合生成最終結(jié)果文件;③將不同數(shù)據(jù)規(guī)模的完整數(shù)據(jù)文件拆分在2個(gè)節(jié)點(diǎn)上,節(jié)點(diǎn)讀取數(shù)據(jù)文件被主控計(jì)算機(jī)收集,由主控計(jì)算機(jī)按串行方式完成FFT計(jì)算。
(1) 算法執(zhí)行時(shí)間
圖4表示FFT計(jì)算的算法執(zhí)行時(shí)間隨著數(shù)據(jù)規(guī)模增加的變化情況。橫坐標(biāo)表示采樣的數(shù)據(jù)點(diǎn)數(shù)按2的次冪增加,縱坐標(biāo)表示在不同模式下的算法執(zhí)行時(shí)間,可以得到以下結(jié)論:
1) 隨著數(shù)據(jù)規(guī)模按2的次冪增加,在數(shù)據(jù)規(guī)模較小時(shí),各種模式下算法執(zhí)行時(shí)間基本相同且約等于0;在數(shù)據(jù)規(guī)模較大時(shí),隨著數(shù)據(jù)規(guī)模增大,可以看到執(zhí)行時(shí)間有較為明顯的變化且按指數(shù)規(guī)律增長。
2) 在1節(jié)點(diǎn)、2節(jié)點(diǎn)和4節(jié)點(diǎn)進(jìn)行計(jì)算時(shí),當(dāng)數(shù)據(jù)規(guī)模較大時(shí),在數(shù)據(jù)規(guī)模相同的情況下,隨著計(jì)算節(jié)點(diǎn)數(shù)目的增加,算法執(zhí)行時(shí)間有著明顯的減少。
圖4 不同模式下FFT計(jì)算的算法執(zhí)行時(shí)間Fig.4 Execution time of FFT under different modes
3) 采用主控計(jì)算機(jī)進(jìn)行數(shù)據(jù)收集進(jìn)行FFT計(jì)算的模式下,執(zhí)行時(shí)間小于其他模式的計(jì)算。
圖5截取數(shù)據(jù)規(guī)模為210~216部分詳細(xì)展示數(shù)據(jù)規(guī)模較小時(shí)的算法執(zhí)行情況??梢钥吹?當(dāng)數(shù)據(jù)規(guī)模較小時(shí),增大并行儀器節(jié)點(diǎn)規(guī)模不能無限縮小算法的執(zhí)行時(shí)間。如表1所示,2節(jié)點(diǎn)并行處理時(shí)間在213之前大于單節(jié)點(diǎn)處理,4節(jié)點(diǎn)并行處理時(shí)間在214之前大于其余2種節(jié)點(diǎn)計(jì)算模式。這是由于并行數(shù)據(jù)處理的通信開銷造成的。
圖5 210~216數(shù)據(jù)規(guī)模下算法執(zhí)行時(shí)間Fig.5 Execution time of data scale varying from 210 to 216
(2) 并行數(shù)據(jù)處理通信時(shí)間分析
算法執(zhí)行時(shí)間主要由通信時(shí)間和計(jì)算時(shí)間兩部分組成,圖6表現(xiàn)了并行數(shù)據(jù)處理中通信時(shí)間占總執(zhí)行時(shí)間比例,橫坐標(biāo)為數(shù)據(jù)規(guī)模,縱坐標(biāo)為時(shí)間百分比。圖7表示2,4節(jié)點(diǎn)并行數(shù)據(jù)處理中的通信時(shí)間,橫坐標(biāo)為數(shù)據(jù)規(guī)模。結(jié)論如下:
表1 210~216數(shù)據(jù)規(guī)模算法執(zhí)行時(shí)間Table 1 Execution time of data scale varying from 210 to 216 s
圖6 通信時(shí)間占并行處理時(shí)間的比例Fig.6 Communication time percentage of parallel processing
圖7 并行數(shù)據(jù)處理通信時(shí)間對比Fig.7 Comparison of communication time between nodes
1) 2種不同模式的并行數(shù)據(jù)處理的通信時(shí)間基本相同,投入更多儀器節(jié)點(diǎn)沒有明顯的減小。
2) 4節(jié)點(diǎn)并行的通信時(shí)間占比明顯高于2節(jié)點(diǎn)并行的情況,因?yàn)殡S著投入更多儀器節(jié)點(diǎn)進(jìn)行計(jì)算,計(jì)算時(shí)間有明顯的縮減,在通信時(shí)間基本不變的情況下,4節(jié)點(diǎn)并行的通信占比會(huì)更大。
3) 當(dāng)數(shù)據(jù)規(guī)模較小時(shí),通信時(shí)間是主要的時(shí)間開銷。2節(jié)點(diǎn)并行數(shù)據(jù)規(guī)模小于等于213時(shí),4節(jié)點(diǎn)并行數(shù)據(jù)規(guī)模小于等于216時(shí),通信時(shí)間都占總時(shí)間的50%以上。
(3) 加速比與效率分析
加速比(speed-up),是同一任務(wù)在單處理器系統(tǒng)和并行處理器系統(tǒng)中運(yùn)行消耗時(shí)間的比率,用來衡量并行系統(tǒng)或程序并行化的性能和效果。
SP=T1/TP,
式中:SP為加速比;T1為單處理器下的運(yùn)行時(shí)間;TP表示在有P個(gè)處理器并行系統(tǒng)中的運(yùn)行時(shí)間。
效率(efficiency),它反映了處理器的利用率,P為并行計(jì)算機(jī)中處理器的個(gè)數(shù)[16]。
EP=SP/P.
考慮到測試的應(yīng)用環(huán)境,本文的加速比與效率評價(jià)中包括了單節(jié)點(diǎn)至主控計(jì)算機(jī)的數(shù)據(jù)傳輸時(shí)間。圖8,9分別表示2節(jié)點(diǎn)、4節(jié)點(diǎn)并行計(jì)算加速比和效率隨著數(shù)據(jù)規(guī)模變化的關(guān)系。可以得到以下結(jié)論:
圖8 并行FFT計(jì)算加速比隨數(shù)據(jù)規(guī)模變化的關(guān)系Fig.8 Speedup ratio of parallel FFT algorithm with data scale
圖9 并行FFT計(jì)算效率隨數(shù)據(jù)規(guī)模變化的關(guān)系Fig.9 Parallel FFT algorithm efficiency with data scale
1) 加速比隨數(shù)據(jù)規(guī)模增加呈上升趨勢,但數(shù)據(jù)規(guī)模較大時(shí)增速變緩。從圖中可以看到4節(jié)點(diǎn)并行在221時(shí)可達(dá)2.8左右(最理想情況為4),2節(jié)點(diǎn)加速比可達(dá)1.8左右(最理想情況為2)。
2) 效率隨數(shù)據(jù)規(guī)模增大呈上升趨勢。雖然4節(jié)點(diǎn)并行計(jì)算相較于2節(jié)點(diǎn)可以獲得更大的加速比,但2節(jié)點(diǎn)的并行效率更高。
3) 數(shù)據(jù)規(guī)模較小時(shí),并行計(jì)算的加速比和效率都比較低,這是因?yàn)樵谠撉闆r下通信時(shí)間在全部執(zhí)行時(shí)間中所占的比例大。
4) 可以看出,數(shù)據(jù)通信已是影響系統(tǒng)達(dá)到線性加速比的主要因素。
本文設(shè)計(jì)了一種網(wǎng)絡(luò)化測試系統(tǒng)中的并行數(shù)據(jù)處理模式,充分利用系統(tǒng)內(nèi)計(jì)算資源,減小網(wǎng)絡(luò)傳輸延遲,進(jìn)而提高系統(tǒng)實(shí)時(shí)性。成功實(shí)現(xiàn)了從頂層作業(yè)腳本編寫、提交,系統(tǒng)給出運(yùn)行儀器節(jié)點(diǎn)建議,并行FFT程序在建議節(jié)點(diǎn)上運(yùn)行,并將計(jì)算進(jìn)程納入資源容器進(jìn)行執(zhí)行的工作流程。實(shí)驗(yàn)結(jié)果表明,通過引入更多儀器資源,計(jì)算時(shí)間的減少較為明顯,而通信開銷卻基本不變,成為進(jìn)一步提高實(shí)時(shí)性的關(guān)鍵因素。