存储配置
解释说明
不同存储的实现都不同,在性能、易用性、成本的权衡中可以有不同的选择,没有一个存储可以覆盖所有场景,了解下云上开发环境中各种存储使用场景说明,更能提高使用效率。
本文介绍了开发环境中存储相关的SLA声明及各种存储使用场景。
存储相关的SLA声明
- 客户数据存储在OBS桶/SFS文件系统中,由于客户的OBS桶/SFS文件系统不可用引起的业务不可用,不计入服务不可用。
- 客户在开发环境中选择使用自行管理的SFS作为存储挂载,由该SFS不可用导致的服务异常,不计入服务不可用。
- 客户在开发环境中使用EVS存储的和默认存储,由客户负责备份数据,因客户删除开发环境实例引发数据丢失的不计入服务不可用。
存储使用场景
存储模式 |
使用场景 |
优缺点 |
---|---|---|
EVS |
单开发环境中使用 |
|
PFS |
小文件频繁读写较弱 |
|
SFS |
生命周期绑定 |
|
本地存储 |
生命周期绑定 |
- EVS存储
使用场景:适合只在开发环境中探索数据、算法,性能较好。
优点:块存储SSD,可以理解为一个磁盘,整体IO性能比NFS要好,可以动态扩充,最大可以到4096GB。云硬盘EVS作为持久化存储挂载在/home/ma-user/work目录下,该目录下的内容在实例停止后会被保留,存储支持在线按需扩容。
缺点:只能在单个开发环境中使用。
- 并行文件系统(PFS)
使用场景:
- 数据集的存储。将承载数据集的OBS并行文件系统挂载至Notebook中,在训练时直接使用。
- 代码的存储。在Notebook调测完成,可以直接指定对应的对象存储路径作为启动训练的代码路径,方便临时修改。
- 训练观测。可以将训练日志等输出路径进行挂载,在Notebook中实时查看和观测,特别是利用TensorBoard,Notebook功能完成对训练输出的分析。
优点:PFS是一种经过优化的高性能对象存储文件系统,存储成本低,吞吐量大,能够快速处理高性能计算(HPC)工作负载。在需要使用对象存储服务场景下,推荐使用PFS挂载。
缺点:缺点是小文件频繁读写相对PFS较弱,对象存储语义,和Posix语义有区别,需要进一步理解。
- SFS弹性文件服务器
使用场景:目前只支持在专属资源池中使用,针对探索、实验等非正式生产场景,建议使用这种。开发环境和训练环境可以同时挂载一块SFS存储,省去了每次训练作业下载数据的要求,一般来说重IO读写模型,超过32卡的大规模训练不适合。
优点:实现为NFS,可以在多个开发环境、开发环境和训练之间共享,如果不需要重型分布式训练作业,特别是启动训练作业时,不需要额外再对数据进行下载,这种存储便利性可以作为首选。
缺点:存储生命周期和容器生命周期绑定,每次训练都要下载数据。
- 本地存储
使用场景:重型训练任务首选。
优点:运行所在虚拟机或者裸金属机器上自带的SSD高性能存储,文件读写的吞吐量大,建议对于重型训练任务先将数据准备到对应目录再启动训练。默认在容器/cache目录下进行挂载,包含500GB的可用空间。
缺点:缺点是存储生命周期和容器生命周期绑定,每次训练都要下载数据。