一、概述:

Yarn调度器有很多实现,如Fifo, Capacity和Fair schedulers等。与其同一时候,正在进行一些优化措施来提高调度器在不同负载和工作场景下的性能。每一个调度器都有自己的特性,调度决策受很多因素影响,如公平行、计算能力保证和资源的可靠性等。在部署一个调度算法到生产集群之前。评估一个调度算法是很重要的,不幸的是,评估一个调度算法是不那么easy的,评估一个真正的集群是很耗费时间和成本的。而且很难找到一个足够大的集群用来评測。

所以。一个能够模拟在这样的工作场景和负载下调度器的性能表现的模拟器是很实用的。

Yarn模拟器能够在一台机器上模拟一个大型的集群和大量的应用负载,模拟器对于那些希望深入研究yarn的人员来说是很宝贵的。由于它提供了一个工具:一个新的调度器原型、预測它的行为和性能表现。从而帮助他们高速创新。

Yarn模拟器通过在ResourceManager的jvm中模拟出NodeManagers和ApplicationMasters并处理和分发 NM/AM事件来去除网络因素的影响。为了trace调度器的行为和性能。在真正的调度器外层包裹了一个wrapper。

集群和应用负载能够从配置文件里载入,这些配置文件能够利用 Apache
Rumen 从 job history files中直接生成。

模拟器在运行会产生实时的指标。例如以下所看到的:

  1. 整个集群和每一个队列的资源利用率,能够用来配置集群和队列的容量;
  2. 具体的用模拟出来的时间记录的应用程序运行记录,能够用来分析、了解和验证程序的行为(个别job的周转时间、吞吐量、公平性和计算能力保证等);
  3. 调度算法的一些关键指标。如:每一个调度操作花费的时间(分配、处理等等),开发人员能够用来找出影响性能和可伸缩性的代码。

二、设计目标:

  1. 不用真正的集群和真正的job trace来检查调度器
  2. 能够模拟真实的负载

三、结构:

下图说明了模拟器的实现架构:

模拟器获取负载的描写叙述,并获取到集群和应用的信息。对每一个NM and AM,模拟器构造一个模拟器来模拟它们的执行,全部的NM and AM模拟器都在一个线程池中执行。模拟器共用RM,并在调度器外包裹一层wrapper,这个Scheduler
Wrapper能够跟踪Scheduler并产生一些日志。模拟器产生的日志能够用作以后的分析。

Yarn调度器负载模拟器——Yarn Scheduler Load Simulator (SLS)的更多相关文章

  1. YARN调度器(Scheduler)详解

    理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资 ...

  2. hadoop之 Yarn 调度器Scheduler详解

    概述 集群资源是非常有限的,在多用户.多任务环境下,需要有一个协调者,来保证在有限资源或业务约束下有序调度任务,YARN资源调度器就是这个协调者. YARN调度器有多种实现,自带的调度器为Capaci ...

  3. Yarn 调度器Scheduler详解

    理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资 ...

  4. Hadoop YARN 调度器(scheduler) —— 资源调度策略

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/hadoop_yarn_resource_scheduler 搜了 ...

  5. Hadoop Yarn调度器的选择和使用

    一.引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色.在讨论其构造器之前先简单了解一下Yarn的架构. 上图是Yarn的基本架构,其中ResourceManager是整个架构的核 ...

  6. yarn调度器 FairScheduler 与 CapacityScheduler

    yarn FairScheduler 与 CapacityScheduler CapacityScheduler(根据计算能力调度) CapacityScheduler 允许多个组织共享整个集群, 每 ...

  7. 调度器&负载均衡调度算法整理

    一.Linux 调度器   Linux中进程调度器已经经过很多次改进了,目前核心调度器是在CFS(Completely Fair Scheduler),从2.6.23开始被作为默认调度器.用作者Ing ...

  8. Hadoop的三种调度器FIFO、Capacity Scheduler、Fair Scheduler(转载)

    目前Hadoop有三种比较流行的资源调度器:FIFO .Capacity Scheduler.Fair Scheduler.目前Hadoop2.7默认使用的是Capacity Scheduler容量调 ...

  9. 不可不知的资源管理调度器Hadoop Yarn

    Yarn(Yet Another Resource Negotiator)是一个资源调度平台,负责为运算程序如Spark.MapReduce分配资源和调度,不参与用户程序内部工作.同样是Master/ ...

随机推荐

  1. Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2) D. Field expansion

    D. Field expansion time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  2. resetlogs报错 ORA-00392

      alter database open resetlogs或者 alter database open resetlogs upgrade报错:ORA-00392     在rman restor ...

  3. Mysql 主外键与索引之间的区别和联系

    系数据库依赖于主键,它是数据库物理模式的基石.主键在物理层面上只有两个用途: 惟一地标识一行. 作为一个可以被外键有效引用的对象. 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部 ...

  4. 设置java、maven环境变量(怕麻烦以后直接来这里复制)

    这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了. ·用文本编辑器打开用 ...

  5. OTOCI(bzoj 1180)

    Description 给出n个结点以及每个点初始时对应的权值wi.起始时点与点之间没有连边.有3类操作: 1.bridge A B:询问结点A与结点B是否连通.如果是则输出“no”.否则输出“yes ...

  6. 洛谷P2365 任务安排 [解法一]

    题目描述 N个任务排成一个序列在一台机器上等待完成(顺序不得改变),这N个任务被分成若干批,每批包含相邻的若干任务.从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是Ti.在每批任务开始 ...

  7. 易语言报错:无法定位链接器!请检查 tools\link.ini 中的配置是否正确。 静态连接失败

    今天下午搞易语言,在编写动态链接库以后,静态编译的时候出现以下提示: 无法定位链接器!请检查 tools\link.ini 中的配置是否正确. 静态连接失败 于是网上百度了下,找到相关的解决方法: 编 ...

  8. C# 用this修饰符为原始类型扩展方法

    特点:1.静态类 2.静态方法 3.第一个参数前加this 例如:public static List<T> ToList<T>(this string Json),就是为th ...

  9. T1164 统计数字 codevs

    http://codevs.cn/problem/1164/ 题目描述 Description [问题描述]某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109).已知不 ...

  10. luogu P1043 数字游戏

    题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分 ...