APP下载

SlurmX:基于Slurm使用面向对象设计方法重构的任务调度系统*

2022-09-21温瑞林马银萍王政丹向广宇付振新

计算机工程与科学 2022年9期
关键词:资源信息

温瑞林,樊 春,马银萍,王政丹,向广宇 ,付振新

(1.北京大学信息科学技术学院,北京 100871;2.北京大学计算中心,北京 100871;3.北京大学国家生物医学成像科学中心,北京 100871;4.鹏城实验室,广东 深圳 518055;5.北京大学软件与微电子学院,北京 102600)

1 引言

Slurm[1]是一个在生产环境中广泛使用的任务调度系统。Slurm的运行效率很高,但是当对其进行功能扩展时,由于Slurm代码使用的是抽象能力较低的C语言且代码规范不太严谨等原因,Slurm的代码耦合度高、维护时间成本较大,添加新功能的效率也较低。因此,本文将Slurm的现有架构进行重构、解耦,使用具备较高抽象能力的C++进行重新实现,从而降低新功能的开发和维护成本,并基于此提出了一个新的任务调度系统SlurmX。

在SlurmX的设计过程中,本文参考了同样使用C++语言编程,并且采用面向对象方法实现架构和组件设计的高性能计算系统HTCondor[2]的一些设计思路,同时也遵循了Slurm的原有功能和程序逻辑。

本文将先对Slurm的功能和SlurmX的需求进行分析;再对SlurmX进行系统架构设计和具体的内部模块设计;最后对本文进行了总结,探讨了未来改进方向。

2 SlurmX的需求及功能分析

2.1 用户界面及接口使用需求

该资源调度系统要面向进行高性能计算的用户,假定用户具备一定程度的计算机知识,可以通过远程终端使用命令行操作该软件。因此,该资源调度系统除资源使用情况概览等部分场景外,仅需提供命令行操作接口。

本文提供如下几种命令行接口:

(1)提交单个计算任务的交互式接口。……

登录APP查看全文

猜你喜欢

资源信息
让有限的“资源”更有效
基础教育资源展示
资源回收
订阅信息
资源再生 欢迎订阅
展会信息
对你有用的“钱”在资源
信息
健康信息
健康信息(九则)