最新要闻
- 老版本微博下线倒计时!新版已无法返回老版本
- 舒适降噪的天花板 索尼WH-1000XM5耳机跌破2000元
- 全球视点!苹果把果链撤出中国?难度可是地狱级的
- 世界快报:小米发布米家智能小厨宝7L S1:2000W速热、1年省电100度
- 播报:男子将手机改装成“偷拍神器”:摄像头改到耳机插孔 赚了30万
- 世界资讯:我迟早被这些AI绘画笑死
- 世界快报:买不到抗原检测试剂盒怎么办?不要慌
- 重点聚焦!Intel A750显卡新驱动性能实测:《CS:GO》帧数飙升79%
- 全球今头条!推特重推蓝V认证服务 苹果用户得多交3美元!马斯克也无能为力
- 每日焦点!三星S23 Ultra关键参数确定:首发高频版第二代骁龙8、祖传25W快充
- 童年记忆的黄桃罐头为啥突然火了?专家建议不要盲目囤
- 【世界快播报】刘强东称新冠比感冒还轻微!王石也发声:只有鼻子不舒服 10天转阴
- 全球今亮点!再见C罗!C罗赛后痛哭:葡萄牙0-1摩洛哥 非洲球队首进4强
- 世界杯英法大战结束!法国2-1淘汰英格兰 晋级四强
- 中国市场已合资30年!又一车企资不抵债:销量暴跌
- 全球观速讯丨中国车企在俄罗斯销量飙升:市占率超1/3 主打中高端
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
全球快资讯丨任务调度系统-业务线资源隔离
问题背景
最近注意到自己负责的一个任务调度集群碰到了计算资源业务线分配不均的问题(即业务线资源隔离没有做好):
- 在任务高峰期,调度系统会将计算资源偏向分配给(执行耗时比较长的)大任务,而(执行耗时比较短的)小任务却分到较少的计算资源。
- 当某一个业务线的任务都是大任务时,就会出现大部分计算资源都分配到该业务线,而其他业务线只分配到较少的计算资源。
阅读该系统调度相关代码稍加分析就明白了为什么会出现这种情况,在分析之前先讲一下这个任务调度系统工作机制:
(资料图片)
- 该系统为master-slave模式,即有一个中心调度节点,多个工作节点。
- 工作节点会不停的尝试请求中心调度节点获取任务并执行,循环往复。
- 当工作节点请求调度节点获取任务时,调度节点会选择一条业务线,并将该业务线的任务返回给工作节点。
问题分析
现在问题就出现在调度节点选择业务线的算法上,目前的算法是:
- 各业务线提前配置好资源上下限,根据任务堆积情况进行自动扩缩,即每条业务线分配的资源是实时计算的。
- 选择业务线则是根据业务线实时配置的计算资源 / 所有业务线实时配置的资源之和 得到一个权重比例,然后根据该权重比例进行选择业务线。权重比例大(即该业务线配置的资源在所有业务线资源之和中所占比例大),被选中的概率就大。
这个算法粗略一看没什么问题,但是仔细分析一下这里忽略了一个关键因素:没有考虑任务执行耗时,默认任务执行耗时都一样。这样会造成大任务占用了大部分的计算资源(即工作节点),这里简单描述一下:
- 这里有A、B2条业务线,分别配置了5个计算资源(总共10个计算资源):可以计算得出每条业务线中的任务被执行的概率是50%。
- 其中业务线A中有100大任务,业务线B有200个小任务。假设大任务执行需要20s,小任务执行需要10s。那么正常情况业务线A总共需要(100 * 20) 2000s计算时间才能执行完,业务线B也需要(200 * 10)2000s计算时间执行完,同时在(2000s * 2 / 10)400s后执行完成
- 实际情况是:
调度轮次 | 第1次 | 第2次 | 第3次 | 第4次 | 第5次 | 第6次 | 第N次 |
---|---|---|---|---|---|---|---|
选择的业务线 | A | B | A | B | A | B | |
业务线A剩余任务 | 99 | 99 | 98 | 98 | 97 | 97 | 100 - N/2 |
业务线B剩余任务 | 200 | 199 | 199 | 198 | 198 | 197 | 200 - N/2 |
大家发现端倪没有,虽然在选择任务线的逻辑上是公平的、符合预期的,但是任务本身是不公平的(任务执行耗时有长有短),这就会造成大任务多的业务线实际上分配了比预期多得多的计算资源。
思考
到了这里,心里出现了一些疑问:
- 调度系统存在的意义是什么?
- 任务怎么调度才符合预期?
对于第一个问题,我给出一些我的见解:任务调度系统存在的意义是解决任务与计算资源之间的矛盾。如果计算资源足够多,多到每一个任务都能够立即得到执行,那么调度系统就没有存在的意义了。
第二个问题,任务怎么调度才符合预期。还记得上文我提到的业务线提前配置好资源上下限吗?对,这个很关键。业务线配置的是资源的上下限,业务线只关心资源,只要分配给业务线的资源符合预期就行,不用关心这一次任务到底调度业务线A还是业务线B的任务。
理清楚了第二个问题,那么之前的调度算法问题就很明显了,计算权重时应该把计算资源的因素考虑进去。
计算资源的视角
在任务调度系统中,看待资源,我觉得有两种视角:
- 机器视角
- 计算时间视角
机器视角
这个很好理解,符合自然直觉。把物理机器当成一种计算资源,这个物理机器分配给业务线A就是业务线A的计算资源,必须优先执行业务线A的任务。那么在调度任务时逻辑就非常简单了,这台物理机器尝试从调度节点获取任务时,应该优先获取业务线A的任务,只有当业务线A没有任务时才能借给其他业务线执行任务。
在机器视角下,业务线资源分配逻辑被前置到了物理机器启动环节,即在机器启动时就要确定好归属于哪条业务线。
在机器视角下,业务线资源隔离、分配变得很简单了,但是也存在不小的问题,至少在我这个(动态扩缩容)场景下不太适用:因为我们的调度系统每分钟都要动态计算每条业务线的目标资源数量,很有可能因为资源不足导致分配给某条业务线的机器一直起不来,就会导致该业务线没有计算资源执行任务。
在实际的操作过程中,我选择了从计算时间视角看待计算资源,来解决我碰到的问题。
计算时间视角
在机器视角中,把物理机器看成计算资源;在计算时间视角中,把物理机器的计算时间抽象成计算资源。怎么理解计算时间是一种计算资源呢?可以参考现在计算机中CPU的调度逻辑,把CPU计算资源按照时间进行分片,按照一定的算法将计算时间分配给不同的进程,达到多个进程同时运行的效果。
在计算时间视角下,不管底层机器有多少台,始终按照业务线实时配置的计算资源 / 所有业务线实时配置的资源之和 得到一个权重比例去分配计算资源。具体做法是:
- 业务线实时配置的计算资源 / 所有业务线实时配置的资源之和 得到一个权重比例,称之为P吧。
- 统计本轮资源调度中,所有业务线已使用的计算时间之和,称之为T吧。
- 比较本轮资源调度中,某业务线已使用的计算时间是否大于 T * P:若大于,则说明该业务线的计算时间已经使用完,不能再参与本次任务调度了;反之则正常参与任务调度计算。
- 计算业务线实时配置的计算资源 / 剩下业务线实时配置的资源之和 得到一个权重比例,按照该比例进行任务调度
通过计算时间的视角去分配计算资源,能够屏蔽底层机器状态,比如资源不够机器起不来、机器扩缩容等没有达到目标机器数量的情况。通过计算时间的视角抽象计算资源也有弊端:如果底层机器计算能力差异很大的时候仍然会干扰资源分配的准确性。
全球快资讯丨任务调度系统-业务线资源隔离
天天微速讯:echarts设置暂无数据
老版本微博下线倒计时!新版已无法返回老版本
舒适降噪的天花板 索尼WH-1000XM5耳机跌破2000元
全球视点!苹果把果链撤出中国?难度可是地狱级的
天天滚动:SQLyog连接MYSQL时报错 Client does not support authentication protocol requested
世界快报:小米发布米家智能小厨宝7L S1:2000W速热、1年省电100度
播报:男子将手机改装成“偷拍神器”:摄像头改到耳机插孔 赚了30万
世界资讯:我迟早被这些AI绘画笑死
世界快报:买不到抗原检测试剂盒怎么办?不要慌
重点聚焦!Intel A750显卡新驱动性能实测:《CS:GO》帧数飙升79%
公众号附件怎么添加?还在用阅读原文的方式来添加吗,你已经落伍啦,现在大家都在用这个新方法,不仅方便还省事!
TabControl控件的简单使用-添加tab
【全球时快讯】Python爬虫实战,requests+xlwt模块,爬取螺蛳粉商品数据(附源码)
环球微速讯:Linux笔记03: Linux常用命令_3.3文件操作命令
新资讯:canvas分享
全球今头条!推特重推蓝V认证服务 苹果用户得多交3美元!马斯克也无能为力
每日焦点!三星S23 Ultra关键参数确定:首发高频版第二代骁龙8、祖传25W快充
童年记忆的黄桃罐头为啥突然火了?专家建议不要盲目囤
世界今头条!【2023最新B站评论爬虫】用python爬取上千条哔哩哔哩评论
【世界快播报】刘强东称新冠比感冒还轻微!王石也发声:只有鼻子不舒服 10天转阴
全球今亮点!再见C罗!C罗赛后痛哭:葡萄牙0-1摩洛哥 非洲球队首进4强
世界杯英法大战结束!法国2-1淘汰英格兰 晋级四强
中国市场已合资30年!又一车企资不抵债:销量暴跌
全球观速讯丨中国车企在俄罗斯销量飙升:市占率超1/3 主打中高端
每日消息!uniapp+unicloud开发微信小程序流程
焦点快看:清理备用内存 - 解决方案(备用内存占用过高且不自动释放)--九五小庞
天天日报丨Blazor和Vue对比学习(进阶.路由导航四):路由传参
王冰冰反向操作:戴摩洛哥围巾 希望葡萄牙获胜
今日看点:老黄怎么看?这张RTX 4090卖到了10万块 有钱也不一定买到:EVGA绝版货
东北市民网购宠物猪收到已冻僵 网友唏嘘:一个敢买一个敢发
【环球新要闻】从 695. 岛屿的最大面积 入手深度优先搜素DFS
快资讯丨用户重复注册分析-多线程事务中加锁引发的bug
【焦点热闻】PTA作业6-8电信系列总结
环球要闻:C#中的WebAPI
专为AR/VR打造!苹果全新操作系统名为xrOS:有专属应用商店 最早明年推出
全球看点:高校花2.4亿把教学课堂搬到了海上 网友羡慕不已
2022-6.824-Lab2:Raft
007爬虫之requests模块进阶
全球今日讯!攻防世界-unseping(序列化,Bash shell)
全球观速讯丨《暗黑破坏神4》赛季通行证需氪金购买 暴雪重申:不会充钱就变强
JavaScript:this指针
20点狂欢:淘宝每满200减30、天猫/京东每满300减40
厂家称黄桃罐头没药效 网友调侃:黄桃罐头为何成东北人疯狂膜拜的神物
全球看点:验证jenkins自动化部署
世界速读:首个进入太空的人类 宇航员加加林个人档案已解密:34岁死于空难
天天即时看!女生高铁录乐器考试被打断:工作人员知道情况后特意给换了地方
2021冬--简单描述时间复杂度
PDF转图片
Python实战案例,tkinter+random模块,实现课堂随机抽选提问并语音播报学生姓名
世界关注:将近30万人预约!有米粉要当小米13 Pro钉子户
每日观察!86寸4K巨屏!小米EA Pro 86电视今日开售 5999元
比Zen4还火 AMD游戏神U锐龙7 5800X3D史低2199元(首发3099)
MIUI 14花宠摆件上线!米粉:小时候的QQ农场又回来了
每日快报!刘强东分享抗新冠经验:比感冒还轻微 京东将开通热线帮助员工
Windows OpenGL ES 图像透明度
热门看点:我“采访”了 ChatGPT
观察:Blazor和Vue对比学习(进阶.路由导航二):布局(母版/嵌套)
世界简讯:WPF内嵌Http协议的Server端
造车大战中360赢麻了?周鸿祎大赞自己投资的哪吒汽车
天天快看:整活!MIUI 14桌面大变:支持图标自定义调整
当前速读:post表单数据格式完全解析multipart/form-data(C#实现)
队列之王: Disruptor 原理、架构、源码 一文穿透
每日视讯:Python如何导入自定义模块?
环球通讯!进制转换和计算机存储规则
SpringBoot整合Swagger2在线文档
迷惑!大妈凌晨骑车撞上路边停放车辆:怒斥司机不开车灯
黄桃罐头遭疯抢 厂家实诚回应“没药效” 网友调侃:你不懂
环球观焦点:曝Redmi K60系列依然将采用塑料支架 为了性价比?
注意!鲍鱼被列入濒危物种红色名录:20种或灭绝
10.3寸墨水屏!联想YOGA Paper墨水平板今日开售 3699元
天天热点评!环形队列、 条带环形队列 Striped-RingBuffer (史上最全)
梅西进4强 雷军点赞:阿根廷门将神了 太给力
全球微速讯:苹果要大赚!消息称iPhone 15又涨价 高端万元起:华为Mate60等跟涨吗
天天快资讯:深度学习基础课:最大池化层的前向传播推导
阿根廷点球大战淘汰荷兰:梅西点射破门 追平巴蒂纪录网友纷祝贺
国际领先!中国天眼获得银河系气体高清图像:揭露恒星诞生到消亡
世界热讯:巴西点球大战3-5克罗地亚!无缘四强 内马尔赛后痛哭
今日播报!Python装饰器与迭代器的学习教程
全球快资讯:你必须记住的30个CSS选择器?
最轻折叠屏OPPO Find N2来了!朱海舟:上手后你会WOW一下
当前热点-负债585.68亿、工资发不出:国美获黄光裕公司贷款1.5亿港元
天天快讯:NVIDIA力推的光追版《传送门》游戏被指代码糟糕:AMD显卡坑了
零百加速3.8秒马力暴躁 蔚来全系车型试驾会郑州站开启
世界短讯!MAUI新生5.2-样式外观:控件状态样式VisualState
python实现简单的商品数据管理系统
全球动态:asp.net core 基于Cookies的认证,自定义认证方案
全球新消息丨nginx中的正则表达式,location路径匹配规则和优先级
当前观点:后矿难时代 显卡价格仍居高不下
环球通讯!Java校验自定义枚举值
全球观天下!第一百一十一篇:基本引用类型Date
天天快消息!布洛芬不用抢 中国产能全球第一:一家公司就够33亿人用
天天短讯!BLOG-3总结
世界即时:突发!特斯拉中国工厂将停产Model Y
世界速看:一箱油能跑1200公里!比亚迪护卫舰07上市 20.28万起
当前通讯!雷军再谈小米13徕卡影像:非常自豪 你一定会被震撼到
【天天时快讯】我 一个程序员 靠玩ChatGPT年薪210万
世界看点:DX9性能大涨80% Intel驱动打鸡血原因找到了:做法很聪明
关注:南京一外卖小哥逆行撞劳斯莱斯 网友:几十年外卖白送了
今日快看!全球首架C919正式交付 中国搞这款大飞机有多不容易?