便于管理(lǐ)和维护的调度系统可(kě)以确保高性能(néng)集群计算硬件和软件等资源的正常使用(yòng),对资源进行有(yǒu)效的整合、分(fēn)配、回收,提高资源的利用(yòng)率,实现自动化部署和高可(kě)用(yòng)。奥工(gōng)服務(wù)小(xiǎo)分(fēn)队根据客户不同业務(wù)需求和流程定制化解决方案,在不同环境中(zhōng)部署过大量的调度软件,本篇来和大家唠一唠常见的三种免费开源又(yòu)好用(yòng)的调度软件。
首先是Torque+Maui,需要相互搭配应对复杂调度的开源调度软件组合。Torque作(zuò)為(wèi)PBS三大分(fēn)支之一,可(kě)以简单看作(zuò)是OpenPBS的后继,一个用(yòng)于超算集群作(zuò)业管理(lǐ)与调度的资源管理(lǐ)系统。而Maui 是一个高级作(zuò)业调度器,采用(yòng)积极的调度策略优化资源的利用(yòng)和减少作(zuò)业的响应时间,常被看作(zuò)是PBS的插入部件。
因為(wèi)Torque作(zuò)為(wèi)资源管理(lǐ)系统,本身只提供一些简单的调度策略,与高级作(zuò)业调度器Maui组合相得益彰,因此高性能(néng)计算集群中(zhōng)的复杂调度就需要Torque搭配Maui一起使用(yòng),这样的开源调度软件组合在用(yòng)户集群搭建部署过程中(zhōng)广為(wèi)使用(yòng)。
下面简单介绍Torque+Maui的安(ān)装(zhuāng)与部署。打开并进入安(ān)装(zhuāng)包,Server端执行以下命令:
# autogen.sh && ./configure && make && make install && make packages。生成安(ān)装(zhuāng)包,复制服務(wù)文(wén)件至/etc/init.d/目录中(zhōng),启动trqauthd 和pbs_server服務(wù)后设置服務(wù)调度策略為(wèi)true,并添加默认队列。添加节点信息至/var/spool/torque/server_priv/nodes文(wén)件中(zhōng),Server端编译安(ān)装(zhuāng)maui策略器后启动服務(wù)即可(kě),最后Client端使用(yòng)命令安(ān)装(zhuāng)Server端生成的sh包后启动pbs_mom服務(wù)。
接下来是Slurm(Simple Linux Utility for Resource Management),一种可(kě)用(yòng)于大型计算节点集群的高度可(kě)伸缩和容错的集群管理(lǐ)器和作(zuò)业调度系统,被世界范围内的超级计算机和计算集群广泛采用(yòng),TOP500超级计算机中(zhōng)约60%使用(yòng)它作(zuò)為(wèi)工(gōng)作(zuò)负载管理(lǐ)器。
Slurm工(gōng)作(zuò)调度工(gōng)具(jù)是面向Linux和Unix类似内核的免费和开源工(gōng)作(zuò)调度程序,会為(wèi)队列合理(lǐ)分(fēn)配资源并监视作(zuò)业至完成,它可(kě)以在一段时间内為(wèi)用(yòng)户分(fēn)配独占或者非独占的计算资源以便执行工(gōng)作(zuò)任務(wù);可(kě)以提供一个框架用(yòng)于在分(fēn)配的节点集上启动/执行/监视工(gōng)作(zuò);可(kě)以通过管理(lǐ)挂起的工(gōng)作(zuò)队列提供资源争夺仲裁问题等。
Slurm安(ān)装(zhuāng)部署,第一步先安(ān)装(zhuāng)相关依赖包(Development Tools,python3,readline-devel munge-devel pam-devel perl-ExtUtils-MakeMaker lua-devel mariadb-devel pmix-devel munge-devel munge-libs libssh-devel libssh2-devel hwloc-devel),然后使用(yòng)rpmbuild -ta命令编译并安(ān)装(zhuāng)生成的rpm包。再在Server端安(ān)装(zhuāng)slurmctld,Client端安(ān)装(zhuāng)slurmd相关包即可(kě)。安(ān)装(zhuāng)完成后进行slurm的相关配置,具(jù)體(tǐ)参见https://slurm.schedmd.com/quickstart.html中(zhōng)关于slurm.conf及slurmdb.conf的配置方式。
OpenLava是一款免费、开源、兼容IBM Platform LSF企业级工(gōng)作(zuò)量兼容管理(lǐ)器,可(kě)以安(ān)排串行和并行作(zuò)业,支持各种高性能(néng)计算和分(fēn)析应用(yòng),在需要快速扩容和缩容集群的云场景中(zhōng)非常适用(yòng),是企业内部集群管理(lǐ)的优选之一。
OpenLava功能(néng)特性非常突出,由于100%开源组件组成,避免了许可(kě)协议的限制和费用(yòng);运行在本地或者云上,知识产(chǎn)权自主可(kě)控;兼容IBM® Spectrum LSF以及数以百计的现有(yǒu)集成;公(gōng)平分(fēn)享调度,根据配置策略平衡地分(fēn)配资源,确保关键项目的资源需求得到满足等等。
OpenLava安(ān)装(zhuāng)部署相对比较简单,只需要安(ān)装(zhuāng)相关依赖包tcl-devel ncurses-devel后编译安(ān)装(zhuāng)openlava软件,安(ān)装(zhuāng)完成后添加openlava用(yòng)户,并修改安(ān)装(zhuāng)文(wén)件属主,启动opanlava服務(wù)即可(kě)。
三种开源调度软件的功能(néng)对比:
奥工(gōng)服務(wù)小(xiǎo)分(fēn)队与各种调度软件或多(duō)或少都打过交道,深知对现代企业的超算集群来说,一个完整高效的调度软件至关重要。上文(wén)提到的三种可(kě)以说是开源调度软件中(zhōng)最為(wèi)常见的,也是我们的老朋友了,奥工(gōng)服務(wù)小(xiǎo)分(fēn)队的工(gōng)程师们必然有(yǒu)一肚子的“话”要说:
工(gōng)程师A:
这么多(duō)年工(gōng)作(zuò)下来接触到不同的调度软件,除了开源的,还有(yǒu)LSF,Jhscheduler,PBS pro等商(shāng)业非开源软件。与商(shāng)业非开源软件相比,开源调度软件更受青睐的原因无非是两点:一来避免许可(kě)协议的限制,二来降低超算集群费用(yòng),这也是我们打交道最多(duō)的重要原因之一。
工(gōng)程师B:
关于Troque有(yǒu)个点要注意一下,在部署完成后由主节点是无法直接查看到运行完成作(zuò)业的,其以log形式保存在/var/log/spool/torque/sched_priv/accounting目录中(zhōng),如需查看相关历史作(zuò)业需配置log_keep_days及log_level参数。
工(gōng)程师C:
Slurm这个开源调度软件我接触的比较多(duō),它不仅可(kě)以使用(yòng)其原有(yǒu)配置文(wén)件设置队列的限制信息,还可(kě)以通过编译支持的lua文(wén)件用(yòng)以限制。Slurm支持文(wén)件及数据库方式存放历史作(zuò)业信息,在使用(yòng)数据库方式时需要sacctmgr add cluster 集群名(míng)称。
工(gōng)程师D:
上文(wén)提到的Openlava是LSF的一个可(kě)替代的开源版本,LSF这个作(zuò)业调度系统的大名(míng)自然不用(yòng)多(duō)说,Openlava可(kě)以如lsf一样拥有(yǒu)强大的web和监控功能(néng),我们在集群部署软件过程中(zhōng)深有(yǒu)體(tǐ)会。
一个好的调度软件,可(kě)以有(yǒu)效提高集群资源利用(yòng)率,实现自动化部署和高可(kě)用(yòng),而“开源”这个特性便可(kě)以為(wèi)用(yòng)户节省投资费用(yòng),因此在集群客户眼中(zhōng)颇受偏爱。还是那句话,功能(néng)很(hěn)重要,成本也很(hěn)重要,这就是好的服務(wù)价值所在!
OGSP(Ongineer Service Platform)是奥工(gōng)科(kē)技(jì )自主研发的一款面向终端计算用(yòng)户的、安(ān)全、可(kě)进化的密集计算服務(wù)平台。
OGSP秉承云原生设计理(lǐ)念,搭建密集计算场景中(zhōng)基础侧、平台侧、应用(yòng)侧的生态服務(wù)架构,谋求基础侧的稳定、健康、可(kě)扩展性;平台侧的高效、动态、易用(yòng)性;应用(yòng)侧的专业、交互、场景化。将服務(wù)产(chǎn)品化、产(chǎn)品场景化,為(wèi)用(yòng)户提供基于实际生产(chǎn)场景的一站式密集计算服務(wù)。
hwclould@ongineer.cn
南京市雨花(huā)台區(qū)锦绣街(jiē)绿地之窗C4栋326室
025-86738812
版权所有(yǒu) ©南京奥工(gōng)信息科(kē)技(jì )有(yǒu)限公(gōng)司 京ICP证000000号
技(jì )术支持:网站建设