全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件

自动伸缩

更新时间:2018-02-24 17:18:00

简介

E-HPC自动化伸缩可以根据您配置的策略动态分配云资源,例如您可以设置根据实时负载自动增加或者减少云资源。E-HPC自动化伸缩可以为您:

  • 减少管理运维集群的人力成本。
  • 保证可用性的前提下,最大限度减少云资源消耗,降低集群成本。
  • 提高容错能力,自动化伸缩自动检测节点状态,停止处于错误状态下的节点,并创建新的节点。
  • 提高可用性,保证集群有充足的云资源。

配置自动伸缩服务

用户创建集群的时候,默认自动伸缩服务是没有启用的,用户如果希望使用的话,可以通过E-HPC控制台做如下配置。

image.png | center | 692x291

功能配置说明

自动化伸缩提供如下配置选项:

  • 是否启动扩容(EnableGrow): 是否启用自动扩容。
  • 扩容时间间隔(GrowIntervalInMinutes): 每轮资源扩展的时间间隔。默认值2分钟,最小值2分钟,最大值10分钟。
  • 扩容超时时间(GrowTimeoutInMinutes): 等待启动节点的超时时间。默认值20分钟,最小值10分钟,最大值60分钟。如果超时时间后,节点依然未达到运行状态,将会把这个节点重置,用于新的扩容。
  • 额外节点百分比(ExtraNodesGrowRatio): 额外扩张节点的百分比,默认值0,最小值0, 最大值100。例如,根据作业负载需要新增100个计算节点,ExtraNodesGrowRatio值为2,那么最终扩展的节点数量是102。场景如下。
    一个需要32个节点才能运行的mpi作业,如果将集群扩充至刚好32个节点,若其中一个节点启动失败或者启动过慢,就会导致其他31个节点一直处于空闲状态。但如果配置了额外节点百分比,将集群扩展至35个节点,就会一定程度上降低这种情况发生的概率,而且作业正常运行后,多启动的资源很快会被释放。
    此配置在保证可用性的同时,减少了资源的等待浪费,且只增加用户很少的成本(几乎可以忽略)。
  • 扩容比例(根据工作负载)(GrowRatio): 扩展比例(百分比)默认值100,最小值1,最大值100。比如当前根据作业负载需要新增10个计算节点,如果GrowRatio配置为50,就新增5个计算节点。场景如下。
    有10个作业需完成,且每个作业只需要运行几分钟。默认自动伸缩会扩容10个节点,每个节点启动初始化都需要几分钟的时间,而节点进入运行状态后,运行作业也是只需要几分钟。这种情况下,有的用户会希望只扩容5个节点,同时运行5个作业,等这5个作业运行结束,再继续在这5个节点上运行剩余的5个作业。
    通过这个配置选项,用户可以根据作业类型,运行时间长短对默认自动伸缩进一步优化,提高集群资源利用率。
  • 集群最大计算节点数(MaxNodesInCluster):集群最多可以扩展的节点数量,默认值100,最小值1。
  • 是否启动缩容(EnableShrink):是否启用自动缩容。
  • 缩容时间间隔(ShrinkIntervalInMinutes): 每轮资源收缩的时间间隔,默认2分钟,最小值2分钟,最大值10分钟。

    说明:ShrinkInterval>=GrowInterval

  • 节点连续空闲次数(ShrinkIdleTimes): 资源收缩检查时,一个节点连续处于空闲的次数。默认值3,最小值2。最大值5。如果一个计算节点连续空闲超过3次,就会被释放。所以默认配置下,一个资源的连续空闲时间超过6分钟,就会被释放。

  • 例外节点列表(ExcludeNodes): 不使用自动伸缩的节点列表,以半角逗号分割。用户如果希望一直保留一个最小规模的集群,可以使用此配置项。

使用场景及配置

总的来说,自动伸缩服务适合于不使用包年包月服务的用户,比如:

  • 用户每天集中提交一批作业,使用HPC集群几个小时进行大规模计算, 然后释放资源。
  • 用户不定期的会提交作业,但不是每天24小时满负荷运行的。

针对不同的作业类型,用户可以使用不同的配置项参数,根据自己的HPC集群实际使用情况进行自定义配置。例如批量作业,作业数量大,单作业运行用时短,则用户可以通过配置扩容比例(GrowRatio)来调节扩容的比例。若用户提交1000个作业,每个作业虚使用一个CPU,运行1分钟。则用户可以配置GrowRatio为10,那么就会扩容100个CPU。

使用E-HPC集群运行lammps算例

1)创建集群, 选择安装的软件列表。

image.png | center | 463x511

2)配置自动伸缩: 启用自动扩容和缩容。

image.png | center | 554x226

3)如果没有作业运行,几分钟之后,集群所有的计算节点都会被释放。

4)通过控制台创建集群用户。

image.png | center | 562x320

5)用户把相应的数据,及程序放到NAS共享存储上。

6)用户通过控制台或者SSH连接到登录节点,提交作业。

image.png | center | 562x246

例如job1.sh里的内容如下,可以看出需要两个计算节点。

image.png | center | 592x291

7)两分钟左右,从控制台可以看到,自动扩容了两台计算节点。

image.png | center | 637x132

8)几分钟后,计算节点ready,可以看到作业开始运行。

image.png | center | 692x148

作业运行完毕之后,可以通过控制台看到作业详情。

image.png | center | 577x311

9)几分钟之后,计算节点被释放。

image.png | center | 592x100

10)从操作日志可以看到,扩容和缩容的日志记录。

image.png | center | 692x237

本文导读目录