鄭軍
(包頭師范學(xué)院網(wǎng)絡(luò)信息中心,內(nèi)蒙古包頭014030)
多“軟件人”在執(zhí)行分布式并行任務(wù)中的性能分析—以計(jì)算π值為例*
鄭軍
(包頭師范學(xué)院網(wǎng)絡(luò)信息中心,內(nèi)蒙古包頭014030)
“軟件人”是具有擬人屬性的軟件人工生命,其快速發(fā)展為并行計(jì)算注入了新的活力,提供了新的思路。本文按照“軟件人”的設(shè)計(jì)思想結(jié)合圓周率π值的定積分計(jì)算算法,設(shè)計(jì)實(shí)現(xiàn)了多“軟件人”并行計(jì)算π值的模型。同時(shí),對(duì)多“軟件人”的通信模型進(jìn)行了改進(jìn)。最后,以時(shí)間作為度量標(biāo)準(zhǔn),對(duì)“軟件人”的多項(xiàng)性能指標(biāo)進(jìn)行了定量分析,搞清楚了“軟件人”性能影響因素,為“軟件人”的合理應(yīng)用提供了參考依據(jù)。
“軟件人”;并行計(jì)算;遷移機(jī)制;主從模式;性能分析
在人工智能領(lǐng)域,基于分布式網(wǎng)絡(luò)的“軟件人”(SoftMan以下簡稱SM)技術(shù)在最近幾年取得的了長足的發(fā)展[1-4]。SM是具有擬人屬性的軟件人工生命,是對(duì)軟件在特性、功能、行為、結(jié)構(gòu)方面的模擬、延伸和擴(kuò)展[5-6]。SM具有自主性、移動(dòng)性、自發(fā)性、協(xié)作性和智能性等特征。SM能在異構(gòu)網(wǎng)絡(luò)中自主地從一臺(tái)主機(jī)遷移到另一臺(tái)主機(jī),它可以在網(wǎng)絡(luò)中尋找到并充分地利用合適的計(jì)算資源、信息資源和硬件資源來高效地完成特定的任務(wù)。另外,它們不僅能對(duì)事件或變化做出反應(yīng),而且能積極感覺周圍環(huán)境,以啟動(dòng)自己的動(dòng)作。同時(shí),多個(gè)SM可以組成一個(gè)社會(huì)群體,它們相互之間可以進(jìn)行通信和協(xié)助共同完成一個(gè)復(fù)雜的任務(wù)。SM的這些能力使其廣泛的應(yīng)用于數(shù)據(jù)收集,搜索過慮,分布監(jiān)視,信息傳播,洽談協(xié)商,商品交易等領(lǐng)域。
SM的這種特性突破了分布對(duì)象模型,如CORBA和EJB中傳統(tǒng)的客戶端/服務(wù)器端REQUESTANSWER模式。因此SM與分布式計(jì)算相結(jié)合,將使得分布式計(jì)算具有完全的主動(dòng)性,并更能適應(yīng)網(wǎng)絡(luò)環(huán)境的不可預(yù)測(cè)性。當(dāng)然,單個(gè)的SM其執(zhí)行能力還是有限的,很難完成用戶指定的任務(wù)。本文以北京科技大涂序彥教授提出的SM模型為基礎(chǔ),根據(jù)實(shí)際應(yīng)用的需要建立了一種滿足分布式計(jì)算特點(diǎn)的多SM計(jì)算模型,給出了一個(gè)并行求解π的計(jì)算實(shí)例,并對(duì)傳統(tǒng)的SM通信機(jī)制進(jìn)行了改進(jìn)。最后,通過并行求解π的計(jì)算實(shí)例,分別對(duì)以下問題進(jìn)行了定量研究:SM的執(zhí)行效率和SM的數(shù)量有什么樣的關(guān)系,多SM之間的通信消耗由什么因素決定的,SM的計(jì)算能力如何,協(xié)同執(zhí)行任務(wù)的規(guī)模對(duì)多SM的執(zhí)行效率會(huì)產(chǎn)生什么樣的影響。以上這些問題是研究和使用SM的幾個(gè)基礎(chǔ)性的問題。這些問題的研究對(duì)搞清楚SM在什么領(lǐng)域內(nèi)和什么條件下可被高效地合理地應(yīng)用很有價(jià)值。
2.1 SM的遷移機(jī)制
SM的本體由虛擬腦,虛擬眼,虛擬耳,虛擬嘴,虛擬手,虛擬腳等構(gòu)成。其中,虛擬腳的功能就是讓SM在網(wǎng)上遷移[7]。軟件人在遷移過程中有三種任務(wù)實(shí)現(xiàn)模式:工作流模式、主從模式和分體模式[8]。其中主從模式在處理復(fù)雜的問題時(shí)常常會(huì)被用到。主從模式的基本原理是:把任務(wù)按功能劃分為一個(gè)或多個(gè)子任務(wù),每個(gè)從軟件人負(fù)責(zé)一項(xiàng)子任務(wù)的實(shí)現(xiàn),主軟件人負(fù)責(zé)控制和實(shí)現(xiàn)任務(wù)的主邏輯并通過分派和管理從軟件人,讓從軟件人遷移到目標(biāo)節(jié)點(diǎn)并完成具體的子任務(wù),從而達(dá)到完成整個(gè)任務(wù)的目的。
2.2 圓周率π值的積分計(jì)算原理
圖1:π值近似算法
如上圖所示,通過計(jì)算矩形的面積可以近似的求出π值。在計(jì)算各個(gè)子區(qū)間的小矩形面積時(shí),為了減小積分誤差,取中間值作為矩形的高來計(jì)算。最終得到計(jì)算π值的近似算法如下面公式所示:
2.3 基于上述原理的分布式并行計(jì)算π值的實(shí)現(xiàn)模型
通過多年對(duì)分布式并行計(jì)算的研究,我們發(fā)現(xiàn)現(xiàn)在絕大多數(shù)的分布式并行計(jì)算模型的都是將全局性的任務(wù)細(xì)分成可以并行計(jì)算的子任務(wù),然后將細(xì)分后的子任務(wù)分發(fā)到各執(zhí)行節(jié)點(diǎn)上進(jìn)行計(jì)算。當(dāng)計(jì)算節(jié)點(diǎn)完成當(dāng)前計(jì)算任務(wù)后,就會(huì)把結(jié)果回送到管理服務(wù)器上,進(jìn)行結(jié)果的處理和合并,最終完成整個(gè)任務(wù)。根據(jù)這一特點(diǎn)和規(guī)律,我們將系統(tǒng)中的SM分為管理SM和執(zhí)行SM兩種。管理SM負(fù)責(zé)全局任務(wù)的劃分、分發(fā)和結(jié)果的合并。而執(zhí)行SM則只進(jìn)行任務(wù)的計(jì)算,并將結(jié)果回送。π值計(jì)算模型如下圖所示:
圖2:π值計(jì)算模型圖
在多SM系統(tǒng)中,SM之間的通信效率是制約整個(gè)系統(tǒng)效率的瓶頸和關(guān)鍵因素。在傳統(tǒng)上是采用目錄服務(wù)的方式來實(shí)現(xiàn)多SM之間的相互通信的。這種方式是在服務(wù)器端存放著一個(gè)總的SM地址表Directory,當(dāng)SM之間需要通信時(shí),首先要到Directory中通過網(wǎng)絡(luò)查找到對(duì)方SM的地址,然后才能進(jìn)行通信。這種通信方式對(duì)于求π的仿真計(jì)算來講,其通信效率是比較低的。為此,需要對(duì)傳統(tǒng)的通信方式進(jìn)行改進(jìn)。由于在進(jìn)行求π值的仿真計(jì)算過程中個(gè)涉及到的通信的只是在管理SM和執(zhí)行SM之間進(jìn)行,因此,只要管理SM知道執(zhí)行SM的地址,那么管理SM就可以將執(zhí)行SM派遣到執(zhí)行節(jié)點(diǎn)上執(zhí)行,同樣,執(zhí)行SM只要知道管理SM的地址就可以把執(zhí)行后的結(jié)果返回給管理SM。按照這種思路,重新設(shè)計(jì)了多SM之間的通信模型,新模型如下圖所示:
圖3:通訊模型
在上圖中,管理SM首先在管理節(jié)點(diǎn)上執(zhí)行,按照其次節(jié)點(diǎn)的IP地址建立一張執(zhí)行SM目標(biāo)遷移節(jié)點(diǎn)地址列表。根據(jù)這張遷移地址列表,執(zhí)行SM就可以遷移到不同的節(jié)點(diǎn)上去執(zhí)行。為了能夠使執(zhí)行SM的執(zhí)行結(jié)果返回到管理SM來進(jìn)行處理,在執(zhí)行SM遷移時(shí)還要攜帶一些參數(shù),這些參數(shù)由執(zhí)行SM的編號(hào)和管理SM節(jié)點(diǎn)地址這兩種數(shù)據(jù)構(gòu)成。
2.4 實(shí)驗(yàn)環(huán)境和配置
根據(jù)SM的遷移特性和π值積分計(jì)算公式(1),分別對(duì)問題規(guī)模為N=12000,N=120000,N= 1200000,N=12000000進(jìn)行了求π值的仿真實(shí)驗(yàn)。實(shí)驗(yàn)采用了主從模式來計(jì)算π值,其主從模式如圖4所示:
圖4:π值計(jì)算主從模式
如上圖所示,在進(jìn)行求π值實(shí)驗(yàn)的過程中共使用了七臺(tái)配置相同的電腦,它們的配置情況是這樣的:配有3.00GHz Intel Pentium CPU處理器,配有主頻為2.99GHz容量為512MB的一條獨(dú)立內(nèi)存條,并且都裝有Microsoft Windows XP Professional操作系統(tǒng)。這七臺(tái)計(jì)算機(jī)是以以太網(wǎng)的方式連接,用來進(jìn)行網(wǎng)絡(luò)連接的交換機(jī)的型號(hào)是h3c s3100。
在實(shí)驗(yàn)的進(jìn)行過程中,一共存在兩種SM,分別是管理SM和執(zhí)行SM。其中,管理SM是主從模式中的主,執(zhí)行SM是主從模式中的從。其執(zhí)行流程是這樣的:首先,管理SM在圖2的中間位置的計(jì)算機(jī)上首先運(yùn)行;接著,管理SM負(fù)責(zé)生成執(zhí)行SM并且給這個(gè)執(zhí)行SM分配一個(gè)子任務(wù)。然后,管理SM讓執(zhí)行SM遷移到目標(biāo)節(jié)點(diǎn)上,利用目標(biāo)節(jié)點(diǎn)計(jì)算機(jī)的資源完成具體的子任務(wù)。最后,執(zhí)行SM把子任務(wù)結(jié)果以消息的形式返回給管理SM。
3.1 SM數(shù)、問題規(guī)模和網(wǎng)絡(luò)傳輸消耗時(shí)間的關(guān)系
實(shí)驗(yàn)按照問題規(guī)模分為N=12000,N=120000,N =1200000,N=12000000這樣四個(gè)級(jí)別。在每個(gè)問題規(guī)模級(jí)別下,按照?qǐng)D4所示的主從模式,分別由管理SM生成1個(gè)執(zhí)行SM,生成2個(gè)執(zhí)行SM,……,生成6個(gè)執(zhí)行SM,然后執(zhí)行SM攜帶著各自不同的計(jì)算任務(wù)分別遷移到不同的計(jì)算機(jī)上利用遠(yuǎn)程計(jì)算機(jī)上的資源來進(jìn)行計(jì)算。網(wǎng)絡(luò)傳輸消耗時(shí)間與問題規(guī)模和執(zhí)行SM的個(gè)數(shù)的關(guān)系,如表1所示。下表中的時(shí)間數(shù)據(jù)是5次實(shí)驗(yàn)數(shù)據(jù)的平均值,其時(shí)間的單位是ms,其值保留到小數(shù)點(diǎn)后一位有效數(shù)字(后面其它表格的數(shù)據(jù)也是相同的,以后不再敘述)。
表1:傳輸時(shí)間消耗表
根據(jù)表1的數(shù)據(jù)可以繪制得到SM數(shù)、問題規(guī)模和網(wǎng)絡(luò)傳輸消耗時(shí)間的關(guān)系圖。如圖5所示。
圖5:傳輸消耗關(guān)系
根據(jù)上面的傳輸消耗關(guān)系圖,很容易得到以下關(guān)系:
1.問題規(guī)模對(duì)網(wǎng)絡(luò)傳輸消耗沒有影響。
2.網(wǎng)絡(luò)傳輸消耗時(shí)間只與執(zhí)行SM的個(gè)數(shù)有關(guān)系。隨著執(zhí)行SM個(gè)數(shù)的增加,網(wǎng)絡(luò)傳輸消耗的時(shí)間也在增加,它們之間成線性正比例關(guān)系。
3.2 單個(gè)的軟件人和單個(gè)Java程序執(zhí)行效率的比較
為了對(duì)比測(cè)試SM執(zhí)行環(huán)境的執(zhí)行效率,按照公式(1),單獨(dú)使用Java程序設(shè)計(jì)實(shí)現(xiàn)了計(jì)算π值的Java單機(jī)運(yùn)行程序。用它和單個(gè)的SM在同一臺(tái)計(jì)算機(jī)上運(yùn)行,在SM不考慮網(wǎng)絡(luò)傳輸消耗影響的情況下,得到表2所示的數(shù)據(jù)。
表2:效率對(duì)比表
由表2,可以看到,在不同問題規(guī)模下單個(gè)SM和Java單機(jī)程序所計(jì)算得到的π值都是相同的。這表明SM和Java單機(jī)程序它們兩者在運(yùn)算能力上是相同的。其次,與π值精確到小數(shù)點(diǎn)后20位的值π=3.14159265358979323846相比較,可以發(fā)現(xiàn),隨著問題規(guī)模N的增加,單個(gè)SM和Java單機(jī)程序所計(jì)算得到的π值的精度同時(shí)在增加。最后,根據(jù)表2繪制了單個(gè)SM和Java單機(jī)程序的運(yùn)行時(shí)間柱狀圖,如圖6所示。
圖6:運(yùn)行時(shí)間對(duì)比
根據(jù)圖6,很容易發(fā)現(xiàn)單個(gè)SM和Java單機(jī)程序在計(jì)算π值所花費(fèi)的時(shí)間在各個(gè)問題規(guī)模下,基本上是是趨于一致的。在問題規(guī)模N相同的情況下,單個(gè)SM執(zhí)行花費(fèi)時(shí)間要比Java單機(jī)程序執(zhí)行花費(fèi)時(shí)間還要略微少一些。
3.3 多SM執(zhí)行效率問題研究
根據(jù)圖3可以知道網(wǎng)絡(luò)傳輸消耗時(shí)間和SM的數(shù)量是線性正比例關(guān)系,對(duì)于一個(gè)特定配置的網(wǎng)絡(luò),只要知道SM的數(shù)量就可以計(jì)算求得網(wǎng)絡(luò)傳輸消耗時(shí)間。為了簡化研究過程,下面的研究沒有考慮網(wǎng)絡(luò)傳輸消耗時(shí)間。在不同的問題規(guī)模N下,按照公式(1),采用平均分配N的方法,分別交由1個(gè)SM,2個(gè)SM,……,6個(gè)SM來共同計(jì)算π值??偟挠?jì)算π值時(shí)間等于所有用來計(jì)算π值的執(zhí)行SM中時(shí)間花費(fèi)最大的那個(gè)時(shí)間。通過實(shí)驗(yàn)得到下表所示的時(shí)間花費(fèi)數(shù)據(jù)。
表3:執(zhí)行效率表
按照表3的時(shí)間花費(fèi)數(shù)據(jù)繪制成了曲線,如下圖所示:
圖7:多SM執(zhí)行時(shí)間分布
圖7是一些斜率絕對(duì)值在逐漸減少的曲線,由上圖可以很容易觀察到以下規(guī)律:
第一,問題規(guī)模N越大,計(jì)算π值花費(fèi)的時(shí)間越長;
第二,隨著SM數(shù)量的增加,計(jì)算π值花費(fèi)的時(shí)間在逐漸減少;
第三,問題規(guī)模N越大,SM的數(shù)量對(duì)執(zhí)行時(shí)間的影響越大;
第四,隨著SM數(shù)量的增加,SM的數(shù)量對(duì)執(zhí)行時(shí)間的影響在逐漸減小。
本文重點(diǎn)對(duì)SM的遷移特性在計(jì)算π值時(shí)的性能表現(xiàn)進(jìn)行了分析。通過對(duì)大量的實(shí)驗(yàn)數(shù)據(jù)的分析和多維度的研究可以發(fā)現(xiàn):第一,SM的計(jì)算能力是很強(qiáng)的。它在運(yùn)算能力方面是和Java處在同一水平;第二,在特定的網(wǎng)絡(luò)環(huán)境中,SM的網(wǎng)絡(luò)通訊消耗與SM的數(shù)量成正比,與其他無關(guān)。第三,SM數(shù)量的增加既能降低任務(wù)的執(zhí)行時(shí)間,但同時(shí)也會(huì)增加網(wǎng)絡(luò)通訊的消耗時(shí)間。一方面,當(dāng)問題規(guī)模達(dá)到一定的規(guī)模時(shí),采用多SM來協(xié)同解決問題可以極大的提高運(yùn)算的時(shí)間效率。另一方面,當(dāng)SM數(shù)量增加時(shí),網(wǎng)絡(luò)傳輸時(shí)間消耗也會(huì)線性增加。當(dāng)SM增加到一定數(shù)量時(shí),網(wǎng)絡(luò)傳輸時(shí)間增加的消耗量會(huì)超過任務(wù)運(yùn)算減少的時(shí)間量。所以,在實(shí)際中,采用多少SM來進(jìn)行并行計(jì)算還要視問題規(guī)模和網(wǎng)絡(luò)環(huán)境而定。
[1]涂序彥.廣義模型智能仿真軟件人[J].計(jì)算機(jī)仿真,2011,28(7):224-228.
[2]王安華,涂序彥.基于多層狀態(tài)空間和軟件人的油氣信息系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(19):4752-4757.
[3]閆立峰,涂序彥,曾廣平.一種軟件人性格近似度度量模型[J].計(jì)算機(jī)工程,2008,34(15):31-32.
[4]曾廣平,涂序彥.軟件人[C].中國人工智能學(xué)會(huì)第10屆全國學(xué)術(shù)年會(huì)論文集,2003.697-702.
[5]涂序彥.大系統(tǒng)控制論[M].北京:國防工業(yè)出版社,2000.
[6]曾廣平,涂序彥.“軟件人”的概念模型與構(gòu)造特征[J].計(jì)算機(jī)科學(xué),2005,32(5):135-136,143.
[7]曾廣平,涂序彥.“軟件人”研究及應(yīng)用[M].北京:科學(xué)出版社,2007.
[8]趙耀東,等.軟件人在遷移過程中的任務(wù)實(shí)現(xiàn)方式探討[J].計(jì)算機(jī)應(yīng)用研究,2006,(1):49-51.
[9]薛志純,余慎之,袁潔英.高等數(shù)學(xué)[M].北京:清華大學(xué)出版社,2008.
Performance Analysis of Multi“Soft Man”in the Implementation of Distributed Parallel Task-the Calculation π as an Example
ZHENG Jun
(Network Information Center,Baotou Teachers’College;Baotou 014030)
“Software man”is an anthropomorphic attributes of software of artificial life,its rapid development has injected new vitality,new ideas for parallel computing.In this paper,according to the“Soft Man”design combined with π value calculation of definite integral algorithm,design and implementation of multiple“Soft Man”parallel calculation model.At the same time,the communication model of the“Soft Man”is improved.Finally,with time as the metric standard,the“Soft Man”of several performance indexes of quantitative analysis,find out the factors that influence the performance of“Soft Man”,“Soft Man”the reasonable application of reference.
“Soft Man”;Parallel Computing;Migration Mechanism;Master-slave Mode;Performance Analysis
TP399
A
1004-1869(2014)01-0048-05
2013-12-23
鄭軍(1980-),男,內(nèi)蒙古烏蘭察布人,講師,碩士,研究方向:人工智能。