竞价实例选择

EAS提供了公共资源组和专属资源组,当您使用公共资源部署EAS服务时,您可以选用竞价实例(抢占式实例),降低运行成本。本文为您介绍如何配置EAS服务使用竞价实例。

背景信息

  • 竞价实例简介

    EAS支持部署服务时选择使用成本更低的竞价实例,EAS使用的是指定价格上限的抢占模式,竞价实例的详细介绍请参见抢占式实例概述

    使用竞价实例的最大优势在于价格便宜,其价格随市场和库存的供需关系实时变化,相对于公共资源组按量付费的普通实例,价格有较大的优惠。同时竞价实例也分为有保护期实例与无保护期实例,价格从低到高顺序为:

    无保护期价格 < 有保护期价格 < 普通实例
    说明

    竞价实例受库存和市场价格的影响,可能被释放回收,如果被释放,EAS会根据配置文件中的资源规格重新进行遍历,拉起当前指定的最高优先级资源。

  • 如何才能购买到竞价实例

    在部署服务时,您可以在配置文件中指定是否使用竞价实例,并设置抢占实例时的出价上限。后续在部署EAS服务时,会根据配置文件的配置结果,自动竞价抢占资源。

    当满足如下条件时可成功抢占资源:

    • 竞价实例库存充足。

    • 您配置的出价上限不低于当前竞价实例的市场价。

  • 使用竞价实例

    • 成功抢占到竞价实例后,默认至少可以使用1小时,即抢占成功后有1小时的保护期,保护期内可以保障您能够使用资源。

    • 超过1小时的保护期后,如果竞价实例库存充足,且您之前设置出价上限不低于当前竞价实例市场价,您也可以继续使用竞价实例。

      如果不满足上述条件,超过1小时的保护期后,您的抢占资源实例可能会被释放。

  • 释放竞价实例

    • 超出1小时保护期,竞价实例库存不足。

    • 超出1小时保护期,您设置的出价上限低于当前竞价实例市场价。

    • 无保护期,竞价实例库存不足或您设置的出价上限低于当前竞价实例市场价。

  • 竞价实例计费

    竞价实例为按量计费的计费模式,按照实时的市场价进行计费。

  • 多实例部署时,实例使用顺序

    创建或更新服务时,您可以在配置文件中同时配置多个实例规格,例如同时配置了竞价实例和常规型实例,后续实际部署时会根据配置文件中的实例顺序依次使用实例,当实例规格竞价失败或库存不足时,按照配置顺序依次使用下一个实例规格。

前提条件

如果您使用本地客户端方式使用竞价实例,则需要下载EASCMD客户端工具并认证成功,具体操作,请参见下载并认证客户端

创建服务时使用竞价实例

通过控制台

  1. 登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS

  2. 单击部署服务,然后在自定义模型部署区域,单击自定义部署

  3. 自定义部署页面,配置以下关键参数,其他参数配置详情,请参见服务部署:控制台image

    参数

    描述

    资源类型

    选择公共资源

    部署资源

    • 资源规格:选择支持竞价的资源规格。

    • 竞价:打开竞价开关,表示使用竞价实例。

    • 出价:设置出价用来自动竞价抢占资源。如果竞价实例库存充足,且出价不低于当前竞价实例市场价,可以使用竞价实例。

    • 配置多规格实例

      您可以单击添加按钮,来配置多个竞价实例,最多支持添加10个资源类型。配置多个实例时,实例的生效逻辑请参见多规格实例选择

      说明

      建议您同时配置常规型实例,避免竞价实例抢占失败导致服务部署失败。

    竞价型保留时长

    支持以下两种配置方式:

    • 设定实例使用1小时:您可以为竞价实例设置1小时保护期,即实例抢占成功后,默认至少可以使用1小时。

    • 无确定保护期:表示禁用保护期。

  4. 单击部署。待服务状态变为运行中时,表明服务部署成功。

通过本地客户端

  1. 下载并认证客户端,以Windows 64版本为例。

  2. 在客户端文件所在目录新建JSON格式的文件,命名为service.json,文件内容示例如下。

    {
      "name": "service_example",
      "model_path": "http://examplebucket.aliyuncs.com/models%2Fmnist_saved_model.tar.gz",
      "processor": "tensorflow_cpu_1.12",
      "metadata": {
        "instance": 1,
      }
      "cloud": {
        "computing": {
          "instances": [
            {"type": "ecs.g7.2xlarge", "spot_price_limit": 2.00},
            {"type": "ecs.g7.4xlarge", "spot_price_limit": 4.00},
            {"type": "ecs.g7.2xlarge"},
            {"type": "ecs.g7.4xlarge"}
          ],
          "disable_spot_protection_period": true
        }
      }
    }

    其中关键参数说明如下。其他参数说明,详情请参见命令使用说明

    参数

    描述

    instance

    服务启动的实例数量。上述JSON文件中表示启动1个实例。

    instances

    表示允许的实例规格,支持配置多个。当实例规格竞价失败或库存不足时,按照配置顺序依次尝试使用下一个实例规格创建服务。

    • type:表示配置的实例规格。

    • spot_price_limit为可选参数:

      • 当配置该参数时:表示对应实例规格使用竞价实例,并指明价格上限。单位为CNY,支持按量付费。

      • 当不配置该参数时:表示对应实例规格为普通的按量付费实例。

    disable_spot_protection_period

    支持以下取值:

    • false(默认值):表示在竞价实例创建成功后,默认有1小时保护期。在保护期内即使市场价格超过了出价,实例也不会被释放。

    • true:表示禁用保护期,无保护期实例会始终比有保护期实例优惠10%左右。

  3. 打开终端工具,在JSON文件所在目录,使用以下命令创建服务。更多操作说明,请参见命令使用说明

    eascmdwin64.exe create <service.json>

    其中:<service.json>需要替换为您创建的JSON文件名称。

修改服务配置使用竞价实例

通过控制台

  1. 进入资源配置页面。

    1. 模型在线服务(EAS)页面,单击目标服务名称。

    2. 概览页签的资源信息区域,单击更改配置

  2. 性价比资源配置页签,设置抢占型保留时长,添加抢占型资源类型,并单击确定

    说明

    建议您同时配置常规型实例,避免竞价实例抢占失败导致服务运行失败。

    image

    其他参数配置方法,请参见通过控制台

通过本地客户端

  1. 下载并认证客户端,以Windows 64版本为例。

  2. 在客户端文件所在目录新建JSON格式的文件,命名为instances.json,文件内容示例如下。

    {
      "cloud": {
        "computing": {
          "instances": [
            {"type": "ecs.g7.2xlarge", "spot_price_limit": 2.00},
            {"type": "ecs.g7.4xlarge", "spot_price_limit": 4.00},
            {"type": "ecs.g7.2xlarge"},
            {"type": "ecs.g7.4xlarge"}
          ],
          "disable_spot_protection_period": true
        }
      }
    }

    其中关键参数说明,详情请参见创建服务时使用竞价实例

  3. 打开终端工具,在JSON文件所在目录,使用以下命令修改EAS服务使用竞价实例。更多操作说明,请参见命令使用说明

    eascmdwin64.exe modify <service_name> -s <instances.json>

    其中:<service_name>需要替换为EAS服务名称;<instances.json>需要替换为新建的JSON文件名称。

相关文档