译序

谨借此文展开浩瀚大数据研究与应用的序幕。

MPP设计

所有MPP解决方案的最初想法是消除共享资源。每个executor都有独立的CPU、内存和磁盘资源。除了通过网络交换被管数据,一个executor是无法访问另一个executor的资源。MPP解决方案的这一理念让资源隔离得非常漂亮,并使高扩展性成为可能。

MPP的第二个理念是并行。每个executor运行完全相同的数据处理逻辑,处理从本地存储加载的私有数据块。在执行步骤间有一些为数据交换而实现的同步点(例如Apache Spark和MapReduce的shuffle步骤)。下面是一个典型MPP查询执行时间轴每条垂线都是一个同步点。具体来说,在集群内连接和聚合数据都要用到同步,其任务可能代表数据聚合、表连接、数据排序和其他分别经由每个集群节点执行的计算。

MPP设计的问题

但是,这种设计将导致所有MPP解决方案面对同样的棘手问题straggler。如果一个节点经常比其他节点执行得慢,那么无论集群规模,整个引擎的性能都将受到这个故障节点的拖累。下面的例子说明了故障节点(Executor 7)是如何降低整个集群的性能:

大多数情况下,所有的executor都空闲下来,除了一个例外。它们在等着与Executor 7同步,问题根源就出在这里。具体来说,由于磁盘故障引起RAID性能降低,又或是硬件、OS级问题导致的CPU性能低下等等之类的问题都会在MPP上发生。每个MPP系统都要面临这些问题。

如果你能看看这份Google关于磁盘故障率的研究报告,通过观察AFR(年均故障率)指标可以发现,新磁盘在最初3个月运行时间中,有至少2%的故障率:

在由1000块磁盘组成的集群中,一年会遇到20块故障磁盘,大约两周就有一块磁盘出故障;在由2000块磁盘组成的集群中,每周都会遇到;那么4000块磁盘的集群每周遇到两次。使用2年后,故障率将扩大4倍,这就意味着在由1000块磁盘组成的集群中,每周会遇到两次磁盘故障。

事实上,在某个特定的集群中,MPP系统总是会遇到磁盘故障节点,正如前面提到的,不但该节点性能受损,还会限制整个集群性能。这就是世界上几乎没有哪个单MPP集群超过50台服务器的主要原因。

MPP方案和MapReduce批处理方案间另外一个区别是并发性。并发性是指有多少个查询可以有效地被并行执行。MPP是完全对称的一旦开始执行,集群中的每个节点并行执行相同的任务。这意味着MPP方案的并发级别完全与集群节点的数量无关。具体来说,无论集群是4个节点还是400个节点,并发性是一样的,它们的性能衰退也会在同一点体现。下面有个例子:

正如你所见,10-18个并行回话(查询)达到了最大吞吐量,曲线图上表明,如果达到20个以上的会话,吞吐量将缓慢衰退70%甚至更多。特别注意,这里的吞吐量是在固定的时间范围(足够长的时间间隔得出结论)内执行特定数量的查询(同类查询)得出的。Yahoo团队对Impala并发性限制调查也得出了类似的观察结果。插一句:Impala是构建在Hadoop上的MPP引擎。基本上,低并发性是权衡MPP方案实现低查询延迟和高速数据处理的重要指标。

(译注:吞吐量这部分作者没有交代在多少节点下得出的结论,请各位读者注意。)

批处理设计

为应对批处理需求,一种新的解决方案应运而生从MapReduce论文起步并发展壮大。该原理的代表作有Apache HadoopMapReduce和Apache Spark等等。主要思想是在两个同步点之间的step被分成了若干个独立task,task的数量和executor的数量完全没有关系。具体来说,基于HDFS的MapReducetask数量等于输入分片,通常等于输入文件的HDFS块数量。在同步点之间,根据executor的可用性,task被随机分配给executor,相比之下,MPP的每个处理任务限定了具体的executor来处理数据分片。MapReduce的同步点包括job开始、shuffle和job结束。对于Apache Spark来说是job开始、shuffle、缓存数据集和job结束。下面介绍了处理过程是如何工作的以Apache Spark为例,每个条带代表独立的task,每个executor并行处理三个task:

你可以看到executor3似乎有问题所有任务的运行几乎慢了2倍。但这不是问题它只是被安排了较少的任务。如果这个问题变得更严重,预测执行将起效慢节点上的task将在其他节点上重启。

由于共享存储,这种手段是可行的。为了处理一批数据,你无须将这批数据存储在特定设备上。相反,你可以从远端设备获取这些数据。当然,远端处理始终比本地处理开销更大,因为数据必须移动所以引擎也会尽力尝试本地处理数据。在批处理的场景下遇到设备故障,预测执行机制将帮助故障节点,这在MPP方案中是完全不可能实现的。

顺便说下,这里有个学习云环境下预测执行的好教材:

本图是关于WordCount的性能。正如图上所见,就算云环境有臭名昭著的straggler问题,预测执行机制依然在云环境下缩短了2.5倍的执行时间。结合共享存储和更细粒度的调度,使得批处理系统在规模上更优于MPP方案上千个节点上万个磁盘。

批处理设计问题

但是,一切都有代价。MPP你无需把中间数据放在磁盘上,因为一个executor处理一个任务,能将数据流直接交给下一个执行任务。这种机制叫pipelining,会大大提高性能。批处理环境下,当你让一个executor连续执行大量不相关的任务时,下一步需要用到上一步的数据你将无从选择,只有把中间结果存在本地磁盘。这将拖慢整个系统。

根据我的经验,主流MPP系统与Apache Spark比较性能的话同样硬件集群规模Apache Spark通常会慢3-5倍。所以合理的把MPP集群规模限制在50台,将和250台规模的Apache Spark集群性能一致,但是呢Apache Spark可以超过250个节点,MPP就望尘莫及了。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

谜男方法(The Mystery Method)【中文版】【Mystery】|谜男方法,The Mystery Method,Mystery,男方,the mystery method,中文版,mystery
谜男方法(The Mystery Method)【中文版】【Mystery】
冷读术(精简版本)|冷读术,精简,版本
冷读术(精简版本)
把妹达人2[1].游戏规则(Rules of the Game)【Neil Strauss】|把妹达人,把妹游戏规则,Rules of the Game,Neil Strauss,把妹达人2,游戏规则,rules of the game,neil strauss
把妹达人2[1].游戏规则(Rules of the Game)【Neil Strauss】
追求有术之撩汉指南-310页|撩汉指南,撩汉攻略,追求,有术,之撩汉,指南,310页
追求有术之撩汉指南-310页
追求有术之撩妹指南-288页|撩妹指南,追求,有术,之撩妹,指南,288页
追求有术之撩妹指南-288页
术中电烧伤的预防与处理|电烧伤的预防,电烧伤的预防与处理,电烧伤的处理,术中电烧伤,中电,烧伤,预防,处理
术中电烧伤的预防与处理
《盆底康复-盆底功能障碍性疾病的诊断治疗》培训课件ppt(69页)|盆底康复,盆底功能障碍性疾病,盆底功能障碍性疾病诊断,盆底功能障碍性疾病治疗,盆底功能障碍性疾病培训课件,盆底功能障碍性疾病培训,盆底功能障碍性疾病课件,盆底功能障碍性疾病诊断治疗,盆底,康复,功能,障碍性,疾病,诊断,治疗,培训,课件,ppt(69页)
《盆底康复-盆底功能障碍性疾病的诊断治疗》培训课件ppt(69页)
面诊手诊背诊舌诊腹诊...课件|面诊课件,手诊课件,背诊课件,舌诊课件,腹诊课件,诊断课件,面诊手诊背诊舌诊腹诊,课件
面诊手诊背诊舌诊腹诊...课件

历史上的今天:04月29日

突遇“断崖式”限速怎么办

突遇“断崖式”限速怎么办1.高速上最忌急刹车高速上遇到“断崖式限速”,车主一定要牢记三个字:别急刹!在高速上开车,车速很快时,如果突然紧急刹车,后方车辆反应不及很可能直接撞上去,导致严重的追尾事件。但是不急刹也并不代表不刹车,正确的做法应该是缓慢刹车,慢慢把车速降下来。2.提前做好减速准备如果大家平时习惯用导航的话,“断崖式”限速也不会说来就来。一般在到达限速之前导航就会提醒“前方限速60”。这时

五一劳动节的英语祝福语都在这里了。

五一劳动节的英语祝福语都在这里了。五一劳动节快乐!Happy International Workers"Day!早起的鸟有虫吃。The early bird catches the worm.劳动是财富之父,土地是财富之母。Labor is the father of wealth, land is the mother of wealth.劳动是一切具有劳动能力公民的光荣职责。Wor

使用ETC,在高速服务区长时间休息会不会产生超时费?收费员:俩字!

使用ETC,在高速服务区长时间休息会不会产生超时费?收费员:俩字!如今生活条件好了,很多朋友会隔三差五带着家人,或者跟朋友出去游玩,为了省时省心经常会走高速路。很多车辆都安装了ETC,而安装了ETC之后的一个最大的好处,就是上高速可以直接走ETC通道,自动扣费,不用走传统的人工收费通道,极大地节省了车主的运行时间,并且这一好处在节假日高峰期时表现得更为明显。而对于一些经常在高速路上长途驾驶的车主来

五一祝福语:五一劳动节的优美问候句子

五一祝福语:五一劳动节的优美问候句子1、五一到了,听说你很忙啊。幸福要与你见面,甜蜜要和你缠绵,快乐要陪你游玩,好运要对你放电,如意要和你结缘,我只得狠狠的把你想念。祝你五一快乐哟!2、劳动苦不苦,只有自己才能清楚;劳动累不累,只有自己才能体会;劳动值不值,只有自己才能认识;劳动厌不厌,只有自己才能分辨;自己的快乐自己做主,五一劳动节快乐!3、五一小长假,心灵放个假。山清水秀风光好,不妨走走乐逍遥

为何有些老司机在高速上开车只开100公里/小时?这样的速度安全吗

为何有些老司机在高速上开车只开100公里/小时?这样的速度安全吗开了十几年的车,跟了十多万公里,超过一半的行驶里程是在高速上,经过观察,你会发现,高速上开车的司机按速度不同主要分为三类:第一类:不断超车型在高速上开车,总有一些司机不知道是急性子,还是真的要赶路,反正开车就是见车就超,左冲右突,不断超车,然后就是一骑绝尘,消失在车流中。这种司机就是不断超车型的司机,他们不愿意跟在别的车后慢慢行驶,只

高速行车这些事项千万要注意!

高速行车这些事项千万要注意!2月5日下午,湖南省高速公路交通警察局通报称:2月4日17时许,许广高速南往北方向676公里路段,前后约10分钟内共发生5起交通事故,已致16人死亡,66人受伤。这起悲剧令人心痛。在高速公路行车,保证安全始终是第一位。近期正值春运返程又一波高峰,返程途中,这些高速公路安全行车的铁律一定要记牢!上高速前,做好准备工作做好全车体检上高速之前,车主必须抽时间认真检查一下整体车

热门专题

小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
APP开发|app开发_app开发公司_app软件开发_专业app开发_云南app开发公司_app定制_原生app开发定制
APP开发
安徽开放大学|安徽开放大学报名,安徽开放大学报考,安徽开放大学,什么是安徽开放大学,安徽开放大学学历,安徽开放大学学费,安徽开放大学报名条件,安徽开放大学报名时间,安徽开放大学学历,安徽开放大学专业
安徽开放大学
昆明网站建设|昆明网站建设,昆明网站开发,昆明网站建设公司,昆明网站建设价格,昆明网站设计,昆明网站制作,网页设计,高端网站建设,高端网站设计
昆明网站建设
一年制中专|中专学历,中专是什么学历,中专是什么,中专有什么专业,中专升大专,一年制中专
一年制中专
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
易捷尔高职单招|易捷尔高职单招,易捷尔高职单招培训,单招分数线,单招录取分数线,高职单招学校分数线
易捷尔高职单招
金诺幼儿园(春城路金诺幼儿园)|昆明官渡区幼儿园,幼儿园报名,官渡区幼儿园,春城路幼儿园,幼儿园招生,学前班,昆明幼儿园,金诺幼儿园,环城南路幼儿园,石井路幼儿园
金诺幼儿园(春城路金诺幼儿园)

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部