论文部分内容阅读
随着大数据时代的来临,从并行机体系结构、计算资源扩展能力到工业界应用模式都在发生显著变化。上述变化为并行计算提供新的发展机遇,同时也带来巨大的研究挑战。其中架构在硬件和软件之间的并行计算模型是推动大数据发展的核心技术之一。目前工业界已经研究和开发多种大数据编程模型,并广泛应用在TB级甚至PB级的数据处理与分析上,而学术界正在尝试和探索更抽象的大数据计算模型,来反映当前并行机的属性,揭示大数据任务中计算、通信和访存行为的本质特征,对各种主流大数据处理系统进行统一的理论分析,从而指导大数据应用调优。本文从传统并行计算模型、大数据编程模型和大数据计算模型的相关研究中,总结出大数据计算模型在理论上需要解决的三个基本问题:模型的三要素(机器参数、执行行为、成本函数)问题、扩展性与容错性问题和性能优化问题。本文围绕着这三个问题,一方面从理论上研究大数据计算模型及其性能优化方法,另一方面在实际的大数据案例中应用这些性能优化方法。具体而言,本文的主要研究内容、贡献和创新点可概况为以下几点:1.抽象出一个大数据计算模型:提出了一个面向大数据处理的并行计算模型p-DOT。 p-DOT模型分为p阶段,每个阶段都由数据层D、计算层O和通信层T共同组成,采用矩阵的形式化描述;选取输入数据规模w和机器数n作为主要的两个参数,依照模型所定义的计算、通信和I/O行为共同构造出时间成本函数,并以此推导出对一个给定的大数据任务和给定的环境负载,任务最短运行时间所需的机器数n*和输入数据规模的开方√w成正比。同时,p-DOT模型具有扩展性和容错性,对于一个软件框架,如果其任何一个任务均可用p-DOT模型表示,那么该框架的处理范式是可扩展和可容错的。2.证明模型的成本函数、扩展性和容错性:对于时间成本函数,通过对机器内存大小、机器数和任务执行时间的限制,使构造出的函数更接近于实际,并通过大规模的MPI和MapReduce实验证明该函数及其推论的正确性:对于扩展性,采用传统并行计算性能评测标准中的等效率函数,证明了基于p-DOT模型的处理范式是可扩展的,但不是强可扩展的;对于容错性,在输入数据D都存放在永久性存储设备的前提条件下,证明了基于p-DOT模型的处理范式是可容错的。3.设计基于模型的优化方法并应用:针对p-DOT模型的数据层D、计算层O和通信层T,分别设计了利用数据复本、利用多核技术和利用部分同步策略的性能优化方法。一方面,从理论上证明了1)利用数据复本不仅是大数据任务容错性的必要条件,也能有效地提高任务的I/O访存性能;2)利用多核技术能在不增大通信开销的同时,有效地提高任务的计算性能;3)在任务的收敛条件与原始的不超过阈值θ时,利用部分同步策略能有效地提高任务的通信性能。另一方面,选择了三个实际的大数据案例1)地震前兆台网系统中对关系型地震大数据的查询服务、2)人脸识别系统中利用SVM线性分类器的训练问题、3)深度学习系统中利用卷积神经网络的训练问题,在案例中应用基于模型的优化方法来提升性能,并通过实验证明优化后的加速性能。