首页 理论教育 云计算大数据协同机制

云计算大数据协同机制

时间:2023-11-16 理论教育 版权反馈
【摘要】:在分布式系统中,计算与数据之间的协同关系是非常重要的。一个典型的由MPI实现的分布式计算系统在计算开始时通过NFS等网络共享文件系统将计算程序从主节点分配到每个子节点的内存,因为它没有分布式文件系统的支持。当计算中需要节点间的数据交换时,通过MPI提供的消除传输机制进行数据交换。像MPI这样的分布式计算系统通常称为基于计算分解的分布式计算系统。

云计算大数据协同机制

计算和存储也是云检测系统的核心问题。在分布式系统中,计算与数据之间的协同关系是非常重要的。在分布式系统中,如何通过计算获取数据是实现计算的关键。在计算时代,问题并不突出,在数据计算时代,数据协作机制已经成为一个必须考虑的问题。该机制的实现通常与系统的体系结构密切相关,系统的基础结构决定了系统计算和数据的基本协作模式。以下是几种常见的分布式系统作为其计算和数据协作机制分析比较的实例。

1.基于计算分割的分布式计算栅格

在以硬件为核心的时代,高性能计算已经从以CrayC-90为代表的并行矢量处理器发展到以IBMR 50为代表的对称多处理器计算机(SMP),最后发展到工作站集群的(COW)和(BeowULF)集群结构。这一过程与CPU等硬件技术的快速发展相对应。它可以使用廉价的工作站,甚至一般的PC机来构建高性能的系统来完成面向计算的高性能计算任务。

基于消息传递机制的并行计算技术(Message-Passing Interface,MPI)帮助工作站集群和Beowulf集群实现强大的计算能力,提供了灵活的编程机制。MPI的标准化开始于1992年4月,美国并行计算研究中心在弗吉尼亚的威廉斯堡召开消息传递标准的讨论会,讨论了消息传递接口的一些重要基本特征,组建了一个制定消息传递接口标准的工作组,在1993年2月完成了修订版,这就是MPI1.0。1997年,MPI论坛发布了一个修订标准,叫MP1-2,同时原来的MPI更名为MP1-1。MPICH为MPI标准的一个开源实现,目前已被广泛应用于高性能计算领域

MPI通过消息传递机制连接大量节点,使节点的计算能力聚集成强大的高性能组合,主要用于计算密集型任务。MPI提供API接口,并通过消息通信功能(如MPI_Send()和MP_Recd()实现数据交换。高性能计算是一个典型的面向计算的系统,通常处理计算密集型的任务,因此在基于MPI的分布式系统中没有匹配的文件系统支持。该计算在启动前通过网络文件系统(如NFS)从集中存储系统读取数据,并用于计算。

一个典型的由MPI实现的分布式计算系统在计算开始时通过NFS等网络共享文件系统将计算程序从主节点分配到每个子节点的内存,因为它没有分布式文件系统的支持。MPI不能直接从节点存储设备读取数据,子节点启动后,计算程序只能通过网络共享文件读取要处理的数据。在这里,数据和计算程序通常集中存储在专门的存储系统中,如数组。此过程不计算查找数据的过程。根据设计要求,将程序分发给参与计算的所有节点。在MPI并行编程中,程序设计人员需要预先划分程序中的计算任务,将计算程序分配给节点,并根据判断条件启动相应的计算工作。当计算中需要节点间的数据交换时,通过MPI提供的消除传输机制进行数据交换。TCPU的运行速度远远快于网络数据的传输速度,所以我们希望不同节点之间的任务相关性越小越好。在MPI的编程实践中,坚持“通过计算交换数据”的原则,使系统能够尽可能少地进行数据交换。MPI的消息传递机制为并行化的计算提供了一种灵活的方法,但目前还没有一种非常有效的方法来实现任意问题的自动并行化。因此,计算的分割往往需要程序员根据自己的经验进行。这种灵活性是以降低编程难度为代价的。

基于MPI的高性能计算是典型的分布式计算系统。这种典型的面向计算的系统往往对节点的计算能力提出了更高的要求,从而降低了系统的数据通信成本。MPI的基本工作过程可以概括为分段计算、注入程序、启动计算和数据读取。尽管MPI是一个典型的面向计算的分布式系统,但它也具有类似于后来的Google系统中的Map Reduce功能,例如MPI提供MFI_PRINE()函数来实现减少功能,但是没有像GFS这样的分布式文件系统的支持。MPI的降低能力相对有限,效率低下,无法实现在数据存储位置启动计算的功能。

像MPI这样的分布式计算系统通常称为基于计算分解的分布式计算系统。这种协作是通过存储到计算的迁移来实现的,这意味着系统首先定位计算节点,然后将数据从集中式存储设备读取到计算程序所在的节点。当数据量很小时,这种方法是可行的,但对于读取大量数据仍然是低效的。

2.基于计算与数据分割的混合分布式计算技术

在硬件和网络发展到一定阶段后,由于硬件价格较低,大多数人都有自己的个人计算机,但一方面,一些需要大量计算的任务资源是不够的,另一方面,最大的个人电脑闲置问题。由于网络的发展,网格技术是解决这一矛盾的巧妙途径。网格技术的共识是整合分布在世界各地的大量异构计算设备的资源,构建一个具有强大回报能力的超级计算系统。

网格计数出现在20世纪90年代。网格出现的历史背景是当时世界已经有了一个初步的网络,硬件价格还比较高,个人计算机逐渐普及,但是面对大规模的计算,当时计算中心似乎还是做不到,可以利用世界各地闲置的计算资源来建立一个超级计算资源库。计算网格是提供可靠、连续、通用和廉价的高端计算能力的硬件和软件基础设施。全球网格论坛(GGF)成立于1998年,2006年与企业网格联盟(EGA)合并,成立了开放网格论坛(OGF),旨在定义网格计算的开放标准。Argonne国家实验室和南加州大学信息科学学院开发了一个Globus工具包来实现这些标准,工具包已经成为网格中间件验证标准。

网格系统倾向于预先在异构计算终端服务器上安装某种形式的计算程序(如屏幕保护程序),以监视计算终端的工作状态。当计算终端空闲时,将启动计算程序处理数据,由网格服务器负责将数据分发给计算终端并汇总计算结果。网格系统也是逻辑上集中的数据存储,网格服务器负责数据的分割和传输到需要计数的计算终端数据块。在这种系统结构中,计算和数据协作机制是通过数据搜索来实现的,即网格中的移动主要是数据而不是计算,在数据量小的情况下很容易实现。但是,如果需要处理的数据量很大,这种迁移数据的方法是不方便的。在网格系统中,计算优先于数据到计算终端,这与MI>I非常相似,数据是通过计算程序主动获取的,从而实现了计算与数据的一致性。一般来说,网格系统不仅具有将数据系统中的数据划分为分布式计算的思想,而且在面向计算的系统中还具有从计算到数据迁移的特点。因此,典型的网格系统是一个既面向数据又面向计算的混合系统。完成的任务主要是需要高性能计算的计算密集型任务。应用领域主要是科学计算等专业领域。这里比较有名的网格项目是外星文明搜索计划。应用于该程序的SETI@home网格使计算程序成为屏幕保护程序,并借用网络上的空闲计算资源。当计算终端空闲时,请求网格服务器对数据块进行切片,并计算数据块,并在计算完成后将结果返回给网格服务器摘要。

随着面向数据的计算逐渐成为计算发展的主流,网格技术也在发生变化,Globus也对大数据做出了相应的改变,以适应当前的实际需求,网格技术现在呈现出向云计算方向发展的趋势。

作为一种典型的网格技术,它可以看作是从计算到面向数据的发展过程中的一种过渡技术。网格计算将在专业领域得到更好的发展,但它可能会在一定程度上淡出普通用户的视野。网格计算的一些思想和技术为云计算技术的出现提供了一种参考方法。

3.基于数据分割的分布式计算技术

在网络飞速发展的时期,数据的生成一直是全民的日常行为,数据量呈爆炸式增长。随着大数据的到来,数据的作用已经提升到一个非常高的地位。人们对数据所能带来的知识发现有很强的信心。长期以来,数据挖掘技术的应用一直处于低温和火灾状态。基于海量数据的挖掘被迅速应用于网页数据分析、客户分析、行为分析、社会分析等领域,现在往往可以精确地推送到自己的计算中。这种面向数据的数据挖掘技术是在计算机上进行产品介绍和新闻报道的基础。基于数据分割的分布式计算常用于面向计算的时代,称为数据并行方法,但面向计算时代的实际问题是计算与数据之间只有一个简单的协作关系。事实上,数据和计算还没有很好地结合,计算只是简单地读取它需要处理的数据,系统没有考虑太多的数据存储方法、网络带宽利用率等问题。

基于数据分割的分布式计算是面向数据技术的一个重要特征。2003年,Google逐渐公开了其系统结构,Google的文件系统GFS实现了对文件系统的数据分割。这对于利用Map Reduce实现数据的自动分布式计算具有十分重要的意义。文件系统自动划分文件本身,完全改变了分布式计算的性质。MPI和网格计算没有匹配的文件系统支持。从本质上讲,数据是集中存储的。网格计算具有数据分割的功能,但只有在集中存储的前提下才能实现。具有数据分割功能的文件系统是面向数据的分布式系统的基本要求。

2004年,Jeffrey Dean和Sanjay Gema Walter发表了描述Google系统Map Reduce框架的文章。不像MPI。这种框架通常实现分布式处理,不是分片计算,而是通过数据分割来实现大数据的分布式处理。在Map Reduce框架中,分布式文件系统是整个框架的基础。该框架中的文件系统通常将数据划分为128 MB的块,以便进行分布式存储。当数据被处理时,它将直接由每个块所在的节点发起,从而避免了从网络读取数据所花费的大量时间。计算主动权的“搜索”功能简化了分布式处理程序的设计难度。在此,通过文件系统对数据块进行预先划分,是Map Reduce自动实现分布式计算的重要前提。系统通过主节点的元数据维护存储在系统中的每个数据块的节点位置。这样,计算就可以有效地找到需要处理的数据。Map Reduce数据分割策略的块非常适合大数据处理,过小的数据块会使框架中的数据处理效率下降。该框架在获得良好的大数据并行处理能力的同时,也有其应用的局限性。Map Reduce框架在对同一类型的大数据块进行相同类型的计算处理时,具有很好的自动分布式处理能力。然而,在小数据、复杂数据类型和可变数据处理方法的应用中,效率相对较低。为了在Google系统中实现良好的计算和数据协作机制,GFS和Map Reduce是密不可分的,如果没有GFS的支持,单独采用Map Reduce并不是很有价值的。

Map Reduce框架使计算能够准确地找到在集群节点中处理数据的节点。定位的前提是所处理的数据具有相同的数据类型和处理方式,从而实现数据的分离,实现计算到数据的迁移。事实上,数据系统的这种负载平衡是在阻塞数据时完成的,系统每个节点的处理压力对应于该节点上数据块的特定情况。因此,Map Reduce框架下一个节点的低处理能力可能导致整个系统等待形成数据处理的瓶颈。在Map Reduce框架中,节点服务器主要完成基本的计算和存储功能,因此廉价的服务器可以作为节点。这一变化改变了传统服务器吞吐d2005Apache基金会启动的Google系统作为Hadoop项目的模板,Hadoop完全实现了上述所描述的面向数据M的分布式计算系统。相应的HDFS文件系统Hadoop已经成为一个被广泛接受的数据系统标准系统。

数据分析技术是基于数据分割的分布式系统的研究热点。对类似于Web的海量数据的分析需要分析大量的新数据。因为Map Reduce框架无法存储以前的本地和中间结果,因此Map Reduce框架只能重新计算所有新的数据集。为了获得新的索引结果,该方法所需的计算资源和计算时间将随着数据量的增加而线性增加。Percolator是一种新的体系结构,可用于增量数据的处理和分析。它已经在Google索引中得到应用,大大提高了Google索引的更新速度,但是它不再与Map Reduce等非增量系统兼容。程序员需要根据具体的应用开发动态增量算法,这大大增加了算法和代码的复杂度。Incoop提出了增量式Hadoop文件系统(INC-HDFS),HDFS按固定块大小划分文件,INC-HDFS按内容划分文件。当文件的内容发生变化时,只有少量的文件块会发生变化,大大减少了Map操作的数量。

迭代操作是Web数据分析的核心操作,如Page Rank、K-Means等。作为一个通用的并行计算框架,Map Reduce的下一次迭代必须等待上一次迭代的完成并将输出写入文件系统。如果有终止条件,检查也必须等待它完成。同时,将前一次迭代输出的数据写入文件系统,再在下一次迭代时读取,导致网络带宽、I/O和CPU时间的浪费。在分析了迭代过程中的执行相关性、数据相关性和控制相关性后Hadoop挖掘了潜在的并行性,提出了一种异步迭代方法,与Hadoop实现的Map Reduce相比,其平均执行时间减少了25%。Twilter通过调整任务重用、数据缓存和迭代结束条件的判断来适应迭代计算,但其容错机制尚不完善。

PreGel是Google为解决分布式大规模图形计算问题而提出的一种计算模型,它非常适用于Facebook等社会关系图分析的计算。它将处理对象视为连通图,而Map Reduce将处理对象视为键值对。PreGel将计算细化到顶点,而Map Reduce则对计算进行批处理以迭代任务。

在分布式文件系统条件下,数据分割使文件系统的管理变得复杂。在这类集群系统中,文件系统的管理和数据分析是需要关注的研究领域之一。

4.四种分布式系统和三种分布式系统的分析与比较

从面向计算到面向数据,分布式系统的主要特征也发生了变化。分布式系统的发展可分为三种类型:面向计算机的分布式系统、混合分布式系统和面向数据的分布式系统。混合分布式系统是发展过程中的一个中间阶段。它既有计算特性,也有面向数据的特性。面向数据的系统有一些典型的特性,例如混合系统中的数据分割,采用集中存储和数据迁移的方法来实现计算与数据的位置一致性。对于面向数据的分布式系统,它通常得到相应的分布式文件系统的支持,从文件存储的一开始就实现了数据块的划分,为数据分析中的自动分布式计算提供了可能。计算与数据的协同机制已成为面向数据系统的核心问题,其重要性日益突出。

分布式计算系统以其灵活性和强大的计算能力,可以完成大部分的计算任务,而面向数据的分布式系统则可以解决海量数据的自动分布式处理问题。然而,它仍然是一种功能有限的分布式计算系统,不能灵活地适应大多数计算任务。因此,对面向计算的分布式系统和面向数据的分布式系统的结合进行了一些研究工作,希望能在计算灵活性和海量数据处理方面获得良好的性能。随着技术的发展,面向计算和面向数据的系统之间的界限越来越模糊。很难说一个特定的系统是面向计算的还是面向数据的。数据和面向数据的计算已经紧密结合在一起,在云计算和大数据时代,计算和数据协作机制已经成为一个重要的研究课题。(www.xing528.com)

尤其是高性能收集集群系统的出现,说明了这种融合过程正在成为现实。HPCC系统是LMC公司开发的面向数据、高性能的计算平台。HPCC使用商用服务器为大数据构建高性能的计算系统。HPCC系统希望结合面向数据和面向计算机的优点,解决大数据的分布式存储问题。它还可以解决大数据的数据处理问题。

HPCC系统主要由数据抽取集群(TOR)、数据发布集群(Roxie)和并行编程语言组成。Thor集群是主从集群,该集群具有一个分布式文件系统(Thor DFS),可以实现冗余功能。主要完成大数据的分析和处理。从类似的角度来看,可以将此部分看作是支持MPI的分布式文件系统,这弥补了没有分布式文件系统支持的MPI的不足。HPCC系统中高性能检测与大数据存储的融合再次表明,计算与数据协作问题是解决数据时代大数据分析与处理问题的关键技术。

5.云计算和物联网

云计算和物联网如此接近,以至于在一段时间内,云计算和物联网总是同时出现在各种媒体中。物联网的出现部分得益于网络的发展,大量的传感器数据采集需要良好的网络环境,特别是部分图像数据的传输对网络的性能提出了很高的要求。在物联网技术中,传感器的使用使得数据的生产自动化,数据生产的自动化也是推动大数据技术发展的动力之一。物联网就是“互联网”。这里有两个含义:第一,物联网的核心和基础仍然是互联网,它是互联网在互联网基础上的延伸和延伸;第二,它的客户端扩展并扩展到任何对象和对象之间的信息交换和交流。因此,物联网就是通过RFID(RFID)设备、红外传感器、全球定位系统激光扫描仪等信息传感设备,按照协议,将任何对象连接到互联网上进行信息交换和通信,以实现网络的智能识别、定位、跟踪、监控和管理。物联网的明确概念是麻省理工学院Aum-ID实验室于1999年首次提出的。它最初是为了提高基于互联网的流通领域的信息化水平而设计的。物联网的概念可以看作是一类应用的术语,物联网和云计算技术之间的关系从定义上来说就是应用程序和平台之间的关系。

物联网系统需要大量的存储资源来存储数据,同时也需要计算资源来处理和分析数据。目前物联网传感器连接具有以下特点:

·连接传感器的类型多种多样;

·连接了大量传感器;

·各种各样的传感器都连接在一起。

这些特点将导致物联网系统在运行过程中产生大量的数据,物联网的出现使得数据的生成自动化。各种监测点不断产生大量传感器数据,特别是信息采样的空间密度和时间密度不断增大,视频信息被大量使用。这些因素也是导致大数据概念产生的原因之一。

物联网产业链可以分为四个环节:识别、感知、处理和信息传递。各个环节的关键技术是RFID、传感器、智能芯片电信运营商的无线传输网络。云计算的出现使得物联网在互联网的基础上得以发展成为可能。“物联网”中的互联网,在云计算模式下,它是具有传感器、上网本、手机等终端功能的云终端。这也是物联网在云计算领域变得越来越活跃的原因之一。

新平台必将创造新的物联网,将云计算的特点与物联网的现实相结合,云计算技术将给物联网带来以下深刻的变化。

(1)解决服务器节点的不可靠性问题,最大限度地降低服务器的误码率。近年来,随着物联网从局域网到人类,人们对信息的感知也呈指数增长,服务器端的服务器数量呈线性增长。随着服务器数量的增加,节点出错的概率必然会增加,更不用说服务器并不便宜这一事实了。如今,购物中心就像战场一样,节点不信任的问题使得普通中小型企业更难独自支撑自己的天空。

在计算模式下,因为云中有成千上万甚至数百万的服务器,即使有几个服务器崩溃,云中的服务器也可以在很短的时间内完成如使用冗余备份、热插拔、RAID等技术快速恢复服务。

例如,Google不追求单个服务器的性能参数,而是更多地关注如何弥补集群堆积如山的单个服务器的性能不足。单一服务器的性能要求的减少也减少了扣缴的资金需求。对于停机服务器,Google使用直接替换。云计算集群可以确保物联网能够真正实现不间断的安全服务。

(2)低成本投资可以获得较高的收益,这使得有限的服务器访问瓶颈成为历史。服务器相关硬件资源的承受能力是有一定范围的,当服务器响应的次数超过6的限制时,主服务器就会崩溃。随着物联网领域的逐步扩大,物联网的数量“在几何学层面上不断增加,事物的信息量也呈爆炸式增长,随之而来的是流量的空前激增”。

因此,为了使服务器安全可靠地运行,必须不断增加服务器数量,购买更高级的服务器,或者限制可以同时访问的服务器数量。然而,这两种方法都有着致命的缺点:服务器的增加可以通过最大的资金投入来解决暂时的访问压力,但设备的浪费却是巨大的。云计算技术可以动态地增加或减少云模型中的服务器数量,提高服务质量,既可以解决访问压力,又可以带来经济效益。

(3)使物联网从局域网到人甚至广域网,更广泛地共享信息资源。局域网中的物联网就像一个超市。物联网上的东西就是超市里的商品。商品把超市留给另一家超市。虽然它仍然存在,但服务器端对象的信息将随之消失。信息共享的局限性不言而喻。

但是,通过云计数U技术,物联网的信息直接存储在互联网的“云”上,每一个“云”都有数以百万计的服务器分布在世界的每一个角落。无论对象走到哪里,只要它有一个传感器芯片,云中最近的服务器就可以接收到它的信息,并定位、分析、存储和更新它的信息。只要可以使用Internet来共享有关对象的最新信息,用户的位置就不再受到限制。

(4)将云计算技术与数据挖掘技术相结合,提高物联网的数据处理能力,快速做出业务选择。随着物联网应用的不断扩展,业务应用范围从单一领域到各种行业,信息处理从分散到集中,产生了大量的业务数据。

利用云计算技术,数百万台计算机在云模式下的集群提供了强大的计算能力,并通过大型计算机处理程序自动将任务分解成几个较小的子任务。快速分析、处理、存储、挖掘海量业务数据,在短时间内为物联网业务决策服务提取有价值的信息。这也是云计算技术和数据挖掘技术的结合,给物联网带来了巨大的竞争优势。

任何技术从萌芽到成型,再到成熟,都需要经过一个过程。云计算技术作为一种具有广阔应用前景的新兴前沿技术,还处于形成阶段,自然面临着一些问题。

第一是标准化。虽然云平台解决了相同的问题,架构是一样的,但基于不同的技术和应用,细节可能会完全不同,导致平台与平台之间可能无法进行通信。目前,云技术在云平台上构建的应用很多,如Google、EMC、Amazon等,但不能跨平台运行。这样,物联网在网络与网络之间的局限性依然存在。

第二是安全。物联网从专用网到Internet,虽然信息分析、处理得到了质的改进,但同时网络安全也遇到了前所未有的挑战。各种病毒、木马和对互联网的恶意入侵使安装在云计数平台上的物联网处于非常尴尬的境地。

云检测作为全球互联网统一的必然趋势,具有统一的虚拟基础设施平台、方便透明的上层调用接口、计算信息资源共享总量等特点。挪亚方舟充分考虑了各个行业的整合需求,为拯救互联网而成立。目前,云计算技术在物联网中的应用还处于探索和测试阶段,但随着云计算技术的关注和物联网云计算技术的成熟,云计算技术在物联网中的应用将很快得到广泛应用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈