跳到主要内容
版本:FCP 24.05

任务模板

“应用中心”的核心价值在于将复杂的调度器命令行操作或者脚本编写操作简化为图形界面操作,使得新用户能够以尽快的速度开始使用HPC平台,降低使用门槛。因此任务管理提供了灵活的任务模板自定义能力,高级用户/管理员设定模板后,普通用户可以通过任务向导完成HPC任务的提交和管理。

权限

  • 管理员:管理员不论是否设置应用中心的权限,可以管理平台中所有应用的权限,且拥有分配普通用户创建应用的权限。管理员拥有平台中所有应用的创建权限,管理员分配普通用户使用应用的权限。
  • 普通用户:为普通用户设置应用读权限和应用写权限后,普通用户就会拥有创建应用的权限。普通用户仅能管理自己创建的应用。

应用中心的两种运行模式

  • 基于CWL的任务模式

这是Fastone软件栈一直提供的任务模式,通过 Common Workflow Language(CWL)语言定义任务的运行流程。此模式中,基于 cwl 的任务模板的编写需要在Fastone支持团队的帮助下完成。

适用场景:生命科学领域的复杂工作流任务,云端随任务创建/销毁集群的任务。

  • 直接面向调度器的任务模式

此模式在 24.03 版本中首次推出。目的是提供更符合CAE等传统HPC场景下的用户使用习惯的任务模式。这个模式简化了任务的调度过程,适用于非工作流任务或关心调度器任务信息的场景。在这个模式中,任务模板的编写可以参考本文档完成。

适用场景: CAE等传统HPC领域的单job任务,关心调度器相关状态的任务。

两种运行模式的功能对比如下:

基于 CWL 的任务模式直接面向调度器的任务模式
任务描述语言CWLFastone自定义Yaml格式
任务调度流程基于工作流的二级调度直接调度至调度器的作业
随任务创建动态集群支持(仅限FCC-E资源池)不支持
任务状态显示展示CWL工作流状态展示调度器主任务状态
多步骤工作流支持在CWL层面支持定义多步骤任务支持在任务脚本中定义多步骤工作流
shell脚本模板无直接支持原生支持
参数联动不支持支持联动调度器相关指标(CPU/分区等参数)

任务模板语法

注:此语法仅限“直接面向调度器的任务模式”下使用

parameters: # 参数列表, 可能有多个
- name: param1 # 取值范围: [a-zA-Z0-9_]
display: 显示名称 # 界面显示用的名称
description: 描述 # 用于生成帮助文档
type: 类型 # INT | FLOAT | PATH | ENUM | STRING | BOOL | INT_ARRAY | FLOAT_ARRAY | PATH_ARRAY | ENUM_ARRAY | STRING_ARRAY | BOOL_ARRAY | SYSTEM
required: bool | expr # 该参数是否为必填参数, 默认是false
usage: 用途 # SCRIPT | SCHEDULER, 默认为SCRIPT
schedPrefix: 前缀 # 如果是SCHEDULER类型, 则会在前缀后面加上参数值
visibility: true | false | expr # 是否可见, 默认为true, expr 见下
option:
enum: # 当type为enum时, 用于定义可选值
- value: 值 # 实际值
display: 描述 # 展示用
path: # 当type为file时, 用于定义文件类型
pattern: 过滤 # 文件名过滤, 缺省时不过滤
directory: bool # true | false, 是否为目录
float:
min: 最小值 | expr # 不存在时不限制
max: 最大值 | expr # 不存在时不限制
int:
min: 最小值 | expr # 不存在时不限制
max: 最大值 | expr # 不存在时不限制
string:
pattern: regex # 过滤用正则表达
outputs: # 用于展示的输出
- path: xxx/xxx/output.file # 文件名过滤, 缺省时不过滤
type: 类型 # TEXT | IMAGE | VIDEO | AUDIO | FILE
script: |-
#!/bin/bash
# 脚本内容
echo {{ param1 }} # 引用参数param1

创建应用

创建应用的流程是:CWL流程工具 -> 安装应用 -> 应用运行脚本 -> 页面执行任务。点击“创建”按钮,即可进入应用的添加流程,如下图所示。

访问控制

管理员为普通用户分配应用使用权限

举例:为普通用户【test】分配新建【vina】应用的权限,前提是普通用户【test】拥有新建任务的权限

步骤一:点击访问控制

步骤二:弹出权限设置对话框,输入需要分配权限的用户名【test】,点击回车。将读写权限都勾选上,点击确定,为普通用户分配了新建【vina】应用的权限

步骤三:查看【test】用户,可以新建【vina】应用

关联集群

默认情况下,应用不关联任何集群

点击关联集群,则显示未关联的集群列表和已关联在集群列表,新建任务选择此应用时,当选择现有集群运行任务时,只展示在已关联的集群列表中的“运行中”和”更新中“状态的集群,如果用户对所有配置的关联集群均没有访问权限,则显示为空

未关联集群列表:自动过滤释放中和已释放和错误的集群

已关联集群列表:自动过滤释放中和已释放和错误的集群

  • 如果没有配置关联集群,则保持目前配置不变,通过新建任务-选择应用进去之后,选择静态集群时,可以查看到当前用户有权限的所有集群
  • 如果应用中配置了关联集群,支持配置1个或者多个,通过新建任务-选择应用进去之后,选择静态集群时,仅可以查看到应用中指定的集群,如果用户对所有配置的集群均没有权限,则显示为空

权限说明:

admin和管理员角色的用户可以关联集群操作,普通用户无权限且看不到关联集群按钮