Web前端最全slurm深度解析:探索作业调度系统的架构和术语(2),2024年最新快手前端面试难度

文末

从转行到现在,差不多两年的时间,虽不能和大佬相比,但也是学了很多东西。我个人在学习的过程中,习惯简单做做笔记,方便自己复习的时候能够快速理解,现在将自己的笔记分享出来,和大家共同学习。

个人将这段时间所学的知识,分为三个阶段:

第一阶段:HTML&CSS&JavaScript基础

第二阶段:移动端开发技术

第三阶段:前端常用框架

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 推荐学习方式:针对某个知识点,可以先简单过一下我的笔记,如果理解,那是最好,可以帮助快速解决问题;

  • 大厂的面试难在,针对一个基础知识点,比如JS的事件循环机制,不会上来就问概念,而是换个角度,从题目入手,看你是否真正掌握。所以对于概念的理解真的很重要。

  • 总结


前言

在高性能计算领域,作业调度系统是一个非常重要的组件,它负责管理集群的资源和作业,以提高计算效率和用户体验。本文将介绍一种流行的开源作业调度系统——slurm,它具有高度可扩展和容错的特点,已被全球多个超级计算中心和大型集群采用。本文将介绍slurm的基本概念、架构和术语,以及如何使用slurm进行作业的提交和管理。


一、slurm是什么?

slurm(Simple Linux Utility for Resource Management)是一种可扩展的工作负载管理器,它可以对Linux集群的资源和作业进行有效的调度和控制。slurm是免费和开源的,遵循GPL通用公共许可证。slurm提供了一系列的用户和管理工具,以及丰富的插件机制,可以支持多种基础设施和网络拓扑。slurm的主要功能包括:

资源管理:slurm可以对集群的节点、CPU、内存、通用资源(如GPU)等进行管理,以满足不同的作业需求和优化策略。

作业调度:slurm可以根据作业的优先级、资源需求、时间限制、队列设置等进行作业的调度,以实现公平和高效的资源分配。

作业执行:slurm可以通过不同的方式(如srun、sbatch、salloc等)执行作业,以支持交互式和批处理式的作业模式,以及不同的并行环境(如MPI、OpenMP等)。

作业监控:slurm可以通过不同的工具(如squeue、sinfo、sacct等)监控作业的状态、进度、资源使用等,以方便用户和管理员进行作业的管理和控制。

作业记账:slurm可以通过数据库或文件的方式记录作业的历史数据,以便进行作业的分析和统计。


二、slurm的架构和术语

slurm的架构主要由以下几个组件构成:

slurmctld:slurm的中心管理器,负责监测集群的资源和作业,以及进行作业的调度和分配。为了提高可用性,还可以配置一个备份的slurmctld。

slurmd:slurm的节点守护进程,运行在每个计算节点上,负责执行作业,以及向slurmctld汇报节点和作业的状态。

slurmdbd:slurm的数据库守护进程,负责存储和管理作业的记账信息,以及提供查询和统计的接口。slurmdbd是可选的,也可以将记账信息存储在文件中。

slurmrestd:slurm的REST API守护进程,提供了一种通过REST API与slurm进行交互的方式,可以实现slurm的所有功能。slurmrestd是可选的,也可以通过命令行工具与slurm进行交互。

用户工具:slurm提供了一系列的用户工具,用于查看集群和作业的状态,提交和管理作业,以及进行其他的操作。常用的用户工具有srun、sbatch、salloc、squeue、sinfo、scancel、sacct等。

管理工具:slurm提供了一系列的管理工具,用于监控和修改集群和作业的配置和状态,以及进行其他的管理操作。常用的管理工具有scontrol、sview、sacctmgr等。

slurm的术语主要包括以下几个概念:

节点(Node):slurm管理的计算单元,可以是一台物理机或一台虚拟机,具有一定数量的CPU、内存、磁盘等资源。节点可以分为以下几种类型:

头节点(Head Node):运行slurmctld的节点,也称为管理节点或控制节点。 
计算节点(Compute Node):运行作业的节点,也称为工作节点或执行节点,需要运行slurmd。 
登录节点(Login Node):用户登录的节点,也称为前端节点或接入节点,可以运行slurmd,也可以不运行。 
数据库节点(Database Node):运行slurmdbd的节点,也称为记账节点,可以是独立的节点,也可以和其他节点共用。 

作业(Job):slurm管理的计算任务,由用户提交,由slurm调度和执行。一个作业可以包含一个或多个作业步(Job Step),每个作业步可以是一个或多个并行的进程。作业可以有以下几种状态:

排队(Pending):作业已提交,但还未分配资源,等待调度。 
运行(Running):作业已分配资源,正在执行。 
完成(Completed):作业已正常结束,释放资源。 
取消(Cancelled):作业被用户或管理员取消,释放资源。 
失败(Failed):作业由于错误或超时而终止,释放资源。 
挂起(Suspended):作业被暂停,保留资源。 

队列(Partition):slurm对节点和作业进行分组管理的方式,也称为分区。每个队列可以设置一些属性,如节点列表、作业大小、作业时长、用户列表等,以实现不同的资源分配策略。作业提交时需要指定一个或多个队列,slurm会根据队列的属性和优先级进行作业的调度和分配。

通用资源(GRES):slurm对节点上除CPU和内存外的其他资源进行管理的方式,如GPU、FPGA等。每个节点可以设置一定数量的GRES,每个作业可以请求一定数量的GRES,slurm会根据GRES的需求和可用性进行作业的调度和分配。

可追踪资源(TRES):slurm对节点和作业的资源使用进行追踪和记账的方式,如CPU、内存、磁盘、能耗等。每个节点可以设置一定数量的TRES,每个作业可以请求一定数量的TRES,slurm会根据TRES的使用情况进行作业的记账和统计。

服务质量(QOS):slurm对作业进行优先级管理的方式,也称为优先级。每个作业可以设置一个或多个QOS,slurm会根据QOS的属性和权重进行作业的优先级计算,以实现不同的作业调度策略。

关联(Association):slurm对用户、账户、队列等进行关联管理的方式,也称为用户组。每个关联可以设置一些属性,如QOS、TRES限制、作业限制等,以实现不同的资源控制策略。

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。

前端校招面试题精编解析大全

笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。

[外链图片转存中…(img-SuwUh1Rk-1715861225406)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值