RIRS云平台用户手册
版本:v1.2
日期:2023/9/1
使用说明
1. 登录注册
暂未开放用户注册功能,如需使用请联系管理员@xuanh.w授权。
2. 用户界面
用户界面包含总览、任务中心、样本仓库、模型库、容器管理、用户资源
六大模块。
-
总览:大致暂时用户目前的资源和任务等,截至目前,实现为假数据,仅供观看
-
任务中心:创建任务,管理任务,查看任务日志等
-
样本仓库:查看样本、上传样本
-
模型库:查看模型、管理模型
-
容器管理:容器与镜像管理,代码在线编辑与运行
-
用户资源:开发中…
3. 容器管理
是最常用也是最核心的模块,代码在线编辑和运行,创建和发布模型等
在使用前需要先了解镜像和容器的概念。
镜像定义来自Docker容器化技术中的镜像概念,可以理解为虚拟机的模板、快照等,可以根据镜像快速创建出一个容器(虚拟机)。容器,即是由镜像创建出的虚拟机,可以通过Editor访问操作容器。
镜像由名称和版本标识,一个名称下可以有多个版本。为了便于用户访问与使用镜像,引出Editor
的概念。
Editor是用户操作和访问容器(虚拟机)的窗口,目前支持code-server
和web-top
两种交互方式。code-server
可以理解为web版的vscode,提供与桌面版vscode相同的开发体验。web-top
即是web桌面,目前仅支持xfce桌面,包含web-top
Editor的镜像创建出的容器具有桌面环境,否则为命令行环境(无法运行依赖桌面的程序)。
新建容器
创建一个可交互的虚拟机
根据需求选择镜像创建一个虚拟机,预定义了一部分镜像。如pytorch
镜像有多个版本,1.13_11.6_8
版本代表pytorch版本为1.13,cuda为11.6,cudnn为8.x版本。
我们以pytorch:1.13_11.6_8
为例创建一个容器。
-
单击右侧的新建容器,可以根据需要选择所需的资源,CPU核心数目前支持1-8核,内存支持1-16G,显卡支持0-5。分配的最终资源大小根据资源池中所剩资源可能会动态调整,实际资源浮动率在0.5-2倍,即在创建时指定8核,最多可能可以使用16核的资源,最低为4核的资源;内存同理。显卡资源为独占,不会动态调整。申请显卡资源数量大于1时,需要向管理员申请。用户可调配的默认资源数为1张显卡1个容器,即当创建第二个容器时,也需要管理员审核。
-
容器信息。创建完成后,可以在
容器列表
中看到容器的相关信息,当状态切换到运行中时代表容器创建完成,使用默认镜像创建通常1min内可以创建完成,需要用户点击容器列表
旁的刷新符号手动刷新查看最新状态。
-
访问Editor。当容器状态为运行中时可以点击
Editor
访问vscode,或Web-VNC
访问桌面。
3.1 web-top访问。单击Web VNC
直接点击连接无法连接到桌面,需要点击右侧齿轮图标设置URL
此处的值设置需要参考当前页面URL值,如下图红框部分。最终值为:红框部分值+/websockify
,以下图为例,值为:web-top/e37b1e82-6eb6-4ba6-874f-04909b5498fd/websockify
修改完毕后,点击连接,若提示无法连接服务器,请检查输入路径是否有误!
正常情况如下图所示:
输入密码为:WHU@123
,回车或单击Send Credentials
按钮,即可进入桌面。默认未安装显卡驱动和cuda,请自行安装。
3.2 code-server访问。
单击Editor即可访问code-server页面,但是受限于校园网内网环境,无https签名证书,部分功能(如图片和pdf浏览)可能受限,可自行下载自签名证书安装后使用,windows系统双击安装,其余操作系统请参考网络。
3.3 特殊目录介绍
/data
下有private
、public
、share
、user
目录
-
private:读写。私有空间,仅当前登录用户可见
-
public:只读。公共空间,存储管理员发布的资源,通常为样本
-
share:只读。用户共享空间,存储用户自发共享的文件(未实现)。
-
user:读写。私有空间,是private下的子集,为便利用户操作而独立出来。
各个目录下的二级目录代表数据源,目前有default
、nfs_ds1
、nfs_ds2
数据源
-
default:总大小20T。默认数据源,/data/user其实就是private空间下的默认数据源的链接。
-
nfs_ds1:总大小100T
-
nfs_ds2:总大小100T
!!注意:请使用/data/user
目录存储需要持久化的数据,如代码等,该目录下的数据在重建容器后仍然存在,否则数据与容器绑定,删除容器后丢失!!
4. 镜像管理
镜像来源分为管理员上传和容器保存。镜像即一个预搭建的虚拟机环境模板,可以根据模板创建出虚拟机。根据需要预先构建装有cuda、pytorch等环境库的镜像模板,直接构建容器,可以省去重复安装环境的麻烦。
新建镜像
从容器保存镜像,即在镜像创建容器后,通过Editor进入容器,安装修改环境后,将修改后环境保存的方案。
下面展示从容器保存镜像的流程:
-
在容器列表中,点击运行中容器的
保存为镜像
按钮 -
输入镜像名称和镜像版本号,描述为选填。镜像唯一id由
名称:版本号
组成,相同名称下的版本号唯一。
注1:如果容器修改内容较多,保存所需时间会较长,请耐心等待。
注2:挂载目录/data
指定目录下的数据并不会随镜像一起打包,而是创建容器后重新挂载。位于其他目录下的数据会随着保存镜像一起打包。如需发布成模型(模型参考第5节)的必须的数据不应置于/data
下的特殊目录中,否则创建模型时无法访问。
5. 模型发布(beta)
模型是用于执行非交互式任务(参考第6节)的工具,其本质也是镜像的一种,通过修改镜像的启动命令来达到执行任务的目的。
发布模型
即新建模型,根据修改镜像的启动参数来达到发布模型的目的。
-
点击镜像列表下的
发布为模型
按钮,输入模型的参数
-
输入参数。模型工作目录指通过模型启动任务时,运行程序位于哪个目录下,如果程序中包含相对路径,请仔细核对后填写,否则可能导致任务执行失败。模型执行命令指任务启动后,模型需要执行的命令,命令执行完毕后任务推出,故必须为阻塞式的。
-
命令参数。单击
+新增配置
后可填写额外的命令行参数,暂时只支持具名参数,例:python test.py --epoch 10
中--epoch 10
即为具名参数,目前仅支持--arg_name arg_value
形式的参数,类似-a 1
或者--xx
,xxx
,-xx
的参数可以直接填写到执行命令中。此处的参数项中只填写参数名,参数值用于后续用户使用时在任务创建时填写。参数提示名通常为参数的中文名称,会在使用模型时显示。
-
示例:
模型库
模型库中列举了当前用户创建的模型和公开的模型,可以单击配置修改用户创建的模型。
6. 任务管理(未完成)
任务是非交互性的,区别于容器。任务通过指定模型与数据,设置参数,实现自动化运行。
创建任务
单击创建后进入创建任务流程。
输入任务名称,选择类型,并配置相关资源。
选择数据集(可不选),仅作为标记,无论是否选择,数据集都会挂载到任务容器中。
选择模型,如果模型有参数,还需输入模型运行参数。
模型创建完成后,会创建相关容器用于运行任务,若模型进入运行流程,可单击右侧日志查看运行日志。
运行完毕后同样可以查看日志
结果用于提供用户下载任务产出数据,仍在开发中…
开发文档
1. 平台技术栈
前端
开发框架:vue3、vue-router
样式库:element-plus
后端
Web框架: Spring Cloud、Spring Cloud gateway
数据库:Mysql、redis
部署
集群管理:k8s
镜像仓库:harbor
服务配置中心:nacos
分布式文件系统:NFS