论文部分内容阅读
利用离线大数据统计分析的方法进行自然语言处理任务的研究是目前非常有潜力的一种研究范式,尤其是Google,Twitter等大公司在这类应用上的成功经验,引领了目前大数据研究的浪潮。为进行离线大数据存储与计算,Google提出了一套计算框架,包括分布式存储GFS,计算调度系统Omega,MapReduce计算模型,Pregel计算模型等。这些模型利用成千上万的普通服务器集群搭建起强大的数据处理系统,每天离线的统计分析全球的网页数据与用户行为。 在当前的主流研究环境中,大多数实验室仅仅拥有一个中小规模的服务器集群,系统故障率远远低于超大规模集群,对可扩展性以及可靠性的要求较低,系统的焦点在于充分利用系统的性能进行更大规模的数据分析。本文针对自然语言处理研究的任务环境,以提高系统性能为目标,搭建了一个高性能离线大数据计算系统。 本文首先以提高单节点的处理性能出发,通过分析自然语言处理任务对于IO以及CPU的使用情况,以及原有模型的缺陷,提出了基于非对称多线程的FIOS模型,有效提高了IO密集型任务的IO使用率以及CPU使用率,在实验中,FIOS模型针对CPU密集型任务和IO密集型任务都显示出了良好的性能。 本文接着将FIOS模型作为处理核心,在FIOS模型的基础上,利用高并发服务器搭建起分布式通信基础,构建了一套分布式模型基础架构CCMI,利用CCMI可以搭建各种类型的分布式计算模型。本文以工作流和BSP图计算模型为例,说明了如何利用CCMI接口搭建起分布式计算模型。在实验中,以CCMI为基础的工作流模型和BSP图计算模型都显示出了良好的性能。在以Pagerank为例的实验中,BSP图计算模型达到了同类模型利用超大规模集群达到的计算速度。 通过本文的模型以及实验说明了在自然语言处理的研究中,利用中小集群进行超大规模数据统计分析的研究是可行的。