<续>调度算法补充
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插件开发小记>分享过一个用于添加注释信息的插件,但那个插件有几个问题: 不能添加带块注释(/**/), ...
随机推荐
- loj115 无源汇有上下界可行流
link 题意&题解 code: #include<bits/stdc++.h> #define rep(i,x,y) for (int i=(x);i<=(y);i++) ...
- Java 请求webServce接口 不带参数
最近对接了个webService的接口取数据,从网上良莠不齐的代码中找到了个方法, 具体作者已经记不住是谁了,现在把代码贴出来,希望可以帮到大家,代码如下,简单粗暴 public String get ...
- python开发_os.path
在python中,os.path模块在处理路径的时候非常有用 下面是我做的demo 运行效果: ========================================= 代码部分: ==== ...
- UESTC 2015dp专题 j 男神的约会 bfs
男神的约会 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descri ...
- ASP.NET中在一般处理程序中使用session的简单介绍
这篇文章介绍了ASP.NET中在一般处理程序中使用session,有需要的朋友可以参考一下 <%@ WebHandler Language="C#" Class=" ...
- 严重: StandardServer.await: create[8005]:
严重: StandardServer.await: create[8005]: 2011-03-14 17:44:51| 分类: 默认分类 | 标签:tomcat java 端口 await crea ...
- MySQL审计功能
http://blog.itpub.net/29733787/viewspace-1604392/
- Spark调研笔记第4篇 - PySpark Internals
事实上.有两个名为PySpark的概念.一个是指Sparkclient内置的pyspark脚本.而还有一个是指Spark Python API中的名为pyspark的package. 本文仅仅对第1个 ...
- java多线程知识点汇总(二)多线程实例解析
本实验主要考察多线程对单例模式的操作,和多线程对同一资源的读取,两个知识.实验涉及到三个类: 1)一个pojo类Student,包括set/get方法. 2)一个线程类,设置student的成员变量a ...
- Android学习之Http使用Post方式进行数据提交(普通数据和Json数据)
转自:http://blog.csdn.net/wulianghuan/article/details/8626551 我们知道通过Get方式提交的数据是作为Url地址的一部分进行提交,而且对字节数的 ...