郑军
(包头师范学院网络信息中心,内蒙古包头014030)
多“软件人”在执行分布式并行任务中的性能分析—以计算π值为例*
郑军
(包头师范学院网络信息中心,内蒙古包头014030)
“软件人”是具有拟人属性的软件人工生命,其快速发展为并行计算注入了新的活力,提供了新的思路。本文按照“软件人”的设计思想结合圆周率π值的定积分计算算法,设计实现了多“软件人”并行计算π值的模型。同时,对多“软件人”的通信模型进行了改进。最后,以时间作为度量标准,对“软件人”的多项性能指标进行了定量分析,搞清楚了“软件人”性能影响因素,为“软件人”的合理应用提供了参考依据。
“软件人”;并行计算;迁移机制;主从模式;性能分析
在人工智能领域,基于分布式网络的“软件人”(SoftMan以下简称SM)技术在最近几年取得的了长足的发展[1-4]。SM是具有拟人属性的软件人工生命,是对软件在特性、功能、行为、结构方面的模拟、延伸和扩展[5-6]。SM具有自主性、移动性、自发性、协作性和智能性等特征。SM能在异构网络中自主地从一台主机迁移到另一台主机,它可以在网络中寻找到并充分地利用合适的计算资源、信息资源和硬件资源来高效地完成特定的任务。另外,它们不仅能对事件或变化做出反应,而且能积极感觉周围环境,以启动自己的动作。同时,多个SM可以组成一个社会群体,它们相互之间可以进行通信和协助共同完成一个复杂的任务。SM的这些能力使其广泛的应用于数据收集,搜索过虑,分布监视,信息传播,洽谈协商,商品交易等领域。
SM的这种特性突破了分布对象模型,如CORBA和EJB中传统的客户端/服务器端REQUESTANSWER模式。因此SM与分布式计算相结合,将使得分布式计算具有完全的主动性,并更能适应网络环境的不可预测性。当然,单个的SM其执行能力还是有限的,很难完成用户指定的任务。本文以北京科技大涂序彦教授提出的SM模型为基础,根据实际应用的需要建立了一种满足分布式计算特点的多SM计算模型,给出了一个并行求解π的计算实例,并对传统的SM通信机制进行了改进。最后,通过并行求解π的计算实例,分别对以下问题进行了定量研究:SM的执行效率和SM的数量有什么样的关系,多SM之间的通信消耗由什么因素决定的,SM的计算能力如何,协同执行任务的规模对多SM的执行效率会产生什么样的影响。以上这些问题是研究和使用SM的几个基础性的问题。这些问题的研究对搞清楚SM在什么领域内和什么条件下可被高效地合理地应用很有价值。
2.1 SM的迁移机制
SM的本体由虚拟脑,虚拟眼,虚拟耳,虚拟嘴,虚拟手,虚拟脚等构成。其中,虚拟脚的功能就是让SM在网上迁移[7]。软件人在迁移过程中有三种任务实现模式:工作流模式、主从模式和分体模式[8]。其中主从模式在处理复杂的问题时常常会被用到。主从模式的基本原理是:把任务按功能划分为一个或多个子任务,每个从软件人负责一项子任务的实现,主软件人负责控制和实现任务的主逻辑并通过分派和管理从软件人,让从软件人迁移到目标节点并完成具体的子任务,从而达到完成整个任务的目的。
2.2 圆周率π值的积分计算原理
图1:π值近似算法
如上图所示,通过计算矩形的面积可以近似的求出π值。在计算各个子区间的小矩形面积时,为了减小积分误差,取中间值作为矩形的高来计算。最终得到计算π值的近似算法如下面公式所示:
2.3 基于上述原理的分布式并行计算π值的实现模型
通过多年对分布式并行计算的研究,我们发现现在绝大多数的分布式并行计算模型的都是将全局性的任务细分成可以并行计算的子任务,然后将细分后的子任务分发到各执行节点上进行计算。当计算节点完成当前计算任务后,就会把结果回送到管理服务器上,进行结果的处理和合并,最终完成整个任务。根据这一特点和规律,我们将系统中的SM分为管理SM和执行SM两种。管理SM负责全局任务的划分、分发和结果的合并。而执行SM则只进行任务的计算,并将结果回送。π值计算模型如下图所示:
图2:π值计算模型图
在多SM系统中,SM之间的通信效率是制约整个系统效率的瓶颈和关键因素。在传统上是采用目录服务的方式来实现多SM之间的相互通信的。这种方式是在服务器端存放着一个总的SM地址表Directory,当SM之间需要通信时,首先要到Directory中通过网络查找到对方SM的地址,然后才能进行通信。这种通信方式对于求π的仿真计算来讲,其通信效率是比较低的。为此,需要对传统的通信方式进行改进。由于在进行求π值的仿真计算过程中个涉及到的通信的只是在管理SM和执行SM之间进行,因此,只要管理SM知道执行SM的地址,那么管理SM就可以将执行SM派遣到执行节点上执行,同样,执行SM只要知道管理SM的地址就可以把执行后的结果返回给管理SM。按照这种思路,重新设计了多SM之间的通信模型,新模型如下图所示:
图3:通讯模型
在上图中,管理SM首先在管理节点上执行,按照其次节点的IP地址建立一张执行SM目标迁移节点地址列表。根据这张迁移地址列表,执行SM就可以迁移到不同的节点上去执行。为了能够使执行SM的执行结果返回到管理SM来进行处理,在执行SM迁移时还要携带一些参数,这些参数由执行SM的编号和管理SM节点地址这两种数据构成。
2.4 实验环境和配置
根据SM的迁移特性和π值积分计算公式(1),分别对问题规模为N=12000,N=120000,N= 1200000,N=12000000进行了求π值的仿真实验。实验采用了主从模式来计算π值,其主从模式如图4所示:
图4:π值计算主从模式
如上图所示,在进行求π值实验的过程中共使用了七台配置相同的电脑,它们的配置情况是这样的:配有3.00GHz Intel Pentium CPU处理器,配有主频为2.99GHz容量为512MB的一条独立内存条,并且都装有Microsoft Windows XP Professional操作系统。这七台计算机是以以太网的方式连接,用来进行网络连接的交换机的型号是h3c s3100。
在实验的进行过程中,一共存在两种SM,分别是管理SM和执行SM。其中,管理SM是主从模式中的主,执行SM是主从模式中的从。其执行流程是这样的:首先,管理SM在图2的中间位置的计算机上首先运行;接着,管理SM负责生成执行SM并且给这个执行SM分配一个子任务。然后,管理SM让执行SM迁移到目标节点上,利用目标节点计算机的资源完成具体的子任务。最后,执行SM把子任务结果以消息的形式返回给管理SM。
3.1 SM数、问题规模和网络传输消耗时间的关系
实验按照问题规模分为N=12000,N=120000,N =1200000,N=12000000这样四个级别。在每个问题规模级别下,按照图4所示的主从模式,分别由管理SM生成1个执行SM,生成2个执行SM,……,生成6个执行SM,然后执行SM携带着各自不同的计算任务分别迁移到不同的计算机上利用远程计算机上的资源来进行计算。网络传输消耗时间与问题规模和执行SM的个数的关系,如表1所示。下表中的时间数据是5次实验数据的平均值,其时间的单位是ms,其值保留到小数点后一位有效数字(后面其它表格的数据也是相同的,以后不再叙述)。
表1:传输时间消耗表
根据表1的数据可以绘制得到SM数、问题规模和网络传输消耗时间的关系图。如图5所示。
图5:传输消耗关系
根据上面的传输消耗关系图,很容易得到以下关系:
1.问题规模对网络传输消耗没有影响。
2.网络传输消耗时间只与执行SM的个数有关系。随着执行SM个数的增加,网络传输消耗的时间也在增加,它们之间成线性正比例关系。
3.2 单个的软件人和单个Java程序执行效率的比较
为了对比测试SM执行环境的执行效率,按照公式(1),单独使用Java程序设计实现了计算π值的Java单机运行程序。用它和单个的SM在同一台计算机上运行,在SM不考虑网络传输消耗影响的情况下,得到表2所示的数据。
表2:效率对比表
由表2,可以看到,在不同问题规模下单个SM和Java单机程序所计算得到的π值都是相同的。这表明SM和Java单机程序它们两者在运算能力上是相同的。其次,与π值精确到小数点后20位的值π=3.14159265358979323846相比较,可以发现,随着问题规模N的增加,单个SM和Java单机程序所计算得到的π值的精度同时在增加。最后,根据表2绘制了单个SM和Java单机程序的运行时间柱状图,如图6所示。
图6:运行时间对比
根据图6,很容易发现单个SM和Java单机程序在计算π值所花费的时间在各个问题规模下,基本上是是趋于一致的。在问题规模N相同的情况下,单个SM执行花费时间要比Java单机程序执行花费时间还要略微少一些。
3.3 多SM执行效率问题研究
根据图3可以知道网络传输消耗时间和SM的数量是线性正比例关系,对于一个特定配置的网络,只要知道SM的数量就可以计算求得网络传输消耗时间。为了简化研究过程,下面的研究没有考虑网络传输消耗时间。在不同的问题规模N下,按照公式(1),采用平均分配N的方法,分别交由1个SM,2个SM,……,6个SM来共同计算π值。总的计算π值时间等于所有用来计算π值的执行SM中时间花费最大的那个时间。通过实验得到下表所示的时间花费数据。
表3:执行效率表
按照表3的时间花费数据绘制成了曲线,如下图所示:
图7:多SM执行时间分布
图7是一些斜率绝对值在逐渐减少的曲线,由上图可以很容易观察到以下规律:
第一,问题规模N越大,计算π值花费的时间越长;
第二,随着SM数量的增加,计算π值花费的时间在逐渐减少;
第三,问题规模N越大,SM的数量对执行时间的影响越大;
第四,随着SM数量的增加,SM的数量对执行时间的影响在逐渐减小。
本文重点对SM的迁移特性在计算π值时的性能表现进行了分析。通过对大量的实验数据的分析和多维度的研究可以发现:第一,SM的计算能力是很强的。它在运算能力方面是和Java处在同一水平;第二,在特定的网络环境中,SM的网络通讯消耗与SM的数量成正比,与其他无关。第三,SM数量的增加既能降低任务的执行时间,但同时也会增加网络通讯的消耗时间。一方面,当问题规模达到一定的规模时,采用多SM来协同解决问题可以极大的提高运算的时间效率。另一方面,当SM数量增加时,网络传输时间消耗也会线性增加。当SM增加到一定数量时,网络传输时间增加的消耗量会超过任务运算减少的时间量。所以,在实际中,采用多少SM来进行并行计算还要视问题规模和网络环境而定。
[1]涂序彦.广义模型智能仿真软件人[J].计算机仿真,2011,28(7):224-228.
[2]王安华,涂序彦.基于多层状态空间和软件人的油气信息系统[J].计算机工程与设计,2007,28(19):4752-4757.
[3]闫立峰,涂序彦,曾广平.一种软件人性格近似度度量模型[J].计算机工程,2008,34(15):31-32.
[4]曾广平,涂序彦.软件人[C].中国人工智能学会第10届全国学术年会论文集,2003.697-702.
[5]涂序彦.大系统控制论[M].北京:国防工业出版社,2000.
[6]曾广平,涂序彦.“软件人”的概念模型与构造特征[J].计算机科学,2005,32(5):135-136,143.
[7]曾广平,涂序彦.“软件人”研究及应用[M].北京:科学出版社,2007.
[8]赵耀东,等.软件人在迁移过程中的任务实现方式探讨[J].计算机应用研究,2006,(1):49-51.
[9]薛志纯,余慎之,袁洁英.高等数学[M].北京:清华大学出版社,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-),男,内蒙古乌兰察布人,讲师,硕士,研究方向:人工智能。