一种基于网络机群的散生竹地下根茎并行模拟仿真方法

文档序号:6544569阅读:206来源:国知局
一种基于网络机群的散生竹地下根茎并行模拟仿真方法
【专利摘要】本发明涉及一种基于网络机群的散生竹地下根茎并行模拟仿真方法,属于计算机模拟仿真【技术领域】。本发明将散生竹地下根茎模拟仿真分为鞭根生长建模、图形绘制渲染、任务调度管理3部分,将3部分任务分开并分配给网络机群中不同计算机并行完成,每一台计算机称为一个计算节点,各节点以交换机相互连接,构成网络机群系统。本发明解决了散生竹地下根茎模拟仿真数据量大、速度慢、实时性差的技术问题;可适应规模较大的散生竹林地下根茎根系模拟仿真任务。
【专利说明】一种基于网络机群的散生竹地下根茎并行模拟仿真方法
【技术领域】
[0001]本发明涉及一种基于网络机群的散生竹地下根茎并行模拟仿真方法,属于计算机模拟仿真【技术领域】。
【背景技术】
[0002]运用计算机模型开展植物根系生长模拟仿真研究已有较长历史。
[0003]目前,这些根系模拟仿真模型,在计算机算法实现中大多基于单路处理器、串行计算的构架,可以较好的满足单株植物根系模拟仿真需要。但在较大规模的散生竹林地下根茎模拟仿真中,涉及到大量的鞭根模拟模型,使数据量和计算量增加,存在计算量大、效率低、实时性差等问题,串行算法难以满足这一需求,而传统的利用多处理器构成的超级计算机过于昂贵。
[0004]并行仿真在解决大规模复杂系统仿真方面的效率和优势是公认的,如军事演习、空中交通管制、虚拟世界度等方面的应用,但将其用于植物根系生长模拟仿真方面的研究非常有限。针对这一问题,本发明提供一种基于价格低廉的网络计算机群系统,用于散生竹地下根茎的并行模拟仿真方法,以解决串行仿真时数据量大、速度慢、实时性差的问题。

【发明内容】

[0005]本发明提供了一种基于网络机群的散生竹地下根茎并行模拟仿真方法,以用于解决串行仿真时数据量大、速度慢、实时性差的问题。
[0006]本发明的技术方案是:一种基于网络机群的散生竹地下根茎并行模拟仿真方法,所述方法的具体步骤如下:
A、将散生竹地下根茎模拟仿真分为鞭根生长建模、图形绘制渲染、任务调度管理3部分,将3部分任务分开并分配给网络机群中不同计算机并行完成,每一台计算机称为一个计算节点,各节点以交换机相互连接,构成网络机群系统;其中,执行任务调度管理的节点为任务管理节点,执行鞭根生长建模计算任务的节点为建模节点,执行图形绘制渲染任务的节点为图形节点;
B、用户通过用户交互模块登录系统,提出所要完成的仿真任务,并输入全局仿真参数,以及鞭根系统的几何构型参数和生长参数,用户交互模块生成全局仿真任务数据包,通过网络通信模块传送给任务管理节点;
C、任务调度管理模块接收发送到任务管理节点上的全局仿真任务,分别对全局仿真任务进行任务划分、任务管理:首先按照任务划分模式分析并划分为多个生长建模计算子任务,生成生长建模计算子任务数据包,存储于任务队列中;然后按照任务管理模式监测评估网络机群系统中建模节点的数量及各建模节点的负荷状态,将任务队列中待分配的子任务合理的分配到各建模节点,通过网络通信模块将子任务数据包传送给各建模节点;
D、建模计算模块接收分配到建模节点的生长建模计算子任务,按照并行生长建模机制负责完成本节点上所有子任务的建模计算工作,然后将建模计算结果通过网络通信模块发送回任务调度管理节点进行汇总分析,同时,通过网络通信模块将三维图形指令发送至图形节点进行三维绘制与渲染,得到可视化的仿真结果;
E、任务调度管理模块接收到各建模节点返回的建模计算结果后,对总根长、根体积、根表面积结果进行分析汇总,计算得到总根长、根体积、根表面积分布指数,并将结果反馈给用户交互模块供用户查阅;
F、图形绘制渲染模块接收发送到图形节点的三维图形指令,按照指令进行三维绘制与渲染,得到可视化的仿真结果;其中工作流程包括绘图指令接收、绘图指令识别、指令参数匹配、绘图指令执行和图形结果显示;
其中,用户交互模块可运行于能访问网络机群系统的任何一台终端计算机上,任务调度管理模块运行于任务管理节点上,建模计算模块运行于建模节点上,图形绘制渲染模块运行于图形节点上,网络通信模块运行于所有节点上实现节点间的相互通信。
[0007]所述图形节点通常为配置专业图形加速卡的图形工作站。
[0008]所述步骤B中,全局仿真参数为仿真时间期限、时间步长、植株数量、各植株生长空间起始位置、长度单位;鞭根系统几何构型参数和生长参数包括竹鞭节长,竹鞭的轴向生长方向、轴向生长速率和径向生长速率,竹鞭盆鞭角度和盆鞭间距;鞭根的分枝角度和分枝间距、轴向生长方向、生长速率和径向生长速率。
[0009]所述步骤C中,任务划分模式为:采用功能分解法对全局生长建模计算任务进行任务分割,任务粒度分为2级,以单鞭的生长及其下的各级鞭根为主任务粒度,以鞭根的生长及其下的各级子鞭根为辅助任务粒度;其中,优先以主任务粒度为单位,把整体建模任务有效分割成若干建模子任务,存储于任务队列中由任务管理模式分配给不同的建模节点完成;当机群系统规模较大、空闲建模节点较多时,将负荷较大的建模子任务以辅助任务粒度为单位进一步细分为更小的子任务,分配到空闲建模节点上;
任务管理模式为:任务管理节点建有全局任务管理表,存有各建模节点当前的任务数量、内存资源消耗及CUP负荷状况信息,通过全局任务管理表监测评估网络机群系统中建模节点的数量及各建模节点的负荷状态,对任务队列中所有子任务进行分配和管理,确保建模各节点的负载平衡:如果待分配的子任务数量少于或等于建模节点数时,两者间直接进行映射;当子任务数量大于建模节点数时,考虑任务调度与负载平衡的问题,优先分配到任务负荷小的节点;每分配完成一项子任务后将其从任务队列中删除,并更新全局任务管理表;各建模节点建有局部任务管理表,存有该建模节点当前的子任务数量、内存资源消耗及CUP负荷状况信息,维护本地任务资源,局部、全局任务管理表之间保持同步更新,以便全局任务管理表能及时准确反映各建模节点的任务负荷状况。
[0010]所述步骤D中,并行生长建模机制的具体步骤如下:
D1、任务管理节点根据用户交互模块提供的任务数据包,读取鞭根系统生长模型的几何构型参数及生长参数,设定仿真时限、时间步长、鞭根系统植株数量及其在三维坐标空间的初始生长位置方向,初始化仿真任务,进行任务分解,生成任务队列;
D2、任务管理节点进行任务调度管理,将任务队列中的子任务分配到建模节点;
D3、建模节点接收子任务,根据子任务的类别,创建竹鞭或鞭根对象,将其加入生长队
列;
D4、在建模节点,以仿真时间步长为时序,逐一完成生长队列中竹鞭及鞭根的单位时间生长;
D5、判断其当前时序下生长队列中各竹鞭及鞭根的生长状态:
对于竹鞭,首先判断是否满足分生新鞭节的条件,如满足则分生新鞭节并记录在当前竹鞭对象中,否则保持继续分生状态使原节间伸长;其次判断是否满足岔鞭条件,如满足则计算岔鞭参数,并生成建模子任务请求发送给任务调度管理节点进行处理;最后判断是否满足分生鞭根条件,如满足则计算分根参数并创建鞭根对象,将其加入生长队列;
对于鞭根,判断是否满足分枝下级鞭根的条件,如满足则计算分根参数并创建下级鞭根对象,将其加入生长队列;
D6、建模节点按照时间步长增加仿真时间,进入下一时序,返回到步骤D3,直至到达仿真时间终点;
D7、按照以上步骤,沿着仿真时序,鞭根系统不断生长,得到单轴散生竹地下根茎在三维空间中的整个拓扑结构和几何形态特征。
[0011]本发明的工作原理是:
(I)散生竹地下根茎生长模型
散生竹地下根茎系统主要由竹鞭和鞭根两者的生长构成。鞭笋分生伸长,鞭笋后部鞭箨脱落成鞭环,从而出节,节间分生,鞭梢逐渐形成,鞭梢具节,节上生侧芽和鞭根,侧芽或成笋,长竹,或当本来的鞭笋的生长过程中遇外界因素而停滞生长时,侧芽则萌发分化成岔鞭(一级岔鞭);岔鞭上又会遵循同样的规律,生成更次一级的岔鞭(二级岔鞭),以此类推。鞭根的生长遵循类似须根系的生长规律,在鞭节处分生大量细小而均匀的不定根即为鞭根,根系成须状,鞭根上面也可以进一步分生出次级侧根,次级侧根还可继续分生下一级侧根。
[0012]散生竹地下根茎具有典型的分形特征,使其地下组织类似一个倒向放置的轴向树,可以利用倒置的轴向树结构来描述其根茎的拓扑结构。如附图5所示,散生竹地下根茎空间拓扑结构为:主鞭上从鞭节的部位分生出一级岔鞭和鞭根,一级岔鞭生长过程中又从它本身的鞭节上分生出二级岔鞭和鞭根,二级岔鞭的生长过程中又继续分生出岔鞭和鞭根,以此类推。根据以上空间拓扑结构特点,可以用根轴来描述竹鞭和鞭根。根轴是由一系列生长方向不同的直线型的根段组成,这些根段代表根轴在单位步长段内的生长情况,只需知道生长点及终止点两点坐标就可以确定根段的空间位置。
[0013](2)三维可视化模型
由于根系外部形状通常表现为根尖细末端粗,即同一根段底部半径比顶部半径大,因此根轴一般都呈圆台型(根尖部视为上底面逼近于零的圆台)。可用许多个绕轴线的圆台的组合来近似模拟根轴,如附图6所示。圆台的侧面展开近似于一个多边形,可以将其细分为一系列相互连接的三角形网格,如附图7所示为圆台侧面的三角形展开。这样就可以利用OpenGL中的基本图元命令三角形来表示圆台。在实际的绘制中,顺序导入多边形顶点的法向量和坐标,即可对其所构成的三角形网格进行定位,实现根段的三维建模。对每个根段(圆台)加以OpenGL的平滑、光照、颜色、材质、纹理等处理,最终绘制出具有较强真实感的各级竹鞭、鞭根,乃至整个地下根茎系统。
[0014]竹林地下根茎形态与其他植物明显区别之一就是:无论竹鞭、岔鞭,鞭梢上都有节,节的横截面也是圆形,则它的生长机模型也由多个圆台组合而成,而节突出于竹鞭鞭梢,所以构成它的圆台上下底半径分别大于与它们所相邻的竹鞭横断面圆台的半径。如前所述侧芽和鞭根都是从节上萌发分生出来的,为了体现这一特点,在程序设计时,在竹鞭对象当中定义了 isjoint整形变量,isJoint=l时表示该处有鞭节,isjoint=0时表示无鞭节。竹鞭在地下横向蔓延伸长的过程中,达到节长时,除了考虑是否分生岔鞭和鞭根外,还要设置该参数为1,表示该处有鞭节,渲染绘制时根据该参数的设置调用相关绘图函数绘制鞭节上的箨环和鞭环。
[0015](3)总根长、根体积、根表面积及指数分布的计算方法 总根长等于地下根茎中所有根段长度的总和,计算公式如下:
【权利要求】
1.一种基于网络机群的散生竹地下根茎并行模拟仿真方法,其特征在于:所述方法的具体步骤如下: A、将散生竹地下根茎模拟仿真分为鞭根生长建模、图形绘制渲染、任务调度管理3部分,将3部分任务分开并分配给网络机群中不同计算机并行完成,每一台计算机称为一个计算节点,各节点以交换机相互连接,构成网络机群系统;其中,执行任务调度管理的节点为任务管理节点,执行鞭根生长建模计算任务的节点为建模节点,执行图形绘制渲染任务的节点为图形节点; B、用户通过用户交互模块登录系统,提出所要完成的仿真任务,并输入全局仿真参数,以及鞭根系统的几何构型参数和生长参数,用户交互模块生成全局仿真任务数据包,通过网络通信模块传送给任务管理节点; C、任务调度管理模块接收发送到任务管理节点上的全局仿真任务,分别对全局仿真任务进行任务划分、任务管理:首先按照任 务划分模式分析并划分为多个生长建模计算子任务,生成生长建模计算子任务数据包,存储于任务队列中;然后按照任务管理模式监测评估网络机群系统中建模节点的数量及各建模节点的负荷状态,将任务队列中待分配的子任务合理的分配到各建模节点,通过网络通信模块将子任务数据包传送给各建模节点; D、建模计算模块接收分配到建模节点的生长建模计算子任务,按照并行生长建模机制负责完成本节点上所有子任务的建模计算工作,然后将建模计算结果通过网络通信模块发送回任务调度管理节点进行汇总分析,同时,通过网络通信模块将三维图形指令发送至图形节点进行三维绘制与渲染,得到可视化的仿真结果; E、任务调度管理模块接收到各建模节点返回的建模计算结果后,对总根长、根体积、根表面积结果进行分析汇总,计算得到总根长、根体积、根表面积分布指数,并将结果反馈给用户交互模块供用户查阅; F、图形绘制渲染模块接收发送到图形节点的三维图形指令,按照指令进行三维绘制与渲染,得到可视化的仿真结果;其中工作流程包括绘图指令接收、绘图指令识别、指令参数匹配、绘图指令执行和图形结果显示; 其中,用户交互模块可运行于能访问网络机群系统的任何一台终端计算机上,任务调度管理模块运行于任务管理节点上,建模计算模块运行于建模节点上,图形绘制渲染模块运行于图形节点上,网络通信模块运行于所有节点上实现节点间的相互通信。
2.根据权利要求1所述的基于网络机群的散生竹地下根茎并行模拟仿真方法,其特征在于:所述图形节点通常为配置专业图形加速卡的图形工作站。
3.根据权利要求1所述的基于网络机群的散生竹地下根茎并行模拟仿真方法,其特征在于:所述步骤B中,全局仿真参数为仿真时间期限、时间步长、植株数量、各植株生长空间起始位置、长度单位;鞭根系统几何构型参数和生长参数包括竹鞭节长,竹鞭的轴向生长方向、轴向生长速率和径向生长速率,竹鞭岔鞭角度和岔鞭间距;鞭根的分枝角度和分枝间距、轴向生长方向、生长速率和径向生长速率。
4.根据权利要求1所述的基于网络机群的散生竹地下根茎并行模拟仿真方法,其特征在于:所述步骤C中,任务划分模式为:采用功能分解法对全局生长建模计算任务进行任务分割,任务粒度分为2级,以单鞭的生长及其下的各级鞭根为主任务粒度,以鞭根的生长及其下的各级子鞭根为辅助任务粒度;其中,优先以主任务粒度为单位,把整体建模任务有效分割成若干建模子任务,存储于任务队列中由任务管理模式分配给不同的建模节点完成;当机群系统规模较大、空闲建模节点较多时,将负荷较大的建模子任务以辅助任务粒度为单位进一步细分为更小的子任务,分配到空闲建模节点上; 任务管理模式为:任务管理节点建有全局任务管理表,存有各建模节点当前的任务数量、内存资源消耗及CUP负荷状况信息,通过全局任务管理表监测评估网络机群系统中建模节点的数量及各建模节点的负荷状态,对任务队列中所有子任务进行分配和管理,确保建模各节点的负载平衡:如果待分配的子任务数量少于或等于建模节点数时,两者间直接进行映射;当子任务数量大于建模节点数时,考虑任务调度与负载平衡的问题,优先分配到任务负荷小的节点;每分配完成一项子任务后将其从任务队列中删除,并更新全局任务管理表;各建模节点建有局部任务管理表,存有该建模节点当前的子任务数量、内存资源消耗及CUP负荷状况信息,维护本地任务资源,局部、全局任务管理表之间保持同步更新,以便全局任务管理表能及时准确反映各建模节点的任务负荷状况。
5.根据权利要求1所述的基于网络机群的散生竹地下根茎并行模拟仿真方法,其特征在于:所述步骤D中,并行生长建模机制的具体步骤如下: D1、任务管理节点根据用户交互模块提供的任务数据包,读取鞭根系统生长模型的几何构型参数及生长参数,设定仿真时限、时间步长、鞭根系统植株数量及其在三维坐标空间的初始生长位置方向,初始化仿真任务,进行任务分解,生成任务队列; D2、任务管理节点进行任务调度管理,将任务队列中的子任务分配到建模节点; D3、建模节点接收子任务,根据子任务的类别,创建竹鞭或鞭根对象,将其加入生长队列; D4、在建模节点,以仿真时间步长为时序,逐一完成生长队列中竹鞭及鞭根的单位时间生长; D5、判断其当前时序下生长队列中各竹鞭及鞭根的生长状态: 对于竹鞭,首先判断是否满足分生新鞭节的条件,如满足则分生新鞭节并记录在当前竹鞭对象中,否则保持继续分生状态使原节间伸长;其次判断是否满足岔鞭条件,如满足则计算岔鞭参数,并生成建模子任务请求发送给任务调度管理节点进行处理;最后判断是否满足分生鞭根条件,如满足则计算分根参数并创建鞭根对象,将其加入生长队列; 对于鞭根,判断是否满足分枝下级鞭根的条件,如满足则计算分根参数并创建下级鞭根对象,将其加入生长队列; D6、建模节点按照时间步长增加仿真时间,进入下一时序,返回到步骤D3,直至到达仿真时间终点; D7、按照以上步骤,沿着仿真时序,鞭根系统不断生长,得到单轴散生竹地下根茎在三维空间中的整个拓扑结构和几何形态特征。
【文档编号】G06T17/00GK103970941SQ201410164391
【公开日】2014年8月6日 申请日期:2014年4月23日 优先权日:2014年4月23日
【发明者】张云伟, 喻勇, 王大龙, 陈岭 申请人:昆明理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1