任务调度

资源调度

群内的海量硬件资源,如 CPU、内存、磁盘、网络、GPU、FPGA 等,需要快速地分配给每天上千万的 job,几十亿的计算实例。既要满足 CPU 密集、内存密集、或者某种型号的 GPU 板卡、数据 locality、多租户配额等多种资源约束,同时又要优化集群的资源利用率,削峰填谷、取长补短、降低成本。尤其随着集群规模的急剧扩大,这些问题的解决需要架构上有新的突破。

经过几十年的发展,YARN 和 Kubernetes 成为代表性的开源调度框架。YARN 提出的双层调度框架实现了资源管理和调度的分离,满足了中小规模离线作业频繁调度的需求,但在超大规模场景下调度性能存在不足,集群利用率不高,多租户间的资源公平性较差;而 Kubernetes 是面向容器场景的调度(容器只要一次启动、不需要频繁调度),主要解决容器的编排、管理等问题,更适合任务长时间运行的场景,但在大数据计算高并发作业的场景,没有有效的解决方案。

上一页
下一页