论文部分内容阅读
平方公里阵望远镜(SKA)即将开始建设,各子工作包也将进入关键设计评估阶段。其中,科学数据处理器(SDP)是SKA重要的工作包之一。伴随着建设进度的不断推进,面对即将到来的海量天文数据,提高数据处理能力、降低能耗开销和快速自动部署天文应用软件等问题逐渐成为当下亟待解决的主要问题。在这些主要问题中,快速自动部署天文应用软件因为能够为提高数据处理能力提供有效支持的同时有助于降低能耗开销,成为了需解决的首要问题。针对这一问题,同时考虑到基于云与容器技术的容器云是SDP未来可能采用的平台技术,本论文在容器云平台之上对基于Docker的分布式天文应用集群计算展开研究。研究内容以基于MPI的分布式天文海量数据处理技术为核心,较为常用的可见度函数校准软件SAGECaL为具体研究对象,分别从自动部署的实现和负载均衡最优化这两方面展开。论文主要研究工作包括:(1)研究基于MPI的分布式天文应用集群的自动部署方法。使用自动化脚本并配合Docker Swarm容器编排组件,设计并实现能有效支持使用MPI进行分布式计算的天文应用集群自动部署框架。通过提供交互友好的用户接口,用户只需提供较少的必要参数即可完成集群计算、终止并删除集群和进入集群节点查看运行情况等多种操作。自动部署过程中部署模块会根据集群节点规模选择多因素容器静态调度算法或是批量调度动态调度算法来适应单应用和集群混合部署的应用场景。实验结果表明,本论文所提出的自动部署方法极大地提高了分布式天文应用集群的部署效率。(2)基于遗传算法以天文应用集群整体负载均衡为优化目标进行批量调度算法研究。研究内容主要是将待部署的天文应用集群的所有节点作为一个整体放到物理机集群动态负载环境中,通过进化类算法探寻部署方案的最优解。进化类算法是个“算法簇”,这其中包含多种具体的算法均可以探寻函数最优解。为给SKASDP将来的实际使用提供可靠的保障,本论文选用进化类算法中研究相对全面的遗传算法为基础来开展批量调度算法的研究。建立在SKA-SDP对海量天文数据处理的可靠性需求之上,本论文所研究的批量调度算法紧密围绕保障算法绝对收敛和避免陷入局部最优解这两个核心需求来展开研究。批量调度算法的实现使用了精英保留策略保障遗传算法绝对收敛,通过双种群小生境策略配合改进的自适应遗传算法进化策略来将局部最优解尽量逼近全局最优解。实验结果表明本论文的批量调度算法能够在绝对收敛的前提下调度成功率达到100%,与其他调度算法相比能够更有效的使天文应用集群达到整体负载均衡的效果。本论文研究的分布式天文应用集群自动部署方法和基于遗传算法的批量调度算法有效解决了分布式天文应用集群部署使用困难和计算资源使用效率不高的难题,具有一定的实用性。相关研究内容也为多种类型天文应用软件同时在容器云环境下进行敏捷部署提供了有益的思路,具有一定的应用和推广价值。