自动伸缩最佳实践

本文以使用LAMMPS软件进行高性能计算介绍如何配置自动伸缩策略。

背景信息

当您需要每天不定时提交作业,使用E-HPC集群几个小时进行大规模计算, 然后释放节点,您可以针对不同的作业类型,配置不同的伸缩策略。配置伸缩策略后,系统可以根据实时负载自动增加或减少计算节点。可以帮您合理利用资源,减少使用成本。

操作步骤

  1. 登录弹性高性能计算控制台

  2. 创建一个名为AutoScaling的集群。

    具体操作,请参见创建集群。请注意以下配置参数:

    • 可用区:选择华东1可用区I

    • 计算节点:选择ecs.c6.large

    • 交换机:选择vsw-bp122ezf0hvk1xnhj****

    • 调度器:选择pbs

    • 其他软件:选中lammps-mpich 31Mar17、mpich 3.2、openmpi 1.10.7

    • 是否新建队列:新建名为low的队列

    LAMMPS
  3. 创建一个名为AutoScaling的普通用户。具体操作,请参见创建用户

  4. 配置自动伸缩策略。

    1. 在左侧导航栏,选择弹性 > 自动伸缩

    2. 队列配置区域,选择low队列,单击编辑

    3. 单击配置清单右侧的增加,配置如下参数,单击确认

      • 可用区:选择华东1可用区I

      • 交换机ID:选择vsw-bp122ezf0hvk1xnhj****

      • 实例类型:选择ecs.c6.large

      • 抢占式策略:选择不使用抢占式实例

    4. 队列配置面板中,配置如下参数,单击确认

      1. 启动扩容:打开启动扩容开关

      2. 启动缩容:打开启动缩容开关

      3. 队列节点数:2~10

      4. 主机名前缀:输入computelow

      5. 镜像类型:选择公共镜像

      6. 镜像ID:选择CentOS_7.6_64

    5. 在自动伸缩页面,单击右上角的确认

      启动自动伸缩之后,如果集群未运行作业,会尝试保持最小节点数(2个节点)。由于已经存在一个计算节点,因此会在low队列中扩容一个计算节点。

  5. 创建作业脚本并提交作业。

    1. 在左侧导航栏,选择作业与性能管理 > 作业

    2. 集群列表中,选择AutoScaling集群,单击创建作业

    3. 创建作业页面,选择编辑作业文件 > 新建文件 > 使用文件模板 > pbs demo

    4. 在编辑作业文件页面,配置lj.in文件和AutoScaling.pbs,单击确认提交作业。

      lj.in算例参数及说明,请参见使用LAMMPS软件进行高性能计算。AutoScaling.pbs配置如下所示:

      #!/bin/sh
      #PBS -l select=3:ncpus=1:mpiprocs=1  #该脚本在3个计算节点上运行,每个节点使用1 vCPU,1个MPI进程。
      #PBS -j oe
      
      export MODULEPATH=/opt/ehpcmodulefiles/
      module load lammps-openmpi/31Mar17
      module load openmpi/1.10.7
      
      echo "run at the beginning"
      mpirun lmp -in ./lj.in
  6. 查看自动伸缩结果。

    1. 在左侧导航栏,选择资源管理 > 节点与队列

    2. 集群列表中选择AutoScaling集群,在节点类型列表中选择计算节点

    3. 节点列表区域中,在队列列表中选择low队列。

      队列中节点数量随作业运行有如下变化:

      • 当集群有作业运行时,可以看到节点列表中自动扩容了一个计算节点在安装中,几分钟后,计算节点状态变为运行中,此时作业开始在当前low队列的3个节点上运行。

      • 当集群没有新的作业运行时,6分钟之后,low队列中空闲的计算节点会被释放掉,但会保持该队列最小节点数的计算节点(2个)。

  7. 查看作业运行详情。

    1. 在左侧导航栏,选择作业与性能管理 > 作业

    2. 在集群列表中选择AutoScaling集群,作业状态选择已完成

    3. 单击目标作业右侧的详情,查看作业运行详情。

  8. 查看扩容和缩容操作日志。

    1. 在左侧导航栏,选择运维与监控 > 操作日志

    2. 在集群列表中选择AutoScaling集群,可以看到扩容和缩容的操作日志记录。