摘要
随着计算机和信息技术的迅猛发展和普及应用,行业数据爆炸性增长,全球已经进入了“大数据”时代。大数据已引起全球业界、学术界和各国政府的高度关注。大数据已经渗透到各行各业,巨大的数据资源已成为国家和企业的战略资源。大数据给全球带来了重大的发展机遇与挑战。一方面,大规模数据资源蕴涵着巨大的商业价值和社会价值,有效地管理和利用这些数据、挖掘数据的深度价值,对国家治理、社会管理、企业决策和个人生活将带来巨大的影响。另一方面,大数据带来新的发展机遇的同时,也带来很多技术挑战。格式多样、形态复杂、规模庞大的行业大数据给传统的计算技术带来了巨大挑战,传统的信息处理与计算技术已难以有效地应对大数据的处理。因此,需要从计算技术的多个层面出发,采用新的技术方法,才能提供有效的大数据处理技术手段和方法。大规模数据的有效处理面临数据的存储、计算和分析等几个层面上的主要技术困难。首先,动辄达到数百TB级甚至PB级规模的行业大数据,远远超出了传统数据库系统的处理能力。因此,需要研究提供有效的分布式大数据存储管理技术方法与系统。同时,大规模数据处理是一个非常耗时的计算过程,使得传统的单机系统远远无法满足大数据对计算性能的要求。因此,需要研究提供高效的并行化大数据计算技术方法与系统。进一步,大数据的有效分析利用通常涉及到对大规模数据的分析挖掘,而巨大的数据量使得传统的单机机器学习和数据挖掘算法都难以在可接受时间内完成计算,导致算法失效。因此,需要研究提供有效的并行化大数据机器学习与分析挖掘算法和大数据机器学习系统。大数据处理不同于传统的计算与信息处理技术的另一个重要特点是,它是一项涉及计算与信息处理技术众多方面的综合性技术,具有显著的技术综合性和交叉性特征,以任何一个单一和隔离的技术层面和技术方法,都难以有效完成大数据的处理。因此,大数据的有效处理需要将存储、计算与分析层面的技术紧密结合、交叉综合,以形成一种完整的大数据处理技术栈,构成一体化的大数据处理系统平台。基于以上问题背景,本文对大数据处理的多个技术层面进行了深入研究,在分布式存储技术与系统、并行化计算技术与系统、以及大数据并行化机器学习与数据分析算法与系统方面,进行了一系列的研究。具体而言,本文工作包括以下主要技术内容和贡献:(1)大数据分布式存储管理技术与系统研究。主要开展了三方面的研究工作。1)为了提升大数据分布式存储系统的性能,研究实现了分层式大数据存储系统缓存调度策略与性能优化方法,可显著提高分布式存储系统数据访问的性能;2)研究实现了一种通用的分布式文件系统性能测试方法与系统工具,可以用于各种分布式文件系统的性能评估和研究优化,或者用于大数据应用系统设计时选择合适的存储系统和参数优化配置;3)研究设计了分布式层次化大规模RDF语义数据存储技术与管理系统,可有效地存储管理大规模RDF语义数据。(2)主流大数据并行计算系统性能优化研究。主要研究了两方面的工作。1)Hadoop MapReduce作业执行调度优化技术,研究实现了优化的MapReduce作业与任务调度处理方法以及高效的任务执行状态通信方法,实现了一个与标准Hadoop完全兼容的优化版本Hadoop; 2) Spark RDD数据堆外(Off Heap)内存存储机制,针对Spark在处理大规模数据性能受到JVM垃圾回收严重影响的问题,研究实现了一种基于分布式堆外内存存储的Spark RDD数据存储机制。(3)大数据并行化机器学习与数据分析方法与算法研究。主要研究实现了多个应用领域的复杂大数据机器学习与数据分析并行化算法,包括:1)针对数据挖掘领域中大规模神经网络训练性能低下的问题,研究实现了一个定制式大规模神经网络训练并行化算法与计算平台cNeural;2)针对在搜索引擎和信息检索领域重要的排序学习(Learning To Rank)算法GBRT (Gradient Boosting Regression Tree)训练耗时较长的问题,研究提出了基于K-Means直方图近似算法优化的加速方法及其并行化算法;3)针对语义网推理领域中RDFS和OWL推理规则集在大规模语义数据上推理耗时过长的问题,研究实现了基于Spark并行计算平台的高效并行化推理方法与系统。(4)统一大数据机器学习与数据分析编程模型与系统平台研究。针对大数据分析处理时面临的系统平台可编程性和易用性问题、以及大数据分析处理时的计算性能问题,研究提出了一种基于矩阵模型的统一大数据机器学习与数据分析编程模型与框架,并进一步设计实现了一个跨平台统一大数据机器学习与数据分析系统平台Octopus(大章鱼),该系统底层可与Hadoop、Spark、MPI、Flink等主流大数据平台集成,实现底层平台对上层数据分析程序员的透明性,而上层可使用R/Python编程语言与编程开发环境,基于矩阵模型,方便高效地完成大数据分析算法和应用的编程和计算。通过对上述大数据分布式存储、并行化计算、以及大数据分析层面关键技术方法与系统的研究,本文取得了一系列研究工作成果,这些成果可作为重要支撑技术与系统,有效运用于构建一体化的大数据处理系统平台。本文部分成果已经被成功运用于工业界的开源或者商业化大数据处理系统或应用产品中。