论文部分内容阅读
由于分散的各个天文台源源不断地产生天文观测数据,为了方便检索,要求天文元数据的处理系统必须具备很高的实时性,而传统的批处理大数据平台需要将数据下载存储后再处理,因此难以满足系统的高实时性要求。Storm作为一个分布式流数据实时处理框架,能够保证大流量数据处理的时效性,因此本文考虑将其应用到天文元数据处理系统中,以实现数据流的实时接收与处理。通过分析发现影响Storm系统性能的核心问题之一是系统任务调度机制。目前Storm系统使用的默认调度机制为简单的轮询机制,虽然能够实现一定的负载均衡,但是针对天文元数据实时处理更复杂的任务需求,将产生较大的系统性能瓶颈。针对Storm系统调度问题,本文主要从两个部分共同实现优化:第一个方面是增加系统弹性机制以提高系统的资源利用;第二个部分是通过优化任务部署来减小系统的通信开销。首先,针对Storm系统弹性机制缺失问题,论文提出在系统中嵌入一个实时的自适应弹性机制模块,通过不断获取系统运行的状态信息,根据信息做出相对应的调度决策,动态的为每个Topology应用配置合理的计算资源,使系统的资源可以得到更充分的利用;然后,针对目前任务部署不合理而造成系统通信开销过大的问题,论文提出了一种基于图划分技术的任务部署调度优化方法。具体做法是将运行中的Topology计算应用看作一张带权重的图,然后利用图划分技术来对这张图进行处理,得到一个合理的任务部署优化调度方案。调度方案在保证负载均衡的条件下,可以有效地减小系统的通信开销。最后将调度方案提交给系统实施调度,实现减少系统处理时延,提高系统吞吐量的目标。论文对提出的调度优化方案进行了实现并搭建了实验环境,对系统的功能及性能进行了全面测试。试验结果表明,论文设计的调度优化方案能够在资源利用,系统处理时延以及吞吐量方面实现性能的提升。该调度方案的研究与实现,有效提升了Storm系统的性能,为天文元数据的实时处理提供了关键技术支撑。