论文部分内容阅读
摘要:所谓的大数据是指那些无法用传统方法处理的数据信息,可以将其理解为海量数据与复杂类型数据的总和。大数据时代下,人们可以利用的信息增多,但是获取有效信息的难度明显加大,因此研究面向大数据的并行计算机模型及性能优化是非常有必要的。
关键词:大数据处理;并行计算模型;性能优化;数据信息;海量数据;复杂类型数据 文献标识码:A
中图分类号:TP391 文章编号:1009-2374(2016)06-0033-02 DOI:10.13535/j.cnki.11-4406/n.2016.06.017
信息技术的发展将人们推进了大数据时代,数据信息数量大、样式多且价值密度不高,使用传统的数据处理方法已经不能满足实际要求。为了更好地利用这些数据资源,在大数据时代的挑战中寻找到机遇,人们需要进一步研究并行计算机模型,实现模型优化,抓住大数据时代的机遇,促进大数据的进一步发展。
1 并行计算模型的发展趋势
首先,从计算机存储的角度来说,在大数据背景下将面临更加严峻的存储问题。我国计算机产业格局并不是处理与存储一体化,处理厂商与存储厂商处于相互分离的状态,导致这两项技术的发展出现不平衡现象,计算机系统的存储性能已经不能满足实际需要。从1985年到现在,计算机处理器性能以每年60%的速度提高,而存储性能的提升速度仅为每年9%。50%左右的差距导致处理性能与存储性能之间越来越不协调,因此未来在研究并行计算机模型时,会将存储性能作为重点研究对象。
其次,计算机体系结构中,多核逐渐成为主流。要想进一步提升系统的运算能力,仅仅依靠提升晶体管的集成度是不够的,因为系统运算能力还会受到材料物理性能等因素的影响,因此,系统中应用多核技术已经成为一种必然趋势。所谓多核技术,就是将多个计算内核集成在一个处理器中,每一个内核都能完成一个计算指令,这样一个处理器就能够完成并行计算指令。多核CPU的计算密度更高,并行处理能力更强,在相同计算条件下所消耗的功率更低,可以满足实际需要。
再次,异构众核集成技术在并行计算模型中的应用越来越广泛。一般情况下模型中都采用CPC与MIC组合构架模式,相对复杂的逻辑计算部分由CPU负责,而一些密集运算则由CPU或者是MIC来负责,这些密集运算的典型特征就是分支较少且并行度高,这种异构方式为超级计算机的发展奠定了基础。
最后,服务器逐渐向着大规模集群化且廉价化的方向发展,越来越多的互联网企业和网络运营商选择将大规模服务廉价集群作为系统硬件设施。这种集群式服务器的典型特征就是会自动将故障状态视为常态,因为即使集群中的一部分组间发生故障,也不会对系统整体造成太大影响。同时,该集群会为异构硬件扩容提供支持,或是在系统中加入存储资源,或是直接加入新的机器,系统根据实际情况对这些资源或者机器进行自动调取,这一过程不会对系统运行产生任何影响。
2 面向大数据处理的计算模型分析
2.1 模型概述
随着计算机技术的发展,大数据编程模型已经取得了不错的研究成果,其主要被应用在数据分析以及数据处理上,但是对于并行计算模型的研究却不够深入,从目前的情况来看需要解决以下问题:
首先,成熟的计算模型中需要包括以下两个要素:一是机器参数,包括CPU以及节点规模等;二是成本函数,其代表的是机器参数的函数,具体包括时间成本函数和空间成本函数。对这两个要素进行深入研究,能够对并行计算模型的发展提供理论支持。
其次,目前使用的大数据编程模型为了提高计算能力,会为系统资源提供横向扩展支持,同时程序中自带容错机制,一旦出现节点失效问题能够及时应对,虽然在一定程度上提高了应对能力,但是编程的扩展性以及容错性都是针对某个案例而言,因此并没有统一的度量标准,因此面向大数据处理的并行计算模型,需要对扩展性以及容错性这两个性能进行准确定义,用统一标准来评判其能力。
最后,大数据的应用效率会受到很多因素的影响,包括并行性级别、通讯问题以及存储问题等,目前所指的性能优化大多数都是针对某个系统框架或者是某个模型而言的,没有一个完整、统一的理论,而面向大数据处理的并行计算模型就要解决这一问题,统一优化理论、制定出可以面向所有模型的优化方法。
2.2 p-DOT模型分析
p-DOT模型在设计时将BPS模型作为基础,模型的基本组成是一系列iteration,该模型主要由三个层次
组成:
首先,D-layer,也就是数据层,整个系统的结构呈现出分布式,各个数据节点上存储数据集。
其次,O-layer,也就是计算层,假设q为计算的一个阶段,那么该阶段内的所有节点会同时进行独立计算,所有节点只需要处理自己对应的数据,这些数据中包括最初输入的数据,也包括计算中生成的中间数据,这样实现了并发计算,得到的中间结果直接存储在模
型中。
最后,T-layer,也就是通信层,在q这一阶段内,通信操作子会自动传递模型中的消息,传递过程遵循点对点的原则,因为q阶段中的所有节点在经过计算以后都会产生一个中间结果,在通信操作子的作用下,这些中间结果会被一一传递到q+1阶段内。也就是说,一个阶段的输出数据会直接被作为下一个阶段的输入数据,如果不存在下一个阶段或者是两个相邻阶段之间不存在通信,则这些数据会被作为最终结果输出并存储。
在并行计算模型下,应用大数据和应用高性能之间并不矛盾,因此并行计算模型具有普适性的特征,前者为后者提供模式支持,反过来,后者也为前者提供运算能力上的支持。另外,在并行计算模型下,系统的扩展性和容错性明显提升,在不改变任务效率的前提下,数据规模以及机器数量之间的关系就能够描述出系统的扩展性,而即使系统中的一些组件出现故障,系统整体运行也不会受到影响,体现出较好的容错性。 p-DOT模型虽然是在DOT模型的基础上发展起来的,但是其绝对不会是后者的简单扩展或者延伸,而是具备更加强大的功能:一是p-DOT模型可以涵盖DOT以及BSP模型的处理范式,应用范围比较广;二是将该模型作为依据能够构造出时间成本函数,如果在某个环境负载下大数据运算任务已经确定,我们就可以根据该函数计算出整个运算过程所需要的机器数量(这里将最短运行时间作为计算标准);三是该并行计算模型是可以扩展的,模型也自带容错功能,具有一定的普适性。
3 基于计算模型的性能优化方法分析
3.1 D-layer的优化
要想实现容错性,要对系统中的数据进行备份,因为操作人员出现失误或者是系统自身存在问题,数据有可能大面积丢失,这时备份数据就会发挥作用。一般情况下,系统中比较重要的数据会至少制作三个备份,这些备份数据会被存储在不同场所,一旦系统数据层出现问题就会利用这些数据进行回存。对于数据复本可以这样布局:一是每个数据块中的每个复本只能存储在对应节点上;二是如果集群中机架数量比较多,每个机架中可以存储一个数据块中的一个复本或者是两个复本。从以上布局策略中我们可以看出,数据复本的存储与原始数据一样,都是存储在数据节点上,呈现出分散性存储的特征,这种存储方式是实现大数据容错性的基础。
3.2 O-layer的优化
随着信息技术的发展以及工业规模的扩大,人们对大数据任务性能提出了更高的要求,为了实现提高性能的目标,一般计算机程序会对系统的横向扩展提供支持。随着计算机多核技术的普及,系统的并行处理能力明显增强,计算密度明显提高,对多核硬件资源的利用效率明显提升。传统并行计算模型主要依靠进程间的通信,而优化后的模型则主要依靠线程间的通信,由于后者明显小于前者,因此在利用多核技术进行并行计算时,能够在不增大通信开销的基础上明显提升计算
性能。
3.3 T-layer的优化
为了提升计算模型的通信性能,需要对大数据进行深度学习,具体原因如下:
首先,无论使用哪种算法,都需要不断更新模型,从分布式平台的角度来说,每一次迭代都代表一次全局通信,而一部分模型的迭代次数又非常多,同时模型中包含大量位移参数以及权重,例如模型AlexNet的基础是卷积神经网络,其迭代次数可以达到45万,耗费系统大量通信开销。
其次,如果分布式平台上本身就有很多机器,那么迭代过程就需要将机器的运行或者计算作为基础,就是说要想完成一次迭代,平台上所有的机器都要逐一进行计算,计算完成以后还需要对参数进行同步。这种迭代模式容易受到短板效应的制约,算法通信开销并不取决于计算速度最快的机器,而是取决于最慢的机器。为了避免短板效应,在对并行计算模型进行优化时,可以采用同步策略,对于计算速度较慢的机器进行加速,提升迭代类任务的通信性能。
4 结语
当前,人类已经进入了大数据时代,计算机并行机构体系发生了很大改变,人们对计算机系统模型的计算能力也提出了更高要求,这对并行计算来说既是一种机遇,也是一种挑战,基于此,本文研究了基于大数据的并行计算模型及其优化。
参考文献
[1] 覃雄派,王会举.大数据分析——RDBMS与MapReduce的竞争与共生[J].软件学报,2012,23(1).
[2] 程果,景宁.栅格数据处理中邻域型算法的并行优化方法[J].国防科技大学学报,2012,34(4).
[3] 潘巍,李战怀.大数据环境下并行计算模型的研究进展[J].华东师范大学学报(自然科学版),2014,(5).
[4] 张延松,焦敏.海量数据分析的One-size-fits-allOLAP技术[J].计算机学报,2011,34(10).
[5] 董新华,李瑞轩.Hadoop系统性能优化与功能增强综述[J].计算机研究与发展,2013,(5).
作者简介:文娟(1982-),女,湖南长沙人,威仁科技(北京)有限公司总经理,研究方向:计算机应用、大数据、云计算。
(责任编辑:周 琼)
关键词:大数据处理;并行计算模型;性能优化;数据信息;海量数据;复杂类型数据 文献标识码:A
中图分类号:TP391 文章编号:1009-2374(2016)06-0033-02 DOI:10.13535/j.cnki.11-4406/n.2016.06.017
信息技术的发展将人们推进了大数据时代,数据信息数量大、样式多且价值密度不高,使用传统的数据处理方法已经不能满足实际要求。为了更好地利用这些数据资源,在大数据时代的挑战中寻找到机遇,人们需要进一步研究并行计算机模型,实现模型优化,抓住大数据时代的机遇,促进大数据的进一步发展。
1 并行计算模型的发展趋势
首先,从计算机存储的角度来说,在大数据背景下将面临更加严峻的存储问题。我国计算机产业格局并不是处理与存储一体化,处理厂商与存储厂商处于相互分离的状态,导致这两项技术的发展出现不平衡现象,计算机系统的存储性能已经不能满足实际需要。从1985年到现在,计算机处理器性能以每年60%的速度提高,而存储性能的提升速度仅为每年9%。50%左右的差距导致处理性能与存储性能之间越来越不协调,因此未来在研究并行计算机模型时,会将存储性能作为重点研究对象。
其次,计算机体系结构中,多核逐渐成为主流。要想进一步提升系统的运算能力,仅仅依靠提升晶体管的集成度是不够的,因为系统运算能力还会受到材料物理性能等因素的影响,因此,系统中应用多核技术已经成为一种必然趋势。所谓多核技术,就是将多个计算内核集成在一个处理器中,每一个内核都能完成一个计算指令,这样一个处理器就能够完成并行计算指令。多核CPU的计算密度更高,并行处理能力更强,在相同计算条件下所消耗的功率更低,可以满足实际需要。
再次,异构众核集成技术在并行计算模型中的应用越来越广泛。一般情况下模型中都采用CPC与MIC组合构架模式,相对复杂的逻辑计算部分由CPU负责,而一些密集运算则由CPU或者是MIC来负责,这些密集运算的典型特征就是分支较少且并行度高,这种异构方式为超级计算机的发展奠定了基础。
最后,服务器逐渐向着大规模集群化且廉价化的方向发展,越来越多的互联网企业和网络运营商选择将大规模服务廉价集群作为系统硬件设施。这种集群式服务器的典型特征就是会自动将故障状态视为常态,因为即使集群中的一部分组间发生故障,也不会对系统整体造成太大影响。同时,该集群会为异构硬件扩容提供支持,或是在系统中加入存储资源,或是直接加入新的机器,系统根据实际情况对这些资源或者机器进行自动调取,这一过程不会对系统运行产生任何影响。
2 面向大数据处理的计算模型分析
2.1 模型概述
随着计算机技术的发展,大数据编程模型已经取得了不错的研究成果,其主要被应用在数据分析以及数据处理上,但是对于并行计算模型的研究却不够深入,从目前的情况来看需要解决以下问题:
首先,成熟的计算模型中需要包括以下两个要素:一是机器参数,包括CPU以及节点规模等;二是成本函数,其代表的是机器参数的函数,具体包括时间成本函数和空间成本函数。对这两个要素进行深入研究,能够对并行计算模型的发展提供理论支持。
其次,目前使用的大数据编程模型为了提高计算能力,会为系统资源提供横向扩展支持,同时程序中自带容错机制,一旦出现节点失效问题能够及时应对,虽然在一定程度上提高了应对能力,但是编程的扩展性以及容错性都是针对某个案例而言,因此并没有统一的度量标准,因此面向大数据处理的并行计算模型,需要对扩展性以及容错性这两个性能进行准确定义,用统一标准来评判其能力。
最后,大数据的应用效率会受到很多因素的影响,包括并行性级别、通讯问题以及存储问题等,目前所指的性能优化大多数都是针对某个系统框架或者是某个模型而言的,没有一个完整、统一的理论,而面向大数据处理的并行计算模型就要解决这一问题,统一优化理论、制定出可以面向所有模型的优化方法。
2.2 p-DOT模型分析
p-DOT模型在设计时将BPS模型作为基础,模型的基本组成是一系列iteration,该模型主要由三个层次
组成:
首先,D-layer,也就是数据层,整个系统的结构呈现出分布式,各个数据节点上存储数据集。
其次,O-layer,也就是计算层,假设q为计算的一个阶段,那么该阶段内的所有节点会同时进行独立计算,所有节点只需要处理自己对应的数据,这些数据中包括最初输入的数据,也包括计算中生成的中间数据,这样实现了并发计算,得到的中间结果直接存储在模
型中。
最后,T-layer,也就是通信层,在q这一阶段内,通信操作子会自动传递模型中的消息,传递过程遵循点对点的原则,因为q阶段中的所有节点在经过计算以后都会产生一个中间结果,在通信操作子的作用下,这些中间结果会被一一传递到q+1阶段内。也就是说,一个阶段的输出数据会直接被作为下一个阶段的输入数据,如果不存在下一个阶段或者是两个相邻阶段之间不存在通信,则这些数据会被作为最终结果输出并存储。
在并行计算模型下,应用大数据和应用高性能之间并不矛盾,因此并行计算模型具有普适性的特征,前者为后者提供模式支持,反过来,后者也为前者提供运算能力上的支持。另外,在并行计算模型下,系统的扩展性和容错性明显提升,在不改变任务效率的前提下,数据规模以及机器数量之间的关系就能够描述出系统的扩展性,而即使系统中的一些组件出现故障,系统整体运行也不会受到影响,体现出较好的容错性。 p-DOT模型虽然是在DOT模型的基础上发展起来的,但是其绝对不会是后者的简单扩展或者延伸,而是具备更加强大的功能:一是p-DOT模型可以涵盖DOT以及BSP模型的处理范式,应用范围比较广;二是将该模型作为依据能够构造出时间成本函数,如果在某个环境负载下大数据运算任务已经确定,我们就可以根据该函数计算出整个运算过程所需要的机器数量(这里将最短运行时间作为计算标准);三是该并行计算模型是可以扩展的,模型也自带容错功能,具有一定的普适性。
3 基于计算模型的性能优化方法分析
3.1 D-layer的优化
要想实现容错性,要对系统中的数据进行备份,因为操作人员出现失误或者是系统自身存在问题,数据有可能大面积丢失,这时备份数据就会发挥作用。一般情况下,系统中比较重要的数据会至少制作三个备份,这些备份数据会被存储在不同场所,一旦系统数据层出现问题就会利用这些数据进行回存。对于数据复本可以这样布局:一是每个数据块中的每个复本只能存储在对应节点上;二是如果集群中机架数量比较多,每个机架中可以存储一个数据块中的一个复本或者是两个复本。从以上布局策略中我们可以看出,数据复本的存储与原始数据一样,都是存储在数据节点上,呈现出分散性存储的特征,这种存储方式是实现大数据容错性的基础。
3.2 O-layer的优化
随着信息技术的发展以及工业规模的扩大,人们对大数据任务性能提出了更高的要求,为了实现提高性能的目标,一般计算机程序会对系统的横向扩展提供支持。随着计算机多核技术的普及,系统的并行处理能力明显增强,计算密度明显提高,对多核硬件资源的利用效率明显提升。传统并行计算模型主要依靠进程间的通信,而优化后的模型则主要依靠线程间的通信,由于后者明显小于前者,因此在利用多核技术进行并行计算时,能够在不增大通信开销的基础上明显提升计算
性能。
3.3 T-layer的优化
为了提升计算模型的通信性能,需要对大数据进行深度学习,具体原因如下:
首先,无论使用哪种算法,都需要不断更新模型,从分布式平台的角度来说,每一次迭代都代表一次全局通信,而一部分模型的迭代次数又非常多,同时模型中包含大量位移参数以及权重,例如模型AlexNet的基础是卷积神经网络,其迭代次数可以达到45万,耗费系统大量通信开销。
其次,如果分布式平台上本身就有很多机器,那么迭代过程就需要将机器的运行或者计算作为基础,就是说要想完成一次迭代,平台上所有的机器都要逐一进行计算,计算完成以后还需要对参数进行同步。这种迭代模式容易受到短板效应的制约,算法通信开销并不取决于计算速度最快的机器,而是取决于最慢的机器。为了避免短板效应,在对并行计算模型进行优化时,可以采用同步策略,对于计算速度较慢的机器进行加速,提升迭代类任务的通信性能。
4 结语
当前,人类已经进入了大数据时代,计算机并行机构体系发生了很大改变,人们对计算机系统模型的计算能力也提出了更高要求,这对并行计算来说既是一种机遇,也是一种挑战,基于此,本文研究了基于大数据的并行计算模型及其优化。
参考文献
[1] 覃雄派,王会举.大数据分析——RDBMS与MapReduce的竞争与共生[J].软件学报,2012,23(1).
[2] 程果,景宁.栅格数据处理中邻域型算法的并行优化方法[J].国防科技大学学报,2012,34(4).
[3] 潘巍,李战怀.大数据环境下并行计算模型的研究进展[J].华东师范大学学报(自然科学版),2014,(5).
[4] 张延松,焦敏.海量数据分析的One-size-fits-allOLAP技术[J].计算机学报,2011,34(10).
[5] 董新华,李瑞轩.Hadoop系统性能优化与功能增强综述[J].计算机研究与发展,2013,(5).
作者简介:文娟(1982-),女,湖南长沙人,威仁科技(北京)有限公司总经理,研究方向:计算机应用、大数据、云计算。
(责任编辑:周 琼)