您在建设和使用HPC的过程中是否遇到了这些挑战和限制?
- 手动任务分配和协调很繁琐
- 用户之间的任务存在资源竞争和冲突,任务执行受阻
- 任务执行顺序不可控,影响关键任务执行
- 资源利用率不均衡,部分节点过载,而其他节点空闲,资源浪费
- 故障恢复和容错能力有限
- 集群和任务的监控和报告困难,需自行收集分析数据
- 用户间协作困难,需要更多的沟通和协调
这时,调度系统的引入能够帮您解决上面的痛点场景和问题,调度系统具有灵活的资源管理能力,具备丰富的调度策略,可以显著提高资源利用率、任务执行效率、负载均衡能力等方面的性能,为用户提供更加便捷、高效和可靠的计算服务。
一、调度系统的重要性
作业调度系统作为高性能计算系统软件栈中的关键一环,主要负责统一管理集群的计算资源和业务作业,直接影响资源使用效率和业务产出,是整个HPC系统的大脑和中枢。在新的形势下,作业调度系统面临诸多挑战,主要包括:
二、调度系统对比分析
在调度系统领域内,国际上主流调度系统主要为LSF、PBSpro、SLURM等。其中,LSF、PBSpro 是商业调度系统,SLURM是完全开源的。每个调度系统在功能上都是趋同的。从行业市场占有率的角度来看,LSF主要在EDA领域具有遥遥领先的市场占有率,PBSpro主要在制造领域具有很大的用户群体。SLURM是开源的,并且经过国内外超算中心的验证,具有突出的优势。国内外,主要流度系统的竞品对比如下:
三、发现了一款开源、有优势的调度系统MetaStack
在对调度系统进行选型和对比分析过程中,发现了一款基于SLURM进行改进开发的一款新的国产调度系统—MetaStack,它在原生SLURM调度系统的基础上进行了包括吞吐率、稳定性、易用性、调度算法、调度架构、权限控制等在内的数十项重要改进,形成了具有特色的自有调度系统版本(MetaStack),且该调度系统应用于多个国家级超算中心,支撑了单集群大规模用户(2w+用户)、资源(1.5w+节点)、任务(15w+并发作业)的超算任务调度运行,支撑超算互联网业务拓展。
这个调度系统进行了开源,我们可以快速获取最新的调度系统版本来运用于自己的集群管理,同时也可以作为贡献者丰富和充实这款调度系统,为国产调度系统贡献自己的一份力量。
MetaStack调度系统开源路径:GitHub - cluslab/metastack: Metastack: an enhanced and performance optimized version of Slurm