论文部分内容阅读
随着各行业数据的不断积累,数据处理难度也越来越大。因此需要借助分布式系统进行数据处理。传统分布式系统提供了基础解决方案,但其性能有待优化,并且其上的应用场景也有待丰富。本文基于Spark系统,一方面从性能角度,优化了分布式计算系统在异构集群下的效率问题,另一方面,扩展了分布式中文NLP计算能力。性能角度,原生Spark调度策略的实现基于集群同质化假设,但随着数据中心的硬件更迭以及高性能元件引入,集群异质化现象日趋显著。实验表明Spark原生调度策略在异构集群环境下效果较差。针对该问题,本文提出一种新的调度策略,优化了Spark在异构集群下的表现。新策略引入创新的分层调度思想,通过在调度时综合量度任务复杂度、节点性能及节点资源使用情况等因子,实现了高效公平的任务调度算法。中文NLP扩展角度,Spark仅提供基础分布式计算能力。要实现分布式NLP,需要大量重复性编码工作,且大量开源算法和模型等无法与系统RDD结构兼容,使其效率受限,有的甚至无法在Spark实现分布式计算。因此本文基于新引擎,提出了与Spark底层RDD结构匹配的框架,并结合了主流的机器学习模型和算法,同时在应用层提供了较好的扩展性和接口。本文优化后的系统,命名为CH-Spark,采用了集群分层的思想,实现了异构集群下的高效公平调度策略,且在此基础上构建了基于RDD底层结构优化的高效分布式中文NLP框架。实验证明新系统较之于Spark有明显性能提升。