关键字 |
Many-Task计算、高吞吐量计算,云计算,地图减少 |
介绍 |
今天越来越多的公司必须具有成本效益的方式来处理大量的数据。经典代表这些公司都是运营商的互联网搜索引擎,如谷歌,雅虎或微软。他们必须处理大量的数据每天都使得传统的数据库解决方案非常昂贵。为了简化分布式应用的发展在这样的架构之上,许多这样的公司也建立了定制数据处理框架。例子是谷歌的MapReduce[1]或雅虎!Map-Reduce-Merge。他们可以通过诸如高吞吐量计算分类(HTC)或many-task计算(MTC) de-pending的数据量和任务参与的数量计算。 |
的公司只需要处理大量的数据偶尔运行他们自己的数据中心显然不是一个选项。相反,云计算已经成为一种很有前途的方法在短期租一间大型的IT基础设施中的基础。运营商的所谓“基础架构即服务”(IaaS)的云,像Amazon EC2,让他们的客户分配,访问和控制的一组虚拟机(vm),运行在他们的数据中心,只收他们的时间机器分配。vm通常提供不同的类型,每种类型都有自己的特点(数量的CPU核数量的内存,等等)和成本。然而,而不是拥抱它的动态资源分配,当前数据处理框架,而希望云模仿集群环境的静态特性,他们最初设计。例如,目前虚拟机分配的类型和数量的开始计算工作过程中不能改变处理,虽然可能的任务工作由对环境完全不同的要求。因此,租来的资源可能不够大的部分处理的工作,这可能会降低整体的加工性能和增加成本。 |
在本文中,我们想讨论的特定有效的并行数据处理的挑战和机遇云和涅斐勒,一个新的处理框架明确为云环境而设计的。最值得注意的是,涅斐勒是第一个数据处理框架,包括动态分配/释放的可能性不同的云计算资源调度和工作执行期间。 |
这篇论文的范围 |
开发高效、并行数据处理框架云方便客户访问这些服务,提供最好的服务为云环境数据处理框架。涅斐勒t k e s许多想法之前的p c r o e s s我n g框架但是e r f i n e s t h em更好地匹配云的动态和不透明的性质。 |
体系结构 |
涅斐勒的架构遵循经典成为集大成模式见图1。 |
问题陈述 |
控制器 |
作业管理器 |
高吞吐量计算等问题(HTC)或many-task计算(MTC),根据数据量和任务参与计算的数量已经达到高效。处理框架则负责分发程序中可用的节点和执行程序的每个实例数据的适当的片段。 |
“基础架构即服务”(IaaS)云,让他们的客户分配,访问和控制的一组虚拟机(vm),运行在他们的数据中心,只收他们的时间机器分配。vm通常提供不同的类型,每种类型都有自己的特点(CPU核的数量,数量的内存,等等)和成本。vm配置为接收工作的实例是一个大问题。 |
设计 |
基于在前一节中列出的挑战和机遇,我们设计了涅斐勒,一个新的提交涅斐勒计算工作之前,用户必须开始一个VM在云中运行所谓作业管理器(JM)。作业管理器接收到客户的工作,负责调度,协调它们的执行。它能够与云运营商提供的接口来控制vm实例化的。我们称之为云控制器的接口。通过云控制器作业管理器可以根据当前的工作分配或释放虚拟机执行阶段。 |
涅斐勒工作的实际执行的任务包括由一组实例。每个实例运行一个所谓的任务管理器(TM)。一个任务管理器从作业管理器接收一个或多个任务,执行它们,然后通知作业管理器对他们完成或可能的错误。除非工作提交作业管理器,我们预计实例的集合(因此任务经理)的集合是空的。在接待工作作业管理器然后决定,根据工作的具体任务,多少和什么类型的实例应该执行这项工作,和各自的实例时必须分配/收回,以确保连续但有成本效益的处理。 |
工作描述 |
涅斐勒表示为一个有向无环图(DAG)。图中每个顶点代表一个整体的任务处理工作,图的边缘定义这些任务之间的通信流。我们还决定用熟练的技艺来描述处理工作的两个主要原因: |
第一个原因是,熟练的技艺让任务具有多个输入和多个输出边缘。这极大地简化了经典数据结合功能的实现。第二,更重要的是,尽管DAG的边缘显式模型的通信路径处理工作。只要特定的任务只能通过这些指定通信交换数据边缘,涅斐勒总是可以跟踪实例可能仍然需要什么数据从其他实例和实例可以关闭和收回。 |
定义一个涅斐勒工作由三个强制性步骤:首先,用户必须编写程序代码为每个任务对他的处理工作或选择它从外部库。其次,任务计划必须分配给一个顶点。最后,必须通过边连接顶点定义工作的通信路径。 |
作业处理 |
后从用户收到一个有效的工作图,涅斐勒的作业管理器将它转换成一个所谓执行图。执行图涅斐勒的主要数据结构监测execu涅斐勒工作。与抽象的工作图,执行图包含所有所需的具体信息执行工作在云上。 |
为了确保有成本效益的执行在一个IaaS云,涅斐勒允许分配/ de分配实例处理工作过程中,当一些子任务已经完成或者已经运行。 |
问题描述 |
作业管理 |
作业管理器的核心组件与客户交流,为传入的就业创造计划,并监督执行工作。如果提交一份工作从一个客户到作业管理器,每个任务的工作将被发送到任务管理器。作业管理器定期从任务管理器接收心跳并将它们传递到实例管理器。 |
任务执行 |
任务的实际执行工作由由一组实例。每个实例运行一个所谓的任务管理器。任务管理器从作业管理器接收的任务,负责执行。在他们执行任务管理器执行结果报告作业管理器。监督工作的执行,每一个任务管理器将信息发送到作业管理器对任务的执行状态的变化。 |
虚拟机分配 |
资源配置完成收到的每一个工作的实例。在接待工作作业管理器然后决定,根据工作的具体任务,多少和什么类型的实例应该执行这项工作,和各自的实例时必须分配/ de分配,确保连续的但有成本效益的处理。 |
实例管理器维护一组可用的计算资源。它负责分配新的计算资源和作业管理器配置可用的计算资源。也跟踪利用计算资源的可用性,以报告意外中断资源。每个任务管理器的实例管理器接收响应。如果一个任务管理器没有发送响应,主机被认为是死亡。 |
云控制 |
作业管理器和云控制器处理异构实例(计算节点)。每个实例的类型取决于配置用于接收工作。作业管理器的任务管理器注册的时候发送一个请求到达率,它可以处理的实例。 |
相关工作 |
近年来多种系统来促进矿渣MTC了。尽管这些系统通常分享共同的目标(例如,隐藏的问题并行或容错),他们的目标是在不同领域的应用。 |
MapReduce[2](或Hadoop开源版本)是设计运行数据分析工作在大量数据,预计将存储在一个大型的无共享的商品服务器。MapReduce是突出了它的简单性:一旦用户适应他的程序所需的map和reduce模式,执行框架负责把工作分解为子任务,分配和执行它们。一个MapReduce工作总是由不同的map和reduce程序。然而,多个系统被引入坐标序列的执行MapReduce工作。 |
MapReduce显然已经为大型静态集群设计的。尽管它可以处理零星的节点失败,可用的计算资源本质上是被认为是一组固定的均质机。飞马座框架Deelman等[3]。设计复杂的科学工作流映射到网格系统。类似Nepehle,飞马座让其用户描述他们的工作与顶点代表DAG任务处理和边缘代表它们之间的依赖关系。创建抽象工作流持续到飞马创建给定的任务和混凝土之间的映射在运行时可用的计算资源。作者结合有趣的方面如调度地平线决定在什么时候任务的整体处理工作应该申请计算资源。这是有关阶段的概念在涅斐勒。 |
涛et al。[4]介绍了斯威夫特系统来减少管理工作时出现的问题涉及众多大任务必须执行,可能非结构化的数据。然而,它假定一个执行环境由一组固定的同类工人节点。森林女神调度器设计在可用的计算节点分配任务,优化集群整体的吞吐量。它不包括处理成本的概念为特定的工作。 |
结论 |
有效的并行数据处理的挑战和机遇在云环境和涅斐勒,第一个数据处理框架,利用今天的IaaS云提供的动态资源配置。我们已经描述了涅斐勒的基本架构和性能比较,提出行之有效的Hadoop数据处理框架。绩效评估给的第一印象如何能够将特定的虚拟机类型分配给特定的任务的处理工作,以及可能自动分配/释放虚拟机在工作过程中执行,可以帮助提高整体资源利用率和,因此,降低加工成本。 |
数据乍一看 |
|
|
引用 |
- j·迪恩和格玛沃特。MapReduce:简化数据处理大型集群。在OSDI 04:学报第六届研讨会会议Opearting系统设计与实现中,页面的真空度,伯克利,CA,美国2004年。
- 亚马逊网络服务有限责任公司。Amazon Elastic MapReduce, http://aws.amazon.com/elasticmapreduce/, 2009年>。
- e . Deelman g·辛格,M.-H。苏,j·布莱斯,y吉尔,c . Kesselman一起g·梅赫塔k . Vahi G.B.贝里曼,j .好,a .俗人J.C.雅各科学博士Katz,“飞马:复杂的科学工作流映射到分布式系统的框架,“科学规划,13卷,没有。3、219 - 237年,2005页。
- 赵y、m . Hategan b·克利福德。福斯特,g·冯·Laszewski诉Nefedova Raicu, t . Stef-Praun和m .王尔德“斯威夫特:快速、可靠、松散耦合的并行计算,“Proc。服务,“07 IEEE国会,页199 - 206,2007年7月。
|