
# XGPU算力调度示例
当使用XGPU服务创建XGPU时，XGPU服务会按照最大容器数量（[max_inst](https://support.huaweicloud.com/usermanual-hce/hce_xgpu_0002.html#hce_xgpu_0002__li188381813102313)）为每张显卡设置时间片（X ms）用于为容器分配GPU算力，以单元1、单元2...单元N表示。本节max_inst以20为例，介绍使用不同调度策略时对算力的调度示例。
#### 原生调度（policy=0）
原生调度表示使用NVIDIA GPU本身的算力调度方式。在原生调度策略下XGPU只用来做显存的隔离。
图1原生调度   
![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002480089034.png "点击放大")
#### 固定算力调度（policy=1）
固定算力调度表示以固定的算力百分比为容器分配算力。例如为容器1和容器2分别分配5%和15%的算力，如下图所示。
图2固定算力调度   
![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002512128961.png "点击放大")
#### 平均调度（policy=2）
平均调度表示每个容器固定获得1/max_inst的算力。以max_inst=20为例，每个容器固定获得1/max_inst，即5%的算力，如下图所示。
图3平均调度   
![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002480089036.png "点击放大")
#### 抢占调度（policy=3）
抢占调度表示每个容器固定获得1个时间片，XGPU服务会从算力单元1开始调度。但如果某个算力单元没有分配给某个容器，或者容器内没有进程打开GPU设备，则跳过调度切换到下一个时间片。图中灰色部分的算力单元表示被跳过不参与调度。
本例中容器1、2、3占用的实际算力百分比均为33.33%。
图4抢占调度   
![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002512128957.png "点击放大")
#### 权重抢占调度（policy=4）
权重抢占调度表示按照每个容器的算力比例为容器分配时间片。XGPU服务会从算力单元1开始调度，但如果某个算力单元没有分配给某个容器，则跳过调度切换到下一个时间片。例如为容器1、2、3分别分配5%、5%、10%的算力，则容器1、2、3分别占用1、1、2个算力单元。图中灰色部分的算力单元表示被跳过不参与调度。
本例中容器1、2、3占用的实际算力百分比为25%、25%、50%。
图5权重抢占调度   
![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002512128959.png "点击放大")
#### 混合调度（policy=5）
混合调度表示单张GPU卡支持单显存隔离和算力显存隔离类型。其中算力显存隔离的容器其隔离效果同固定算力（policy=1）完全一致，单显存隔离的容器共享算力显存隔离的容器分配后剩余的GPU算力。以max_inst=20为例，容器1、2为算力显存隔离容器，其分配的算力分别为5%、10%，容器3、4为单显存隔离的容器，则容器1、2分别占用1、2个算力单元，容器3、4共享剩余17个算力单元。此外，当容器2中没有进程打开GPU设备时，则容器1、2分别占用1、0个算力单元，容器3、4共享剩余19个算力单元。
在混合调度下，根据GPU_CONTAINER_QUOTA_PERCENT是否为0来区分容器是否开启算力隔离，GPU_CONTAINER_QUOTA_PERCENT为0的所有容器共享GPU的空闲算力。
图6混合调度   
![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002479929066.png "点击放大")
![](https://support.huaweicloud.com/usermanual-hce/public_sys-resources/note_3.0-zh-cn.png)
混合调度策略不支持高优先级容器。
#### 权重弱调度（policy=6）
权重弱调度表示按照每个容器的算力比例为容器分配时间片，隔离性弱于权重抢占调度。XGPU服务会从算力单元1开始调度，但如果某个算力单元没有分配给某个容器，或者容器内没有进程打开GPU设备，则跳过调度切换到下一个时间片。例如为容器1、2、3分别分配5%、5%、10%的算力，则容器1、2、3分别占用1、1、2个算力单元。图中白色部分的算力单元表示容器3的空闲算力，图中白色部分和灰色部分的算力单元表示被跳过不参与调度。
本例中容器1、2、3占用的实际算力百分比为50%、50%、0%。
图7权重弱调度   
![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002480089038.png "点击放大")
![](https://support.huaweicloud.com/usermanual-hce/public_sys-resources/note_3.0-zh-cn.png)
权重弱调度涉及空闲算力的抢占和抢回，因此容器在空闲和忙碌之间切换时会影响其他容器的算力，该算力波动属于正常情况。当某个容器从空闲切换到忙碌时，其抢回算力的时延不超过100ms。
