1 / 10

Hadoop 作业调度技术研究

Hadoop 作业调度技术研究. 中科院计算所网络重点实验室. Hadoop 平台应用特点. 多种应用共用一个 Hadoop 平台 生产性应用:数据加载,统计值计算,垃圾数据分析等 批作业:机器学习等 交互式作业: SQL 查询、样本采集等 不同应用对硬件资源要求不同 I/O 密集型作业,如:机器学习算法 CPU 密集型作业:如:过滤,统计值计算 作业之间存在依赖关系 并发作业数量不稳定 如何提高 Hadoop 平台 资源利用效率 ?. Hadoop 平台的主要调度方法. 单队列调度 特点: FIFO 优点:简单 缺点:资源利用率低

Télécharger la présentation

Hadoop 作业调度技术研究

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. Hadoop 作业调度技术研究 中科院计算所网络重点实验室

  2. Hadoop平台应用特点 • 多种应用共用一个Hadoop平台 • 生产性应用:数据加载,统计值计算,垃圾数据分析等 • 批作业:机器学习等 • 交互式作业:SQL查询、样本采集等 • 不同应用对硬件资源要求不同 • I/O密集型作业,如:机器学习算法 • CPU密集型作业:如:过滤,统计值计算 • 作业之间存在依赖关系 • 并发作业数量不稳定 • 如何提高Hadoop平台资源利用效率?

  3. Hadoop平台的主要调度方法 • 单队列调度 • 特点:FIFO • 优点:简单 • 缺点:资源利用率低 • 容量调度(Capacity Scheduler ,Hadoop-0.19.0 ) • 特点: • 多队列,每个队列分配一定系统容量(Guaranteed Capacity) • 空闲资源可以被动态分配给负载重的队列 • 支持作业优先级 • 作业选择: • 选择队列:资源回收请求队列优先;最多自由空间队列优先。 • 选择作业:按提交时间、优先级排队;检查用户配额;检查内存。 • 优点: • 支持多作业并行执行,提高资源利用率 • 动态调整资源分配,提高作业执行效率 • 缺点: • 队列设置和队列选择无法自动进行,用户需要了解大量系统信息

  4. Hadoop平台的主要调度方法 • 公平调度(Fair Scheduler,Hadoop-0.19.0) • 目标: • 改善小作业的响应时间 • 确保生产性作业的服务水平 • 特点: • 将作业分组——形成作业池(based on a configurable attribute , such as user name, unix group,…) • 给每个作业池分配最小共享资源(Minimum map slots, Minimum reduce slots ) • 将多余的资源平均分配给每个作业 • 作业选择: • 优先调度资源小于最小共享资源的作业 • 选择分配资源与所需资源差距最大的作业 • 优点: • 支持作业分类调度,使不同类型的作业获得不同的资源分配,提高服务质量 • 动态调整并行作业数量,充分利用资源 • 缺点: • 不考虑节点的实际负载状态,导致节点负载实际不均衡

  5. Hadoop作业调度存在的问题 • Actual workload of the task nodes hasnot be considered. • At runtime, the actual workload of a task node is determined by resource consumption of the running tasks rather than number of those. • In reality, many clusters are shared by many systems, like MPI, MemCache .... Their impact on MR jobs should be considered. • How job dependency is supported? • Pipeline for the critical paths. • Rationally schedule for jobs in the non critical path.

  6. 主要技术思路 • A Just-In-Time schedule strategy • Based on real time system monitoring • Identify other systems’ impacts and make a better real decision • A CFS-like schedule strategy • CFS (Complete Fair Schedule): • a dynamic scheduler adopt in Linux kernel 2.6.23. • Before that, • O(n)–Linux2.4andbefore • O(1)– Linux 2.6 and port back to Linux 2.4 • SD (Staircase Scheduler) • RSDL (The Rotating Staircase Deadline Schedule)

  7. 主要技术思路 • A new description for Job Group • Job dependency • Data dependency • Runtime demands • A more light-weight support of HOD features • Assumption: • A cluster is shared by many organizations (person, departments)

  8. 目标 Just-In-Time Hadoop Scheduler Real time monitor information based scheduling CFS-like scheduling Support job groups Support dynamic priority

  9. 评价 • Gridmix • The benchmark currently included in Hadoop • Need many extensions for non-dedicated clusters

  10. 谢谢!

More Related