
# 资源规划设计
#### 算力资源规划
针对CenterPoint、MaskDino等自动驾驶领域的模型，单张卡即可满足标注场景一定数据量下的推理，对于卡数则需根据单个数据集大小和一定时间内需要完成计算的数据集数量有关。例如单卡标注一个数据集平均需要20分钟，总共有150个数据集需要在1小时内标注完，则需要的卡数为150 / (60 / 20) = 50。
 #### 存储资源规划
存储资源包括基础的节点硬盘存储资源、用于存储标注流程中间结果数据的存储资源、用于存储标注预处理数据和标注结果数据的存储资源。由于Snt9b23节点不带本地硬盘，因此客户在购买Snt9b23节点时，需要在ModelArts界面添加数据盘。
**节点硬盘规划**
- 节点配置 1 \* 系统盘超高IO类型500GiB空间，供操作系统、基础软件等组件使用。
- 节点配置 1 \* 容器盘超高IO类型700GiB空间，供容器镜像、容器运行时和Kubernetes Kubelet组件使用。
**标注预处理数据和标注结果数据存储规划**
由于标注预处理和结果的数据规模均较大，推荐使用对象存储OBS进行存储，选择"标准存储"格式，规格需要根据业务进行评估，主要从如下几个方面进行评估：
- 单个预处理后数据集的平均存储大小
- 单个标注后结果数据的平均大小
- 预处理数据集的存储周期，以天计
- 标注结果数据的存储周期，以天计
- 每天产生的数据集数量
举例如下：
假设单个预处理数据集平均存储大小为500MB，每天产生100个数据集，单个数据集标注后的结果数据平均为200MB，预处理数据和标注结果数据均需存储5天，则规划的OBS规格至少需要：（500+200）MB \* 100 \* 5 = 342GB。
考虑到OBS还需要用于日志转储，因此规格建议选用500GB\~1TB。
**标注中间结果数据存储规划（可选）**
若标注流程部分步骤需要使用GPU进行处理，为保证整体标准过程的性能，推荐使用SFS Turbo文件系统存储标注中间结果数据。自动驾驶领域建议"250MB/s/TiB"的规格，容量为1.2TB起步且必须为1.2的倍数，容量推荐选择6TB以上。
SFS Turbo的带宽估算可通过如下几个维度进行评估：
- 单个预处理后数据集经GPU处理后中间结果的存储大小
- 单个节点单次处理的数据集数量
- 参与标注的最大节点数，因为GPU和NPU在标注流程中属于串行关系，选两者可能参与标注的最大值
计算示例如下：
假设单个预处理数据集经GPU处理后中间结果大小为500MB，单个节点单次处理的数据集为4个，参与标注的最大节点数为10个，则所需带宽：
500MB \* 4 \* 10 / 1024 = 19.54GB/s，可参考估算的带宽进行规格及容量的选择。
SFS Turbo共享文件系统在部署过程中是并行执行，因此带宽共享，随着节点数增加需要增加容量来提升总带宽，从而确保单节点的带宽。
**日志转储OBS规划**
推荐使用OBS进行训练日志、Plog等日志的存储配置，OBS选择"标准存储"格式。
#### CCE资源规划
CCE作为云容器管理平台，承载着Kubernetes调度，可按照纳管集群的节点数进行规格的选择，如包含160个节点，可以选择200节点的如下规格：
CCE容器集群 \| Turbo \| 200节点 \| 3实例（高可用）
CCE中需要安装如下插件以实现标注作业的生命周期管理及状态监控，创建CCE集群注意选择。
表1CCE插件 
| 插件名         | 插件作用                          | 安装方式   |
|:---|:---|:---|
| Volcano调度器  | 调度作业（必选）                      | 界面选择安装 |
| 云原生监控插件     | Prometheus插件安装（必选）            | 界面选择安装 |
| 云原生日志采集插件   | 容器日志采集插件（必选）                  | 界面选择安装 |
| CCE节点故障检测   | 搜集节点问题并将其报告给apiserver的插件      | 默认安装   |
| CoreDNS域名解析 | Kubernetes提供域名解析服务的DNS服务器（必选） | 界面选择安装 |
| 节点本地域名解析加速  | 本地域名解析加速                      | 默认安装   |
| CCE容器存储     | 无缝对接多种IaaS存储服务                | 默认安装   |
   
