特性清单
- Donau Portal
- Donau Portal系统为用户提供统一的Portal,帮助用户管理HPC集群系统中的软硬件资源和提交的作业,更合理地进行作业调度和分配资源;并提供数据管理、远程可视化等功能,从而确保充分利用集群系统的计算能力。
- 系统管理
- 根据用户认证配置,同步本地用户、NIS用户、LDAP用户或AD用户至系统,支持同步LDAP用户组和创建、删除用户组及基于用户、用户组维度进行权限分配。
- 用户同步需要手动刷新,暂不支持自动同步。用户组不支持嵌套创建及对用户组内的用户进行二次赋权。
- 作业管理
支持普通后台作业、VNC作业提交以及作业挂起、恢复、终止、重启线下作业操作。
支持向第三方调度器提交作业。历史运行的作业信息列表显示,支持关键字筛选,支持列表刷新功能。
支持查看作业任务信息列表,支持关键字筛选,支持列表刷新功能。支持作业任务基本信息、高级信息查看。支持作业基本信息、高级信息、作业任务CPU使用与内存消耗监控查看以及作业工作目录展示跳转。
- 数据管理
- 支持单个和多个文件数据上传以及大文件(≤100G)断点续传。支持单个文件下载及类资源管理器形式展示文件、文件夹,实现用户之间权限隔离。支持增、删、改、查、复制、粘贴、解压、压缩等文件、文件夹操作;支持txt文件在线检查。支持将数据文件与仿真应用或作业模板关联,并通过双击的方式打开。支持多集群数据传输。
- 应用仓库管理
- 根据仿真应用执行脚本,将仿真应用集成至本系统,对外以表单形式呈现;支持智能模板集成。根据远程应用执行脚本,将Linux远程应用集成至本系统;支持数据文件与应用模板关联。根据远程应用执行脚本,将Windows远程应用集成至本系统。支持所集成仿真应用测试,根据返回结果确保所集成应用正确可运行。支持发布、取消发布、另存、删除所集成的应用和远程应用。
- 3D远程应用
- 支持在web端直接打开远端Linux/Windows server上已部署的应用。
支持以连表形式显示当前所有active会话;支持手动断开一个已创建的远程会话及闲置会话自动释放。
支持以用户维度限制使用会话的数量。
支持通过随机算法选择可视化节点。
- 通知管理
- 当作业状态变化时,将推送通知。根据推送通知上的Job id,可以查看作业详情。支持接收多个异构集群的作业通知。显示上传、下载数据进度。
- 集群监控
- 支持通过编辑配置文件的方式创建监控项及包含多个监控项的仪表板。支持监控硬件资源的CPU/GPU/内存/临时分区/交互分区的使用率及监控节点资源占用率。支持监控CNP收发包数/PFC收发包/网卡收发包/丢包重传数。支持集群中运行作业的数量/提交作业数量监控。支持集群中结束作业的数量按状态监控。
- 集群分析
- 支持通过编辑配置文件的方式创建多维度报表及包含多报表的仪表板。支持导出查看中的报表和图表数据(CSV文件)或快照(PNG文件)。支持分析硬件资源的CPU/GPU/内存/临时分区/交互分区的使用率及分析节点资源占用率。支持以时间/作业状态/集群/用户组/用户/队列/应用等维度分析活动作业的作业数/内存/临时分区/交互分区/运行时长/CPU使用时长/系统使用CPU时长/用户代码使用CPU时长等信息。支持以时间/作业状态/集群/用户组/用户/队列/应用等维度分析结束作业的作业数/内存/运行时长/CPU使用时长/等待时长等信息。
- 资源计费
- 支持按照用户权限查看所在租户或部门的账单详情,导出账单数据(CSV文件)或账单快照(PNG文件)。支持展示本年全年资费趋势及创建、编辑和删除资费策略。
- 数据采集
- 支持收集Donau Scheduler已完成作业数据、集群服务器数据、集群核心数据以及采集脚本数据。
- Donau Scheduler调度器是HPC(High-performance computing)软件栈中的核心组件,它主要功能是管理用户的集群资源,接收并管理用户作业,把用户所包含的计算任务按照一定的规则调度到合适的集群资源上执行。
- 根据用户认证配置,同步本地用户、NIS用户、LDAP用户或AD用户至系统,支持基于用户和用户组维度进行权限分配。不支持对用户组内的用户进行二次赋权。支持License导入与License文件合法性检查。支持手动激活License,手动对License进行失效,获取失效码,用于License重新申请流程。支持查看License使用信息,License过期前预警提示及License过期或者无效时,定时提示用户License已过期。支持设定access token、refresh token过期时间以及查看是否开启refresh token。
- 作业提交:
支持HPC作业常见参数(作业名称、用户组、作业执行时长、用户所属队列、作业执行命令、作业描述信息、作业被调度时间、作业的任务副本数、环境变量、输入输出重定向、用户所属部门、重定向日志路径、任务执行路径)的提交。支持设定作业间依赖、作业优先级、运行时资源限制、作业执行前/后的pre/post Hook、作业/任务失败重试次数、作业/任务超时时间。支持提交作业时指定计算节点的标签、资源需求、CPU和内存绑核要求。支持普通串行作业、MPI并行作业(包含openmpi、hmpi、mpich、intelmp和cosched作业类型)、数组作业、阻塞和交互式作业。支持单个/批量作业提交以及以脚本形式提交作业。作业控制:
支持作业或任务恢复/批量恢复,挂起/批量挂起,终止/批量终止,重启/批量重启;支持作业重新提交/批量重新提交。
支持控制操作时提交注释操作原因等,可以与任意控制命令配合使用。作业查询:
支持Job或Task简要信息、详细信息、指定字段信息、自定义字段查询以及支持查询任务pending的详细原因。 支持通过Job ID、作业名、用户名、用户组、队列、account、时间、状态选择过滤作业。 支持通过task Index、执行节点、task状态选择过滤task。支持同时对Job和Task简要信息、详细信息、指定字段信息、自定义字段进行复合查询。 支持通过Job ID、用户名、用户组、队列、account、时间、执行节点、状态选择过滤作业和Task。支持作业或任务数量过多时分页查询和指定页码/数量的作业或任务信息查询;支持长/宽格式输出、Json格式输出与帮助信息查询。作业调度:
支持FIFO、Gang Scheduler、Fairshare、抢占等调度策略;支持CPU-Memory亲和调度。支持鲲鹏/昇腾/x86服务器,CPU/Memory/GPU/昇腾加速卡/自定义资源等多维资源调度。支持多资源池,基于负载并以CPU/Memory/GPU粒度或节点粒度动态分配资源的策略;支持跨资源池资源借用。支持随机、按照注册顺序、最多可用资源、指定标签选择节点的候选节点选择策略。支持基于集群最大可运行作业数目、队列/部门/用户最大调度数量限制、用户最大pending数量限制等调度Limit设置。支持概要、详细pending reason调度决策信息设置。支持开启或关闭某个调度阶段;支持以高调度效率为目的、或以资源公平分配为目的和以下发最大作业数为目的调度阶段设置。作业执行:
支持串行、并行、MPI、数组、阻塞和交互式作业启动。支持指定报周期;支持基于Cgroup收集Task资源消费信息;支持收集作业运行时长/CPU使用时长/平均Memory/峰值Memory等信息;支持作业运行守护进程。支持基于CGroup设定memory limit与作业继承系统limit。支持配置全局生效的Pre/Post Hook;支持指定失败重试次数,设定执行超时时长,Pre Hook失败节点黑名单。MPI并行作业支持Job Level的Pre/Post Hook,非MPI并行作业支持Task Level的Pre/Post Hook。支持输出作业基本信息和运行数据到用户指定的输出文件或Post Hook运行阶段;支持标准错误信息回传的作业结果上报。
- 集群资源信息管理:
支持queue简要信息和详情查询与queue自定义配置。支持Node简要信息和详情查询:名称/CPU总数/CPU可用数量/CPU拓扑/Memory总数/Memory可用数量/swap/tmp/1分钟CPU load average/GPU/节点存储信息/节点上的作业数量统计/标签/自定义资源。支持Node开启与关闭,以及针对开启关闭设置原因;支持节点memory使用阈值定义,基于节点配置自定义资源;支持增、删、改、查节点标签与删除节点;支持手动/自动休眠唤醒空闲节点。支持查询指定用户的作业统计信息与自定义用户配置;支持用户同步配置实时生效;支持动态为用户授予作业、节点、队列管理权限;支持查看整个Cluster的多维度统计信息;支持查看account简要信息/详细信息与自定义部门配置。支持account、资源池、资源池资源分配策略在线化配置。Job生命周期数据管理:支持配置实时数据保存的最长时间、历史数据保存的最长时间,配置归档数据保存的最长时间。支持定义外放的数据类型、外放数据文件的存储位置以及包含的数据类型。
- Hyper MPI基于Open MPI,结合Open UCX P2P点对点通讯框架开发,专为集合通讯的UCX COLL、UCG优化框架,并在该框架中实现了优化算法加速库。具有高性能、大规模性和可移植性,以支持制造、气象、政府HPC场景的解决方案,其长远意义在于构建以鲲鹏服务器为硬件基础的高性能计算生态。
- MPI_AllReduce
- MPI_Allreduce是MPI组规约函数。Allreduce将各个独立进程中的send buffer进行某种数学的(如:加法或者乘法)或者逻辑的(如:求逻辑与、逻辑或)运算,然后将结果同步到通信域内所有进程的receive buffer中。目前支持以下算法:算法1:Recursive doubling。算法2:Node-aware Recursive + Binomial(intra),支持节点拓扑感知Recursive+BinomialTree算法。算法3:Socket-aware Recursive + Binomial(intra),支持Socket拓扑感知Recursive+BinomialTree算法。算法4:Ring,支持大包allreduce加速。算法5:Node-aware Recursive + K-nomial (intra),支持节点拓扑感知Recursive+K-nomialTree算法。算法6:Socket-aware Recursive + K-nomial (intra),支持Socket拓扑感知Recursive+K-nomialTree算法。算法7:Node-aware K-nomial,支持节点拓扑感知K-nomialTree算法。算法8:Socket-aware K-nomial,支持Socket拓扑感知K-nomialTree算法。算法11:Node-aware Parallel,基于节点感知的分组并行加速算法。算法12:实现基本的Rabenseifner算法。算法13:Node-aware Rabenseifner,支持节点感知的Rabenseifner算法。算法14:Socket-aware Rabenseifner,支持Socket感知的Rabenseifner加速算法。仅算法1支持非连续数据结构和非对易操作。
- MPI_Barrier
- MPI_Barrier是MPI同步函数,其作用是:该通讯域中全部进程进行同步操作,即保证进程调用函数后具有良好的同步性。支持以下算法:
算法1:Recursive,支持Recursive doubling算法,加速Barrier集合操作。算法2:Node-aware Recursive + Binomial(intra),支持节点拓扑感知Recursive+BinomialTree算法。算法3:Socket-aware Recursive + Binomial(intra),支持Socket拓扑感知Recursive+BinomialTree算法。算法4:Node-aware Recursive + K-nomial (intra),支持节点拓扑感知Recursive+K-nomialTree算法。算法5:Socket-aware Recursive + K-nomial (intra),支持Socket拓扑感知Recursive+K-nomialTree算法。算法6:Node-aware K-nomial,支持节点拓扑感知K-nomialTree算法。算法7:Socket-aware K-nomial,支持Socket拓扑感知K-nomialTree算法。算法10:Node-aware Parallel,支持节点感知的并行加速算法。算法3、4、5、6和7不支持PPN不均衡,算法6和10不支持Rank不连续。
- MPI_Bcast
- MPI_Bast是MPI广播操作函数,root进程将buffer中的信息发送给通讯域内其余进程,使得所有进程获取相同的信息。目前支持以下算法:算法2:Topo-aware Binomial tree,支持拓扑感知的Binomial tree算法。算法3:Topo-aware K-nomial tree,支持拓扑感知的K-nomial tree算法。算法4:Topo-aware K-nomial tree + Binomial tree(intra),支持拓扑感知的K-nomial tree + Binomial tree算法。以上算法均支持不连续数据结构,算法3和4不支持PPN不均衡和Rank不连续。