全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件

自动伸缩

更新时间:2018-01-12 11:37:46

简介

E-HPC自动化伸缩可以根据用户配置的策略来动态分配云上的资源给用户集群,用户可以配置策略,根据集群实时负载自动增加或者减少云上的计算资源。可以给用户带来的好处如下:

  • 减少用户管理运维集群的人力成本
  • 保证用户的作业/任务能及时运算完成的前提下,最大限度减少用户的云上资源消耗,降低了用户集群成本,真正自动化做到云上的’pay as you use’
  • 提高容错能力,auto scaling可以更具节点状态,把处于错误状态下的节点停止并创建新的节点

提高可用性,用户可以通过策略配置,保证集群有充足的资源用来运算作业/任务

配置自动伸缩服务

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

image.png | center | 692x291

功能配置说明

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

  • 是否启动扩容(EnableGrow): 是否启用自动扩容
  • 扩容时间间隔(GrowIntervalInMinutes): 每轮资源扩展的时间间隔,默认2分钟,最小值2分钟, 最大值10分钟
  • 扩容超时时间(GrowTimeoutInMinutes): 等待启动节点的超时时间,默认时间20分钟,最小值10分钟,最大值60分钟,如果超时时间内,节点依然未达到运行状态,将会把这个节点重置,相当于尝试新的扩容
  • 额外节点百分比(ExtraNodesGrowRatio): 额外扩张节点的百分比,默认配置为0。 最小值为0, 最大值100。例如,根据作业负载需要新增100个计算节点,ExtraNodesGrowRatio值为2,那么最终扩展的节点数量是102。这个配置的目的是,减少资源的等待浪费,例如用户运行mpi作业,需要32个节点,在扩展过程中,31个节点很多就处于ready状态,另外一个节点由于各种原因,启动失败或者启动过慢,就会导致31个节点一直处于空闲状态,如果扩展35个节点,就会一定程度上降低这种情况发生的概率,多启动的资源很快会被释放,总体看,保证可用性的前提下,只增加用户很少的成本(几乎可以忽略)
  • 扩容比例(根据工作负载)(GrowRatio): 扩展比例(百分比),默认值是100,最小值1, 最大值100。比如当前根据作业负载需要新增10个计算节点,如果GrowRatio配置为50,就新增5个计算节点,这个配置的目的是,用户的作业类型,运行时间长短都是不可预测的,但是用户自己是了解的,所以提供这个配置给用户,可以起到对集群资源利用率调优的作用
  • 集群最大计算节点数(MaxNodesInCluster):集群最多可以扩展的计算节点数量,没有默认值,必须用户配置,最小值为1
  • 是否启动缩容(EnableShrink):是否启用自动缩容
  • 缩容时间间隔(ShrinkIntervalInMinutes): 每轮资源收缩的时间间隔,默认2分钟,最小值2分钟,最大值10分钟ShrinkInterval>=GrowInterval
  • 节点连续空闲次数(ShrinkIdleTimes): 资源收缩检查时连续处于空闲的次数,默认3次,最小值是2次。最大值5次。如果一个计算节点连续空闲超过3次,就会被释放。所以默认配置下,一个资源空闲时间连续超过6分钟,就会被释放
  • 例外节点列表(ExcludeNodes): 不使用自动伸缩节点列表,以半角逗号分割,用户如果希望一直保留一个最小规模的集群,可以使用此配置项

使用场景及配置

总的来说,自动伸缩服务适合于那些不使用包年包月固定资源服务的客户应用,比如:

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

针对不同的作业类型,用户可以进行不同的参数调优,用户可以根据自己的HPC集群实际使用情况进行自定义配置, 比如:

  • 批量作业,作业数量大,单作业运行用时短

用户可以通过配置扩容比例(GrowRatio)来调节扩容的比例,例如用户提交1000个作业,每个作业运行1分钟,需要一个CPU核,如果用户配置GrowRatio为10,那么就会扩容100个CPU核

一个使用E-HPC集群运行lammps算例的例子

1)创建集群, 选择安装的软件列表image.png | center | 463x5112)配置自动伸缩: 启用自动扩容和缩容image.png | center | 554x2263)如果没有作业运行,几分钟之后,集群所有的计算节点都会被释放4)通过控制台创建集群用户image.png | center | 562x3205)用户把相应的数据,及程序放到nas共享存储上6)用户通过控制台或者SSH到登录节点提交作业image.png | center | 562x246例如job1.sh里的内容如下,可以看出需要两个计算节点image.png | center | 592x2917)两分钟左右,从控制台可以看到,自动扩容了两台计算节点image.png | center | 637x1328)几分钟左右,计算节点ready,可以看到作业开始运行

image.png | center | 692x148

作业运行完毕之后,可以通过控制台看到作业详情image.png | center | 577x3119)几分钟之后,计算节点被释放image.png | center | 592x10010)从操作日志可以看到,扩容和缩容的日志记录image.png | center | 692x237

本文导读目录