<续>调度算法补充
cpmpute->executors:
- 1.从storm配置获取<compoent-id,parallelism>集合
- 2.storm-task-info 获得<task-id, compoent-id>集合
- 3.将集合处理为 [compoent-id, tasks]
- 4.将<compoent-id,parallelism>和<compoent-id,tasks> join得到<compoent-id,[parallelism,tasks]>
- 5.根据[parallelism,tasks]将task均分到数目为parallelism的分区,返回每个parallelism的[task-1,task-2,...]
- 6.将返回的转换为executor集合[start-task-id,end-task-id]
get-alive-assigned-node+port -> executors:
- 1.获得当前topology的assignment
- 2.如不为空,则获得其中的<executors,slot>
- 3.转化为[executors,[node,port]]
- 4.再次转化为<[node,port],executors>
- 5.返回结果
sort-slots:
- 1.将所有可用的slots作为参数传入
- 2.根据supervisor-id进行分组排序
- 3.调用intervel-all方法对分组排序后的结果结合colls进行处理
1colls不为空,则调用map first方法对集合处理:遍历colls,取每个supervisor的第一条记录,加入到my-elments中。2递归调用interval-all处理剩下的集合。
参见下图:

bad-slots:
- 1.参数需要:此topology已经分配的资源existing-slots、此topology的所有
的executor、此topology可使用的slot数目 - 2.根据executer数和可使用的slot数计算出一个<executor-count,slot-count>,executor-count表示一个slot里面的executor数目,slot-count表示这样的slot有多少个。比如 10个executor ,4个slot可能的计算结果为<2,2>,<3,2>
- 3.再根据传入的existing-slots中的每一项计算其executor-count
- 把计算得到的executor-count作为键去集合<executor-count,slot-count>里面取,如果找到的值大于0,说明存在这样的分配,保持这样的分配,将其加入到keeps中,对应的slot-count的值减一,继续下一个计算
- 4.遍历完existing-slots集合后,可能会未加入keeps集合的元素,此时这些就是可以被释放的资源。具体做法就是:existing-slots和keeps做差值,剩下的,就可以释放。作为结果返回。
<续>调度算法补充的更多相关文章
- Spring Boot 知识笔记(整合Mybatis续-补充增删改查)
续上篇,补充数据库增删改查的其他场景. 一.Mapper中添加其他场景操作 package net.Eleven.demo.Mapper; import net.Eleven.demo.domain. ...
- Python之路【第十一篇续】前端之CSS补充
CSS续 1.标签选择器 为类型标签设置样式例如:<div>.<a>.等标签设置一个样式,代码如下: <style> /*标签选择器,如果启用标签选择器所有指定的标 ...
- [.NET] C# 知识回顾 - 委托 delegate (续)
C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...
- sql server 2012 数据引擎任务调度算法解析(下)
上次我们说到,sql server 2012的企业版的任务调度流程,一直到给新连接分配了scheduler,都是与以前的版本算法是一致的,只有在进行任务分配的时候,算法才有了细微的调整. 新算法的目的 ...
- 关于激活Bentley软件详细步骤介绍(再补充一个)
在安装完ContextCapture软件之后,大家怀着迫不及待的心情双击了运行快捷键.但是很遗憾的是,会产生下面的提示窗口: 也许大家并不在意,就觉得关掉这个窗口不就行了.然而,头疼的问题来了.这个窗 ...
- [转]iOS/iphone开发如何为苹果开发者帐号APPID续费
原文地址:http://blog.sina.com.cn/s/blog_68661bd80101nme6.html 其实相当的简单,这篇内容是给财务看的,有的地方连我自己看了都感觉有点...但如果不详 ...
- .NET之美——C#中的委托和事件(续)
C#中的委托和事件(续) 引言 如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识.但那些远不是委托和事件的全部内容,还有很多的地方没有涉及.本文将讨论委托和事件一些更为 ...
- 三种LVS负载均衡技术的优缺点----负载均衡调度算法
三种LVS负载均衡技术的优缺点归纳以下表: VS/NATVS/TUNVS/DR 服务器操作系统任意支持隧道多数(支持Non-arp) 服务器网络私有网络局域网/广域网局域网 服务器数目(100M网络) ...
- VS简单注释插件——VS插件开发续
VS简单注释插件——VS插件开发续 前些时候,我写过一篇<VS版权信息插件——初试VS插件开发小记>分享过一个用于添加注释信息的插件,但那个插件有几个问题: 不能添加带块注释(/**/), ...
随机推荐
- Language Modeling---NLP学习笔记(原创)
本栏目来源于对Coursera 在线课程 NLP(by Michael Collins)的理解.课程链接为:https://class.coursera.org/nlangp-001 1. 语言模型定 ...
- Selenium自动化工具工作原理
http://blog.csdn.net/five3/article/details/6790925 原文作者信息如下,需要更多信息请去原作者博客查看: 作者:hyddd 出处:http://www. ...
- Lower dc/dc-converter ripple by using optimum capacitor hookup
Low-ripple-voltage positive-to-negative dc/dc converters find use in many of today's high- frequency ...
- js继承——到继承结束
说到继承,其它语言里可能有两种: 接口继承是继承方法签名,而实现继承则继承实际方法.ES函数没有签名,不能实现接口继承,只支持实现继承,而实现继承主要依靠原型链.(这两句话,说来轻松,理解来不易,且行 ...
- 【资料】wod旗帜,纹章
物品 徽章 旗帜 掉落地点 备注 火焰纹章 法师与怪物 火焰魔法.魔法攻防 雄鹰纹章 受诅咒的遗迹 弩系相关 盗贼纹章 捉迷藏 偷袭.匕首.割喉.近攻防 守夜人的纹章 酒馆里平静的一天 钝器.双打.旋 ...
- pytest文档9-参数化parametrize
前言 pytest.mark.parametrize装饰器可以实现测试用例参数化. parametrizing 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子 # content of ...
- UIButton 设置圆角 边框颜色 点击回调方法
UIButton *signBtn = [UIButton buttonWithType:UIButtonTypeCustom]; signBtn.frame = CGRectMake(, , , ) ...
- Android中各级目录的作用
Android中各级目录的作用 一.目录结构 src目录---存放源代码文件 gen目录---ADT插件生成的文件,(自动生成) R.java文件 drawable类---给图片生产的ID ...
- [Gradle] Gradle 简介
Gradle 是以 Groovy 语言为基础,面向Java应用为主.基于DSL(领域特定语言)语法的自动化构建工具. Ø gradle对多工程的构建支持很出色,工程依赖是gradle的第一公民. Ø ...
- OpenCV学习(13) 细化算法(1)
程序编码参考经典的细化或者骨架算法文章: T. Y. Zhang and C. Y. Suen, "A fast parallel algorithm for thinning digita ...