使用SlurmFederation
背景
Slurm集群调度系统支持创建集群联合(Federation),并在集群之间以对等方式调度作业。提交到联合集群的作业将收到唯一的作业ID,该ID在联合集群中的所有群集中都是唯一的。作业提交到本地集群(集群在slurm.conf中定义),然后跨联盟中的群集进行复制。然后,每个集群根据自己的调度策略独立地尝试调度作业。集群与“原始”集群(作业提交到的集群)协调以调度作业。
利用Federation作业调度,可以实现本地-云端混合HPC调度,提升本地已有Slurm集群的资源弹性和扩展,Slurm本地与云端集群组成Federation集群联合,用户可以像往常一样在本地Slurm中提交作业,作业会同时复制到云端Slurm集群中,每个集群都会试图调度作业运行,为作业分配资源。如果成功,它将通知原始集群(作业提交集群)它启动了作业,原始集群会通知其它集群终止和删除这个作业并置于吊销状态。
基本流程
1.客户登录本地集群(on-prem)
2.客户提交作业到本地集群
3.Slurm集群会将作业拷贝到亚马逊云科技云上Slurm集群(亚马逊云科技)
4.如果本地集群可以执行作业,则通知云上集群(亚马逊云科技)取消作业
5.如果本地集群无调度执行作业,而云上集群可以调度执行,则云上集群(亚马逊云科技)开始调度执行作业,并通知本地集群(on-prem)取消(revoke)作业
6.可以使用sinfo–federation,squeue–federation,sacct–federation命令查看所有的作业执行情况。
验证配置
1.使用Parallecluster在一个亚马逊云科技区域建立一个Slurm集群,最大节点和最小节点相同以模拟本地集群(on-prem);
2.启用本地集群slurmdbd进程和accounting服务,Slurm多集群依赖accounting服务;
3.使用Parallecluster在另外一个区域建立一个Slurm集群,作为云上cloudburst集群(亚马逊云科技);
4.使用VPC-peering,连接两个集群模拟混合云,必须配置DNS机器名解析;
5.配置多集群;
6.配置Federation;
7.提交测试作业验证Federation集群调度;
具体配置流程
1.安装Parallecluster,使用虚拟环境,以便安装两套Parallecluster
安装升级pip和virtualenv
1python3-mpipinstall--upgradepip2python3-mpipinstall--user--upgradevirtualenv
创建虚拟环境
1python3-mvirtualenv~/.pcluster
激活虚拟环境
1source~/.pcluster/bin/activate
安装Parallecluster到虚拟环境中
1(.pcluster)aea9b5:~xinxxpython3-mpipinstall--upgradeaws-parallelcluster
验证Parallecluster安装
1(.pcluster)aea9b5:~xinxxpclusterversion22.10.0
2.使用Parallecluster建立模拟本地Slurm集群(on-prem),可以配置initial_queue_size=max_queue_size,以模拟本地固定集群情况。在安装的时候,指定pcluster的配置文件,以区别本地(on-perm)和云端(亚马逊云科技)集群。
配置on-perm集群
1(.pcluster)aea9b5:~xinxxpclusterconfigure-c~/.parallelcluster/pcluster-config-on-perm2INFO:Configurationfile/Users/xinxx/.parallelcluster/pcluster-config-on-permwillbewritten.3PressCTRL-Ctointerrupttheprocedure.4
1AllowedvaluesforAWSRegionID:21.cn-north-.cn-northwest-14AWSRegionID[cn-northwest-1]:5AllowedvaluesforEC2KeyPairName:61.xinxx-key-nx7EC2KeyPairName[xinxx-key-nx]:8AllowedvaluesforScheduler:91.sge.torque.slurm.awsbatch13Scheduler[slurm]:14AllowedvaluesforOperatingSystem:.alinux.alinux.centos.centos.ubuntu.ubuntuOperatingSystem[alinux2]:22Minimumclustersize(instances)[0]:Maximumclustersize(instances)[10]:Masterinstancetype[t2.micro]:25Computeinstancetype[t2.micro]:26AutomateVPCcreation?(y/n)[n]:y27AllowedvaluesforNetworkConfiguration:.Masterinapublicsubnetand
转载请注明:http://www.sonphie.com/jbzl/14544.html