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

竞价型资源

更新时间:2017-09-13 16:17:20

竞价实例是专为降低用户ECS计算成本而设计的一种按需实例。竞价实例的价格由阿里云ECS设置,并会根据市场上针对该实例的供需变化而浮动。因此,用户可充分利用竞价实例的价格浮动特性,在合适的时间购买该竞价实例资源,从而降低计算成本,并在整体成本下降的前提下,提升业务在该时间周期内的吞吐量。了解竞价实例更多细节

在批量计算中使用竞价型实例与ECS计费一致,不需要支付额外费用。目前批量计算支持的竞价实例类型请参考这里

在批量计算中可以通过以下方式使用竞价型实例:

1. 提交作业

相关配置说明:

参数 描述
ResourceType 资源类型,可选范围:[Spot,OnDemand], 这里设置为Spot。
InstanceType Spot 实例类型,可以通过 getQuota()方法获取可用的Spot实例类型列表。
SpotStrategy 取值范围:
SpotWithPriceLimit:设置上限价格的竞价实例;
SpotAsPriceGo:系统自动出价,最高不超过按量付费价格。
SpotPriceLimit 实例的每小时最高价格。支持最大 3 位小数,SpotStrategy 为 SpotWithPriceLimit 生效。

(1). 使用 Java SDK 提交作业

  1. TaskDescription taskDesc = new TaskDescription();
  2. AutoCluster autoCluster = new AutoCluster();
  3. autoCluster.setResourceType("Spot");
  4. autoCluster.setInstanceType("ecs.sn1.large");
  5. //可选配置
  6. autoCluster.setSpotStrategy("SpotWithPriceLimit");
  7. autoCluster.setSpotPriceLimit(0.6f);

(2). 使用 Python SDK 提交作业

  1. job_desc['DAG']['Tasks']['my-task']['AutoCluster']['ResourceType'] = 'Spot'
  2. job_desc['DAG']['Tasks']['my-task']['AutoCluster']['InstanceType'] = 'ecs.sn1.large'
  3. # 以下配置可选
  4. job_desc['DAG']['Tasks']['my-task']['AutoCluster']['SpotStrategy'] = 'SpotWithPriceLimit'
  5. job_desc['DAG']['Tasks']['my-task']['AutoCluster']['SpotPriceLimit'] = 0.6 # 0.6元

(3). 使用命令行提交作业

举例0:提交spot作业

  1. bcs sub "python demo.py" --resource_type Spot -t ecs.sn1.large

举例1: 限制每小时最高价格0.6元

  1. bcs sub "python demo.py" --resource_type Spot -t ecs.sn1.large --spot_price_limit 0.6

举例2: spot_price_limit设置为0,表示系统自动出价,最高不超过按量付费价格

  1. bcs sub "python demo.py" --resource_type Spot -t ecs.sn1.large --spot_price_limit 0

2. 创建集群和修改集群

(1). 使用 Java sdk

  1. GroupDescription group = new GroupDescription();
  2. group.setDesiredVMCount(3);
  3. group.setInstanceType("ecs");
  4. group.setResourceType("OnDemand");
  5. //可选配置
  6. group.setSpotPriceLimit(0.6f);
  7. group.setSpotStrategy("SpotWithPriceLimit");

(2). 使用 python sdk

  1. group_desc['ResourceType'] = 'Spot'
  2. group_desc['InstanceType'] = 'ecs.sn1.large'
  3. # 以下配置可选
  4. group_desc['SpotStrategy'] = 'SpotWithPriceLimit'
  5. group_desc['SpotPriceLimit'] = 0.6 # 0.6元

(3). 使用命令行

创建集群时设置竞价策略:

  1. bcs cc cluster_1 -t ecs.sn1.large --resource_type Spot --spot_price_limit 0.6

修改集群竞价策略:

  1. bcs uc cls-xxxx --spot_price_limit 0.8
本文导读目录