开发者社区> 问答> 正文

对于进一步提升资源隔离能力以保障系统 QoS,Linux cgroup 机制还存在哪些不足?

已解决

对于进一步提升资源隔离能力以保障系统 QoS,Linux cgroup 机制还存在哪些不足?

展开
收起
阿阿里云 2022-04-05 09:31:17 904 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    • 在 CPU QoS 方面,尽管 cgroup 支持 Quota、Share 等 QoS 机制,但在高资源 利用率下,核心的问题还是对硬件资源的竞争,以及内核 CFS 调度算法如何同时满足延迟敏感任务和批处理计算任务的需求。内核社区实现了 Intel 提出的 CAT、MBA 等 CPU Cache,内存带宽能隔离机制,谷歌和阿里云还实现了各自定制的调度器算法,以解决高利用率下调度延迟的问题。目前,此方向的技术演进非常快,而且更多的试错还在进行中,并未形成更通用的解决方案。

    • 在内存领域,cgroup 机制仅仅实现了按照 cgroup 记账,以及 cgroup 内存资源的使用上限,在 page cache 层面,buddy 子系统、高利用率高压力的并发竞争,还有很多未解决的问题。目前谷歌和阿里都各自实现了有 QoS 差别的主动内存回收算法,以及 per cgroup 的内存回收策略,一定程度上可以缓解内存压力。但是,软件层面的严重共享的底层设计,让内存 QoS 难以得到很好的保障。

    • 在存储领域,长期以来,Linux 内核缺乏一个可用于生产环境且具备 QoS 能力 的文件系统,只有块设备层实现了基于 cgroup 的 QoS 机制,支持按照带宽、延迟来配置共享磁盘 QoS 策略。在传统物理机环境下,因为磁盘空间和资源有限,在容器共享文件系统时,QoS 的保障问题没有很好的解决方案。在虚拟化云服务器上,由于云盘的使用,避免文件系统共享或者磁盘共享比较容易做到,所以问题迎刃而解。

    • 在网络领域,Linux 网络栈 QoS 是基于 TC 模块实现的,并且早于 cgroup 的发展,技术也比较成熟。在容器调度的高利用率的情况下,网络 QoS 的问题通常与其他资源竞争问题交织在一起,例如,CPU 和内存压力经常带来网络延迟的抖动。因此,更好的网络 QoS 方案是全栈和系统化的定制。

    《弹性计算:无处不在的算力》电子书可以通过以下链接下载:https://developer.aliyun.com/topic/download?id=7996"

    2022-04-05 10:47:27
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载