探明作物生育期模拟在PC集群环境下的并行调度算法,有助于提高模型的计算效率。该研究综合应用划分策略和流水线技术,具体分析了已有作物的生长发育和物候期模拟算法的输入输出参数特性,确定了作物生育期模拟通用算法框架,包括热效应、光周期效应、春化效应、有效积温、生理发育时间和物候期共6个计算单元;进一步明确了具有独立、自依赖和相互依赖关系的作物模型的计算任务划分和数据分解方法。为达到数据通讯和同步开销最小的目标,设计了多节点混合调度的优化模型。该研究提出了基于OpenMP的多处理机并行调度算法和基于MPI/OpenMP混合的多节点并行调度算法,并在Windows Compute Cluster Server2003组成的PC集群环境下,在加速比、计算缓冲区大小和计算节点个数等方面进行了性能度量与比较。结果表明:两种并行调度算法均可有效提高小麦生育期模拟的计算效率,第1种算法简单易行,平均加速比为1.55,对集群计算资源的利用率有限;第2种算法的平均加速比是3.37,当计算量较大时,具有更好的计算性能。
The study on the crop development simulation model using parallel scheduling algorithm in the low-cost PC cluster environment is help to improve the computing efficiency of the model.By partitioning strategy and pipelining technologies,the input and output parameters of the existent crop development and phenological simulation algorithms were characterized,and the general crop growth duration simulation algorithm framework was established,which includes six computing units of thermal effect,photoperiodic effect,vernalization effect,the effective accumulated temperature,physiological development time and phenophase.The computing task partitioning and the data decomposition of the model which operates independently or self-dependently or interdependently,were further determined.To reduce the cost of the data communication and synchronization,a optimized multi-node hybrid scheduling model was designed.Two parallel algorithms were proposed,which are the single-node parallel job scheduling algorithm based on OpenMP and the hybrid multi-node parallel job scheduling algorithm based on MPI/OpenMP.In the windows Compute Cluster Server 2003 cluster environment,the comparison of the speedup ratio,the computing buffer size and the number of computing nodes between the two algorithms are performed.The result revealed that both of the two parallel algorithms could improve the computing efficiency of the wheat development simulation.The first algorithm is simple and easy to realize,with the average speedup ratio being about 1.55.The average speedup ratio of the second algorithm was about 3.37.It was more efficient for large amount of data computing than the first algorithm.