更全的杂志信息网

Hadoop中改进的共享式存储设备设计

更新时间:2009-03-28

0 引 言

随着企业和应用机构生成的数据量爆炸式上升,传统的存储系统已经无法对大数据进行高效存储和分析[1,2]。关于商用硬件集群的分布式并行编程模型MapReduce[3,4]已经成为对大量非结构化数据进行处理的标准工具。作为源于MapReduce的一种开源技术,Hadoop在云环境中的应用越来越多。Amazon EC2和Rackspace等主要公共云服务器已经将Hadoop作为一种在线服务[5]。VMware等虚拟软件服务商也已经对Hadoop虚拟化进行扩展[6],以便为私有云中的Hadoop提供支持。Hadoop包含两个子系统[7]:Map-Reduce引擎和Hadoop分布式文件系统(Hadoop distributed file system,HDFS)。传统集群将这两个子系统部署到同一工作节点中,即Hadoop平台兼具计算节点和数据节点双重作用。因为数据的局部性对Hadoop映射任务具有重要作用,所以计算和存储功能的耦合需要尽可能地维护数据的局部性。然而,这些要求对Hadoop在虚拟环境下的性能构成了严峻挑战[8-10]

为此,本文从如何将节点的存储与计算相分离、优先IO处理和集群规模自动调整等方面着手,设计了一种面向Hadoop集群优化的共享式存储设备StoreApp,并在一个包含22个节点的虚拟Hadoop集群上部署了StoreApp,利用TestDFSIO基准程序[12]和实际应用中采集到的数据,以目前较为典型的Themis方案[13]和传统的未将计算和存储相分离的Hadoop方案[14]为比较对象,验证了StoreApp的有效性。

1 Hadoop集群

1.1 Hadoop MapReduce技术

MapReduce的数据处理可分为两个函数:Map和Reduce。Map函数利用输入对生成一个中间键/值对列表。Reduce函数利用其数值列表处理中间键,并生成最终结果。Hadoop在部署时将Map和Reduce函数表示为MapTask和ReduceTask。每个MapReduce作业分为多个映射任务和化简任务。Hadoop有两种存储类型[7]:Hadoop分布式文件系统(HDFS)和中间存储。HDFS负责MapReduce作业输入/输出数据的永久存储。HDFS中的数据存储为数据块,并在所有HDFS节点上复制数据。中间存储负责MapReduce作业中间结果的存储。例如,当输出缓存满时,映射任务会将它们的中间数据存储到临时存储空间。按照Hadoop的默认设置,对每个工作节点配置后使其同时运行TaskTracker(任务跟踪器)和DataNode(数据节点),这是在物理集群上运行Hadoop的普遍做法。为了维护数据的局部性,Hadoop任务调度器尽力将任务安排给包含其输入数据的节点中。如果没有这样的节点,则在可以远程访问输入数据的节点上运行任务。

1.2 共享式HDFS存储

如果将多个从属节点(slave node)的数据存储功能集成到数据节点(data node)中,并由部署在同一机器内的Hadoop节点共享这些数据节点,则可应对虚拟化Hadoop集群面临的挑战。被共享的存储节点通过为多个计算节点提供服务便可对一组IO请求进行优化。将IO操作与计算操作相分离,可提高VMM层的虚拟机调度效果。然而,为了充分利用共享式HDFS存储的功能,还有多个问题需要解决。首先,HDFS的去耦合并没有使所有的IO操作从计算节点剥离开来。中间数据仍然存储在计算节点的本地文件系统中。除非所有IO操作均被集成到存储节点中,否则无法提高IO处理的速度。其次,仍然缺乏相关机制对内存中的HDFS片断进行利用,而内存中的HDFS片断可显著降低磁盘访问次数。最后,为了提高主机服务的性价比,需要实现虚拟Hadoop集群规模的自动调整。针对这些问题,本文设计了一种共享式存储设备StoreApp,下面将详细阐述。

2 StoreApp设计

StoreApp包括一组存储节点和一个StoreApp管理器。每个物理机器均有一个被同一主机上所有计算节点共享的存储节点。它将HDFS数据节点与计算相分离,并提供关于数据局部性的准确信息。为了实现所有IO操作的集成,StoreApp主动将中间数据放到存储节点中。StoreApp通过HDFS预取算法来提高HDFS I/O的操作效率,并部署了一种可将任务调度到预取HDFS数据中的后绑定数据调度器。然后,StoreApp采用一种集群规模自动调整技术来确定不同作业的最优集群规模。

The Establishment and Structure of the Oirats Karuns of the Upper Three Banners

2.1 总体介绍

图1给出了StoreApp的架构。StoreApp由4个组件构成:HDFS代理,Shuffler,StoreApp管理器和任务调度器。HDFS代理负责接收所有的HDFS请求,并将它们转发给HDFS数据节点。Shuffler是一种任务独立型shuffle服务,可接收映射输出并将它们主动提供给相应的目的数据节点,可删除计算节点本地磁盘发生中间数据溢出时的所有IO操作。利用这两个组件,StoreApp可以使存储和计算功能彻底分离。StoreApp管理器对所有数据节点的操作进行协调,并提供数据可用性的全局视图。任务调度器对当前Hadoop调度器进行拓展后,兼顾了各个数据节点的数据可用性。下面对StoreApp的主要特点进行简要描述。

  

图1 StoreApp的架构

(1)共享式Hadoop存储:共享式存储针对Hadoop的存储功能提供单独虚拟机。VMM调度器为存储式虚拟机分配较高优先级,提升IO效率。它将HDFS数据节点与计算节点相分离。它还与独立式Shuffler一起部署实现中间数据的采集。共享式存储与当前Hadoop API兼容,任务用户作业均可无缝转移到StoreApp上。

一杯茶的时间,易非还在脸红心跳,她不敢看陈留,但陈留却一边品茶,一边微笑地欣赏着她,待她抬起头来时,陈留说了句:

(2)HDFS预取功能:HDFS代理为HDFS提供预取服务,可以预取输入记录失准后与部分HDFS块邻近的数据,并在内存中形成完整的输入分片。新的分片可随后提供给新创建的任务。HDFS代理利用内存中的碎片块来降低磁盘访问次数。

(3)后绑定任务调度:任务调度器可在运行中创建任务,并与数据节点中的预取数据相关联。它还利用共享式存储节点在各台机器上的部署信息以及与相应计算节点的关联信息进行映射任务的调度。

(4)集群规模的自动调整:StoreApp可对某一作业的各个任务处理过程进行监控,并确定作业的最优集群规模。通过使作业运行的并行性最大化,显著提升虚拟化Hadoop集群的效率。

2.2 HDFS预取

StoreApp利用HDFS代理并根据HDFS碎片块来创建输入片。文中提出一种预取策略,可在出现读取失准现象时预加载数据。图2给出了数据预取的一个示例。在输入片s0创建期间,预取器首先将数据块b0读取到内存缓存中。因为块b0的最后一个记录不完整,所以预取器需要读取b1块的其它记录。预取器并不是只读取需要的部分记录,而是将整个b1块读取到内存缓存中。然后,预取器将输入片s0提供给任务。块b1中未被利用的数据保存在内存中。预取器将其连续块读取到内存中进而形成输入片s1。因此,当任务调度器分配一个新的任务来处理输入片s1时,StoreApp节点内存中的数据可随时使用。StoreApp不断跟踪读取记录的对准情况,如果检测到记录读取失准,则进行预取操作。

采用SPSS 16.0软件对数据进行分析处理,计量资料以(均数±标准差)表示,采用t检验;计数资料以(n,%)表示,采用χ2检验,以P<0.05表示差异具有统计学意义。

  

图2 HDFS代理的预取过程

(9)取消新供应的节点;

(1)变量: 内存缓存区S, 输入缓存B

算法1:HDFS预取

(2)function CreateInputSplit(t)

(3) 获得任务t的输入块列表L

(4) 检查S, 获取在L但未在S中的所有块;

那个夜晚,她和我聊了许多许多过去的事情,没有戴墨镜,仿佛彼此之间心灵上的隔膜也没有了,我们时而笑时而伤感,但这感情,毕竟是真的。

(5) 将L中的所有块串联起来,存储在缓存区S[L]中;

20世纪90年代,珠海市委、市政府确立了“一港带全局”的发展战略,珠海港作为国家定位的24个主要枢纽港之一,肩负着打造华南国际港口物流中心光荣使命,经过20多年的发展,一个亿吨大港已经在珠海西部强势崛起。在“一带一路”倡议和“发展粤港澳大湾区”战略背景下,珠海市迎来了前所未有的发展机遇,珠海具备区位、政策、环境、产业优势,正积极构建珠港澳港航物流生态圈,实现粤港澳大湾区港口群协同发展。

(6) 寻找首条记录i的起始位置;

(7) 寻找最后记录j的结束位置;

组织学生结合教材进行回答,并尝试着去理解文本的中心思想,使学生在阅读以及带着问题解读中更加深刻地理解作者对祖国文化的自豪感以及对劳动人民的热爱之情,进而帮助学生更好地理解。之后,教师可以鼓励学生自主借助网络来了解更多的石拱桥,并通过分析不同石拱桥的特点来形成那份自豪感,进而真正确保本节课的教学价值得以实现。

算法2:集群规模的自动调整

(9) 获得L中最后块的ID k

(10) 将S[L][j:]中的数据转移到缓存S[k]中;

(11) end function

一方面,应完善金融监管行政处理机制。2012年11月,银监会成立了银行业消费者权益保护局。主要职能之一是协调推动建立并完善银行业金融机构消费者服务、教育和保护机制,建立并完善投诉受理及相关处理的运行机制。可见,我国正着手建立并完善保护金融投资者的行政处理机制。建议遵循金融监管行政处理机制先行原则,建立一整套依法、规范、务实的投资者维权工作体系和纠纷解决机制来保障银行业投资者合法权益。

2.3 后绑定任务调度器

在Hadoop中,一般根据输入数据的位置来分配映射任务。Hadoop任务调度器经过适当修改后才能支持StoreApp的功能。StoreApp可提供虚拟化Hadoop集群中关于数据局部性的准确信息。StoreApp根据数据节点的数据可用性(比如被预取输入片的可用性)来调度映射任务。StoreApp通过实现一种后绑定任务机制来实现任务与可用输入数据的动态关联:对于映射任务而言,调度器首先检查StoreApp节点的被预取输入片,然后将映射任务与数据相关联。与StoreApp节点位于同一位置的任意计算节点都可进行任务的调度。对化简任务执行类似步骤。只有正被调度的化简任务才会被分配一个化简输入。

2.4 集群规模自动调整

将存储与计算分离后,向虚拟化Hadoop集群添加计算节点不再需要对数据进行重新均衡,这可以提高Hadoop集群规模调整时的灵活性。为了使虚拟化Hadoop集群的效率最大,StoreApp采用一种集群规模自动调整技术。其目的是在作业运行期间,通过动态改变每个主机上计算节点的数量来实现作业完成时间的最小化。

(10)break

T=tmap+Tshuffle+treduce

(1)

其中,tmap表示映射任务的平均完成时间;treduce表示化简任务的平均完成时间;Tshuffle表示shuffle时间。对于映射任务,我们将其期望完成时间计算为其中r表示任务的进度速率。StoreApp不断监测所有映射任务的进度速率,并计算映射任务的平均完成时间。对于化简任务,它的平均完成时间与任务时隙的总量kp成反比,StoreApp使化简任务的数量与任务时隙总量相匹配。这可保证所有化简任务可并行运行,提高集群的利用率,降低调度开销。StoreApp中的shuffle只发生于数量固定的存储节点中,某一作业的shuffle时间Tshuffle不会随着集群规模的变化而变化。因此,式(1)可简化为

T=

(2)

其中,Treduce表示所有化简任务的累计完成时间。对每个作业,估计不同p值时的时间T,进而确定可使tmap最小的p值,从而找到可使作业性能和资源效率最大化的计算节点最优数量。StoreApp采用一种迭代策略及试凑法来确定集群的最优规模(p),集群规模自动调整算法的伪代码见算法2。StoreApp对每个物理机器运行该算法。该算法首先将物理机器p上的计算节点数量增加1,为作业相应地提供新的节点。然后,新的阶段计算其作业期望完成时间Tnew,并与上次迭代时的期望完成时间Told相比较。如果Tnew大于Told,则与并行性能的提升相比,集群内竞争导致的性能下降现象更为严重。因此,新提供的节点应该删除。

(8) 将S[L][i:j]中的数据转移到缓存B[t]中;

(1)变量: 运行中的所有任务构成的列表M; 计算节点的数量p; 前次迭代的作业运行时间Told

(2)while true do

(3) pp+1;

“粮食银行”破解了农民储粮、卖粮难题,也减轻了运营主体的资金压力。原粮供应多了,对企业来说粮源也稳定了。

(11) end if

(5) 计算M的平均期望完成时间tavg

华为轮值董事长徐直军近日接受采访时表示,美国此举可能会损害其本国走在下一代科技前沿的雄心。他说:“对于华为而言,作为5G技术的领导者,我们没有机会为美国消费者提供5G的解决方案和服务,这表明美国市场是一个没有充分竞争的市场,仍然在阻碍着领先企业参与该市场。现在,我不确定他们能否真正实现成为5G时代全球第一的目标。”

(6) T=

(7) if Tnew>Told then

(8) pp-1;

拿出乐高玩具,开始拼插吧。这是最消耗时间的活,没关系,十岁的我,有大把的时光可以消耗。直到拼得头昏眼花、手指麻木,我才收手。扭头一看,是几箱芭比娃娃。它们陪伴了我几年,不过我已与它们日渐疏远。

算法1给出了预取算法的伪代码。当预取器调用Crea-teInputSplit函数为任务t创建输入片时,它首先从任务配置中提取输入块列表L。然后,它利用列表L中的所有数据块ID来检查缓存区S,并提取未存储在S中的块。提取出来的所有块串联起来,存储在S中。然后,算法可以检测出输入片的起始和终止位置,并将相应数据转移到任务t的输入缓存中。未被利用的数据存储在缓存区S,并用首个未被利用的块的ID进行索引。每个StoreApp节点向StoreApp管理器汇报被预取输入片构成的列表,以防止多个数据节点预取同一个块。

Hadoop利用进度得分来表示已经完成的工作。将其计算为完成输入规模与初始输入规模之比。然后,本文利用进度速率[15]来表示任务运行的速度,进度速率的计算方法为进度得分在1 s内的变化值。假设某MapReduce作业具有m个映射任务和n个化简任务运行于具有p个从属节点的集群上,每个节点具有k个任务时隙,作业完成时间的期望值可计算为

(4) 供应额外的计算节点;

(12)end while

3 性能评估

本文首先在云环境下部署了StoreApp,然后以目前典型的可提高I/O MapReduce效率的Themis方案[13]和传统的未将计算和存储相分离的Hadoop方案作为比较对象,评估比较了StoreApp在提升HDFS吞吐量和降低作业完成时间方面的性能。

3.1 测试床配置

利用一个包含22个节点的Hadoop集群作为测试床,集群中的每个节点均为一台虚拟机。部署Hadoop 1.1.1稳定版本,每台虚拟机运行内核为2.6.32的Ubuntu Linux。分别将两个节点配置为JobTracker和NameNode。将另外4个节点设置为数据节点。每个节点有4个VCPU和4 GB内存。HDFS块的尺寸设置为64 MB。其余16个节点配置为MapReduce任务运行时的计算节点。每个节点分配2 VCPU和2 GB内存。每个从属节点配置两个映射时隙和两个化简时隙。在集群规模自动调整实验中,可将集群规模扩大至40个节点。所有节点部署在包含4台Dell T420服务器的云环境原型中。每个服务器配备双通道Intel Xeon E5-2420 hex-core CPUs和16 GB内存。服务器与千兆以太网相连。利用支持3.10.0Linux内核的Xen 4.3实现服务器虚拟化。

3.2

利用TestDFSIO[12]来评估HDFS的性能。TestDFSIO基准程序作为测试作业包含于Hadoop源节点中。它由两部分构成:TestDFSIOwrite和TestDFSIO-read。它首先向HDFS写入大量数据,然后再读取数据。TestDFSIO可衡量HDFS的最大读取和写入吞吐量。我们还利用PUMA基准程序组[5]来测试StoreApp在代表性MapReduce作业中的性能。PUMA基准程序组包含多种MapReduce基准程序和真实测试输入。表1给出了基准程序及其在本文实验中的配置。

系统标准模块在上位机实现,将采集到的比值信息与标准气体浓度进行标教处理,得到甲烷气体浓度工作曲线,并反馈至FPGA内完成气体浓度计算,然后通过专用显示模块或计算机显示处理结果。

 

1 基准程序的详细介绍

  

基准程序输入规模/GB输出规模/GBShuffle规模/GBtera-sort150150150inverted-index150125160term-vector15030120wordcount150229grep150331histogram-movies1500.00100.0012histogram-ratings1500.00130.0014

根据基准程序的输入和中间数据,可将这些基准程序分为3种类型。tera-sort、inverted-index和term-vector基准程序为IO密集型。它们的输入数据规模和shuffle均较大。这些基准程序给主机磁盘造成大量开销。基准程序wordcount和grep为IO敏感型,它们的输入数据规模较大,但shuffle规模相对较小。它们对磁盘性能非常敏感,但是主机磁盘并不是它们的主要性能瓶颈。histogram-movies和histogram-ratings基准程序为IO轻微型,HDFS的性能可能会对它们的性能造成影响,但主要瓶颈是CPU。

从表3可以看出,各题项的标准化因子载荷值均大于0.700,各变量的AVE值均大于0.500,说明量表中各因子有比较好的收敛效度。每个因子的CR值均大于0.800,说明量表中每个因子有比较高的内部一致性。同时,从表3可以发现,量表中各因子的Cronbach’s Alpha系数均在0.700以上,说明量表内部具有较高的信度水平。

3.3 HDFS I/O性能

利用TestDFSIO基准程序来衡量HDFS的吞吐量。对TestDFSIO配置后向HDFS写入50 GB的数据,然后读取这些数据。TestDFSIO基准程序没有中间数据和shuffle操作,因此可以准确衡量HDFS存储的性能。我们比较了不同方法的HDFS读取吞吐量和写入吞吐量。从图3中可以看到,StoreApp在HDFS读取和写入方面的性能比Hadoop分别高出78.3%和71.8%,StoreApp显著提升了HDFS在虚拟化Hadoop集群中的吞吐量。StoreApp性能优于Hadoop的原因如下。首先,虚拟机调度时共享式存储虚拟机的优先级更高,当出现干扰时,这显著提高了IO的响应性能。其次,将存储功能集成到虚拟机中缓解了计算节点间的IO竞争性,于是磁盘IO操作可分批依次进行。

  

图3 Hadoop和StoreApp的HDFS存储吞吐量

  

图4 不同方法的正规化作业完成时间

3.4 高效I/O的性能影响

利用Hadoop的作业完成时间作为性能基准水平,对StoreApp和Themis的作业完成时间进行标准化。图4给出了3种方法在各种基准程序下的标准化作业完成时间。结果表明,对于包含大量中间数据的IO密集型基准程序(比如tera-sort,inverted-index和term-vector),StoreApp的性能比Hadoop分别高出42.2%、48.1%和37.8%;比Themis分别高出26.6%、37.3%和20.5%。

Wordcount和grep等基准程序为IO敏感型程序。在这些基准程序实验中,StoreApp的性能比Hadoop分别高出27.8%和23.2%。然而,这些基准程序的性能提升效果要低于IO密集型程序,因为它们的中间数据较少,导致shuffle-on-write策略的效果下降。对于wordcount和grep两种基准程序,StoreApp的作业完成时间分别比Themis短16.9%和12.5%。对于histogram-movies和histogram-ratings等IO轻微型基准程序,StoreApp的性能比Hadoop高出15.4%和19.1%;StoreApp比Themis高出13.%和16.5%。StoreApp可以通过提升HDFS的效率来降低作业性能,而Themis的性能提升幅度非常有限。因此,StoreApp对Themis的性能优势非常明显。

为了进一步显示StoreApp如何降低作业完成时间,文中选择了tera-sort、wordcount和histogram-movies这3个基准程序,并比较了Hadoop、Themis和StoreApp的平均任务完成时间。将平均任务完成时间分为3个部分:映射时间、HDFS I/O时间和shuffle I/O时间。映射时间表示映射任务利用输入记录运行映射函数的时间;HDFS I/O时间表示HDFS的读取时间;shuffle I/O时间表示StoreApp将映射输出记录输出给shuffler的时间,或者Themis和stock Hadoop将映射输出记录输出给映射输出文件的时间。从图5可以看到,StoreApp在这3种基准程序下的任务完成时间比Hadoop低41.4%、38.7%和40.2%;StoreApp比Themis低25.1%、30.6%和33.3%。仔细观察图5可以发现,StoreApp、Themis和Hadoop在运行映射函数方面的时间开销大体相同,任务完成时间方面的差异主要是因为花费在shuffle I/O和HDFS I/O上的时间变少。StoreApp和Themis均可以降低shuffle I/O时间。StoreApp的shuffle I/O使用时间在tera-sort,wordcount和histogram-movies基准程序下比Hadoop分别低62.5%、60%和50%。StoreApp的性能优于Hadoop的原因在于:首先,StoreApp绕过映射端融合,因此在shuffle期间无需另外访问磁盘。其次,StoreApp利用shuffle来采集映射输出并对映射输出执行shuffle操作。于是,我们无需将中间数据写入磁盘,节约了映射任务的时间。StoreApp在这些基准程序下的shuffle I/O时间性能比Themis低25%左右,因为StoreApp无需将输出数据写到本地磁盘中。

筛查试验呈阴性反应可出具HIV-1/2抗体阴性报告,见于未被HIV感染的个体,但窗口期感染者筛查试验也可呈阴性反应。若呈阳性反应,用原有试剂双份(快速)/双孔(化学发光试验或酶联免疫试验)或两种试剂进行重复检测,如均呈阴性反应,则报告为HIV抗体阴性;如一阴一阳或均呈阳性反应,需进行补充试验。

  

图5 不同方法的平均任务完成时间

StoreApp在tera-sort,wordcount和histogram-movies基准程序下的HDFS I/O时间比Hadoop低51.2%、62.5%和68.2%;比Themis低45.5%、59.1%和65.2%。StoreApp在HDFS读取方面实现性能提升,表明StoreApp相对于没有进行HDFS操作优化的Themis来说具有显著的性能优势。

3.5 集群规模自动调整

StoreApp将计算节点与存储节点相分离,提高了集群规模调整的灵活性。StoreApp可以确定每个作业的集群规模,进而进一步提升了虚拟化Hadoop集群的性能和效率。采用Hadoop的作业完成时间作为基准,比较不同方法的标准化作业完成时间。每个物理节点可包含多达10个从属节点,将集群初始化为每个主机4个节点。使用3种代表性基准程序tera-sort、wordcount和histogram-movies进行性能评估。图6给出了不同算法在各种基准程序下的正规化作业完成时间。结果表明,StoreApp在3种基准程序下的性能比数据再均衡(data rebalancing)方法分别高出47.3%、42.1%和37.2%。这表明StoreApp在集群规模调整方面的可拓展性优于数据均衡方法。对于tera-sort和wordcount基准程序,采用数据再均衡方法调整集群规模时,作业完成时间比未采用集群规模调整技术的Hadoop还高。数据再均衡的开销抵消了集群规模增加带来的性能增益,甚至使集群规模增加的性能增益得不偿失。StoreApp方法在这些基准程序下的性能比混合节点(hybrid node)方法高出32.9%、20.1%和27.9%。这主要是因为混合节点方法破坏了数据局部性,且没有解决IO的竞争问题。

  

图6 不同存储机制的正规化作业完成时间

图7给出了3种方法在各种基准程序下的正规化作业完成时间。结果表明,利用StoreApp进行集群规模的自动调整可将作业完成时间下降61%。对于tera-sort、inverted-index和term-vector等IO密集型基准程序,支持集群规模自动调整的StoreApp性能比Hadoop高出53.2%、51.6%和58.4%。其性能比不支持集群规模自动调整的StoreApp高出8.9%、2.1%和6.5%。对于wordcount和grep等IO敏感型基准程序,支持集群规模自动调整的StoreApp性能比Hadoop高出59.7%和53.5%,其性能比不支持集群规模自动调整的StoreApp高出20.3%和31.2%。与IO密集型基准程序相比,IO敏感型基准程序对主机磁盘带来的压力较低。因此,主机有更多资源用于进一步提升这些基准程序的性能。于是,通过集群规模的自动调整可提高每个主机的从属节点数量及作业运行的速度。对于histogram-movies和histogram-ratings等IO轻量型基准程序,支持集群规模自动调整的StoreApp性能比Hadoop高出49.2%和51.3%。因为主机磁盘不是这些基准程序的瓶颈,所以StoreApp可为每个物理机器提供更多从属节点。因此,支持集群规模自动调整的StoreApp,其作业完成时间比不支持集群规模自动调整的StoreApp低42.4%和37%。

  

图7 集群规模自动调整时的正规化作业完成时间

4 结束语

Hadoop是MapReduce技术的一种开源版本。但是由于采用计算节点和存储节点的耦合式设计,导致虚拟环境难以实现最优性能,降低了虚拟化Hadoop集群的IO操作和虚拟机调度效率。同时导致Hadoop集群无法在云环境下通过虚拟机的动态供应来优化性能。为此,本文针对虚拟化Hadoop集群提出并部署一种共享式存储设备StoreApp。它为部署于同一物理机器上的从属节点,同时提供HDFS和中间数据存储。它通过引入预取机制和集群规模的自动调整机制,提升HDFS吞吐量和降低作业完成时间。最后文中评估了StoreApp在包含22个节点的虚拟集群及不同基准程序工作负载条件下的有效性。在下一步工作中,我们将研究在异构环境下部署支持集群规模自动调整的StoreApp。

参考文献

[1]XU Ji,WANG Guoyin,YU Hong.Review of big data processing based on granular computing[J].Chinese Journal of Computers,2015,38(8):1497-1513(in Chinese).[徐计,王国胤,于洪.基于粒计算的大数据处理[J].计算机学报,2015,38(8):1497-1513.]

[2]PENG Yu,PANG Jingyue,LIU Datong,et al.Big data:Connotation,technical framework and its development[J].Journal of Electronic Measurement and Instrumentation,2015,29(4):469-482(in Chinese).[彭宇,庞景月,刘大同,等.大数据:内涵,技术体系与展望[J].电子测量与仪器学报,2015,29(4):469-482.]

[3]Wang W,Zhu K,Ying L,et al.MapTask scheduling in Map-Reduce with data locality:Throughput and heavy-traffic optimality[J].IEEE/ACM Transactions on Networking,2016,24(1):190-203.

[4]Li B,Zhang J,Yu N,et al.J2M:A Java to MapReduce translator for cloud computing[J].The Journal of Supercomputing,2016,72(5):1928-1945.

[5]Hwang K,Bai X,Shi Y,et al.Cloud performance modeling with benchmark evaluation of elastic scaling strategies[J].IEEE Transactions on Parallel and Distributed Systems,2016,27(1):130-143.

[6]Liu H,Jin H,Liao X,et al.Hotplug or ballooning:A comparative study on dynamic memory management techniques for virtual machines[J].IEEE Transactions on Parallel and Distributed Systems,2015,26(5):1350-1363.

[7]Huang J,Zhang R,Buyya R,et al.Heads-Join:Efficient earth mover’s distance similarity joins on Hadoop[J].IEEE Transactions on Parallel and Distributed Systems,2016,27(6):1660-1673.

[8]Jain A,Subbulakshmi T.Analysis and review the data using big data Hadoop[J].International Journal of Database Theory and Application,2016,9(5):203-212.

[9]Dede E,Sendir B,Kuzlu P,et al.Processing Cassandra datasets with Hadoop-streaming based approaches[J].IEEE Transactions on Services Computing,2016,9(1):46-58.

[10]Herodotou H,Dong F,Babu S.No one (cluster) size fits all:Automatic cluster sizing for data-intensive analytics[C]//Proceedings of the 2nd ACM Symposium on Cloud Computing.New York:ACM Press,2011:18-25.

[11]Kwak JH,Kim S,Huh T,et al.Implementation and performance analysis of Hadoop MapReduce over lustre filesystem[J].KIISE Transactions on Computing Practices,2015,21(8):561-566.

[12]Kc K,Hsu CJ,Freeh VW.Evaluation of MapReduce in a large cluster[C]//IEEE 8th International Conference on Cloud Computing.New York:IEEE Press,2015:461-468.

[13]Tang S,Lee BS,He B.Dynamic job ordering and slot configurations for MapReduce workloads[J].IEEE Transactions on Services Computing,2016,9(1):4-17.

[14]Sheela LJ.A review of sentiment analysis in twitter data using Hadoop[J].International Journal of Database Theory and Application,2016,9(1):77-86.

[15]Yang SJ,Chen YR.Design adaptive task allocation scheduler to improve MapReduce performance in heterogeneous clouds[J].Journal of Network and Computer Applications,2015,57(11):61-70.

 
覃伟荣
《计算机工程与设计》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号