Linux负载均衡算法有瑕疵,修复后性能将提升一倍
奔跑的男人 · 264浏览 · 发布于2020-03-16
Linux 内核开发者 Vincent Guittot 发现 Linux 完全调度算法 CFS 存在瑕疵,修复之后将进一步提升调度性能。
在 Linux 负载均衡期间,使用 CFS 算法时,系统会从负载较高的运行队列中拉取一些任务交给负载较低的队列,以此分摊 CPU 资源利用率。一般的过程就是系统会从最高利用率的队列往下拉任务。
但是 Vincent 在邮件列表中表示,这其中存在一个问题:实际上算法没有考虑到在这个过程中可能有一些待处理任务要拉,如果有这样的待处理任务需要拉,那么与负载均衡分摊利用率的过程就会产生短暂的“冲突”,使得对队列资源利用率的分摊将延后,也就是等到拉完待处理的任务后再进行。
而根据分析,Vincent 发现这种待处理任务至少有两个,也就是说会出现两次短暂的“冲突”,虽然很微小,但是会影响系统的整体性能。
同时他也对修复该问题之后的效益进行了具体影响数据的测算,发现每个请求花费的最大时间减少大约一半,平均从 21 ms 减少为 11 ms,考虑空闲负载均衡等因素,最糟糕的情况下从 41 ms 减少到 21 ms。(虽然平均每个请求的影响只有 0.1 多)
平均最大值不能完全反映该值的广泛分布尖端/预定/核心的范围从1.350ms到41ms以上,并且补丁程序在1.350ms到21ms之间。
更加具体的分析可以查看邮件列表:
https://lore.kernel.org/lkml/20200312165429.990-1-vincent.guittot@linaro.org
相关推荐
Protobuf协议应用干货
奔跑的男人 · 1081浏览 · 2019-06-03 11:03:30
谈谈Java任务的并行处理
吴振华 · 1020浏览 · 2019-06-03 11:11:27
Dubbo Adaptive机制详解
吴振华 · 961浏览 · 2019-06-06 11:12:41
cors跨域之简单请求与预检请求(发送自定义请求头)
追忆似水年华 · 970浏览 · 2019-06-11 11:41:51
RPC的负载均衡策略
qq2360248666 · 768浏览 · 2019-06-12 14:27:20
分类专栏
最新发布
最热排行
0评论